TiDB在平安核心系统的引入及应用.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《TiDB在平安核心系统的引入及应用.pptx》由用户(无敌的果实)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- TiDB 平安 核心 系统 引入 应用
- 资源描述:
-
1、iDB在平安核心系统的引入及应用()目录分布式数据库TiDB的引入TiDB应用实战未来规划1分布式数据库TiDB的引入TiDB引入POC:基于2.0版本应用场景测试功能与架构01060504 03SQL特性基准测试02备份与恢复配置与管理TiDB 功能与架构Item事务隔离事务隔离级别级别TiDBSI分为TiDB server,pd组件组件/架构架构server,Tikv server,需要分别部署接口协议接口协议 mysql客户端客户端数据库字数据库字符集符集mysqlUTF8MB4存储存储kvRocksDBRocksDB最小单位最小单位 region复制协议复制协议 raft应用场景应用场
2、景 OLTP,OLAP服务支持服务支持 国内,社区TiDB SQL特性ItemUNSIGNED INTTypeTiDBCommon ExtensionSET, ENUMMySQL, PostgreSQLExtensionrow valueConstraintsTransactionsCheckStandardStandardForeign KeySAVEPOINTMultiple indexes per query Common ExtensionIndexesFull-text indexesCommon ExtensionIndex renamesCHANGE/MODIFY COLUMNS
3、tandardStandardschema changesUPSERTPostgreSQL, MSSQLStatementsClausesExtensionRETURNINGCommon ExtensionTiDB SQL特性ItemTypeTiDB说明Table and ViewreferencesStandardRoadmap 支持Table Expressionstable partitionStandardRoadmap 支持Matching using POSIX Common Extensionregular expressionsValue Expressions andBool
4、ean FormulasPermissionsroleStandardCommon ExtensionRoadmap支持Roadmap支持Common TableMiscellaneousExpressionsStored ProceduresAggregate functionCommon ExtensionCommon ExtensionPartialEncryption /decryption mysql ExtensionandCompression functionfunctionwindow functionpostgreSQL,MSSQL,oralceExtensionRoadm
5、ap支持json ,jsonbPartial配置与管理测试TypeDMLTiDB说明查看数据库,表等对象大小在线添加列是否锁表TiDB DDL自动提交且不成回滚,不锁表不支持事务schema 对象在线更改列名是否锁表TiDB语法上支持,功能上暂不支持列重命名表重命名统计信息查看,收集与管理kill DML 场景1:普通 selectkill DML 场景2begin;mit事务当开启事务t1(insert 语句)后,另一个会话查不到t1 的相关会话,这个时候如果另起一个窗口发起一个查询 s1 select count(*) 这时查询一直在exec 状态,在发起一个cancel s1,发现can
6、cel 不了,查询query 信息还是executing 状态,如果commit/rollback t1, s1 结束,提示已被cancel会话管理kill DDL节点添加节点删除RBO集群管理SQL 优化器CBO备份与恢复备份、恢复方式DB工具功能是否开源说明备份/还原1.数据导出:mydumper/loader是数据库总大小:150G导出时间:1分钟,导出设置:(线程16,chunk64M)导出格式:sql,多个sql文件导出数据大小:64G2.恢复: 数据同步: 同步TiDB 集群数据到其他数据库TiDB-Binlog 实时备份和恢复: 备份TiDB 集群数据,同时可以用于TiDB 集群
7、故障时恢复是全备,增备从mysql 到tidb 增量同步数据,TiDB备份数据文件大小:64Gsyncer是是表个数:32表数据库量:1.05千万Loader 并发数:64恢复时间:1h:44m: 21s全量数据高速导入到 TiDB 集群的工具,支持 mydumper 或 CSV 输出格式的数据源恢复所有数据TiDB-Lightning2.1 版本后才发布基准测试基本信息:TiDB 版本:2.0.0测试工具:Sysbench 版本:1.0.12并发数:1200基础数据:32个表/1千万环境信息:Ti D B 压力测试架构(一)appLoad Bal ancerHapr oxyTi DBPDTi
8、 DB集群PD集群Ti DBPDTi DBPD主机主机cpuprocessor MemoryDiskRa f tRa f tRa f tRa f tIntel(R) Xeon(R) CPU E5-2640v4 2.40GHzIntel(R) Xeon(R) CPU E5-2640v4 2.40GHzIntel(R) Xeon(R) CPU E5-2640v4 2.40GHz主机主机1主机主机2主机主机324c24c24c251G251G251GssdssdssdTi KV集群Ti KVTi KVTi KVHost 1Host 2D C 1Host 3测试架构:部分图例说明:主机 组件数据同步集
9、群存储节点基准测试单条SQL性能测试数 TiDB执行时DML说明备注1:模拟分析排名函数Oracle/Postgresql:SELECT id, k, c, rank()OVER (PARTITION BY kORDER BY k) AS rn FROMsbtest1 ORDER BY k, 4LIMIT 20 offset 2000;TiDBselect b.id, b.k, b.c, if(k= b.k, rank := rank +1, rank := 1) as rankfrom (select id, k, c fromsbtest1 order by k ) b,(select r
10、ownum := 0,k := null, rank := 0) aorder by k,4 limit 20offset 2000;据量间(s)selectcount(*)1千万1千万2与oracle 相近insert1001insert into事务太大,报错transaction is too large toselect from1百万nacommitTiDB在delete时报错transaction is too large todelete1百万nacommitdeleteupdate15w10万109.4update tbtest3 set k=1 where 1=1;SELEC
11、T id, k, c FROM test.sbtest1 LIMIT 20OFFSET 200000;分页查询模拟分析函数排名1千万1千万1.55备注119.27基准测试sysbench测试TiDB read writeTiDB read only2000015000100005000010008006004002000500004000030000200001000003500300025002000150010005000ThreadsThreadstidb_qpstidb_tpstidb_qpstidb_tps基准压力测试sysbench测试Tidb point selectTiDB u
12、pdate index120001000080006000400020000700006000050000400003000020000100000Threadsthreadstidb_tpstidb_qpstidb_tpstidb_qps基准压力测试sysbench测试TiDB update non indexTiDB delete2000015000100005000050000400003000020000100000ThreadsThreadstidb_qpstidb_tpstidb_qpstidb_tps基准压力测试sysbench测试tidb insert1400012000100
13、0080006000400020000tidb_tpstidb_qps应用场景测试产险xxxx查询分析场景测试基表信息(8个表)SQLSelect c1 c2,c3, c4,c5,c6 (select .fromxxxxx1_ p1 where ) a1,(select count(0) from xxxxx2_ cs,xxxxx3_ dp) a2,表名表名rowsxxxxx_mode399139,198xxxxx_price_operxxxxx_dept_pricexxxxx_fits.(16 select)此处省去 个4,457,797145,5941,415222from xxxxx_b
14、randxxxxx_manufacturer b,xxxxx_series c,xxxxx_category_series dWherea,xxxxx_seriesXxxxx_facturerxxxxx_categoryxxxxx_brand1,902228应用场景测试DB时间时间优化后优化后备注备注oracle134.8sn/a执行时间超过10分钟(默认值),报gc life time 小于事务,需要更改这个值才可以执行完,优化点:从TiDB引擎底层优化执行计划TiDB49分35秒34S小结应用场景测试功能与架构TiDB事务隔级别为SI ,支持Spark生态,支持动态扩容,跨数据中心部署支持
15、标量子查询,能支持非常复杂的查询,查询引擎可朔性强SQL特性01基准测试TiDB在单条SQL的性能较好,高并发场景下,性能较稳定,060504 03兼容mysql语法,2.0版本不支持窗口函数,分区表,视图,trigger等02但DML事务大小有限制。备份与恢复配置与管理备份恢复工具均为开源,支持多线程备份恢复,当前版本不支持物理备份,loader 恢复时间偏长支持在线DDL,2.0只支持串行的DDL,在优化器上支持CBO ,可以支持复杂的SQL2TiDB应用实战平安财神节活“暖宝保”业务业务需求 压力测试遇到的问题活动背景0401020301 活动背景平安“财神节”活动:“财神节”是中国平安
16、综合性年度线上金融狂欢节。2019年平安集团“财神节”活动于2019年1月8日正式启动,涉及寿险,产险,银行,养老险,健康险,普惠,证券,基金,健康互联,陆金所,壹钱包,互娱,不动产等多个领域,活动参与的BU数量,与推广的力度是历年之最。中国平安108财神节成绩单:“1.08单日成交额超过1000亿”单日交易额破千亿背后:几百个后台数据库实例的运维保障。平安财神节活“暖宝保”应用场景02 业务需求活动时间 : 2019年1月8日业务类别:以微服务的方式对接所有的个财个意互联网出单,包括移动app端、各种合作伙伴对接出单业务场景 : 秒杀、红包雨性能要求:需要支持高并发、低延迟,高响应(可能会存
17、在短时间的高峰),高可用,预估TPS:1000次 insert/s 、4000次 select/s 、 2250次 update/s ,TPS 延迟200ms系统级别:产险一类出单系统数据增长:一年存储量10TB,后续增长预估按照一年10TB增加,数据需在DB中保存25年,预计需在DB中保存2050TB的应用数据注:业务中保单价格低至19.9 元,且是互联网应用,业务反馈TPS存在不确定性,可能远远大于以上评估值!DBA眼中的业务需求 并发量高,响应时间快,低延迟01? TPS需求存在不确定性,数据业务需求数据库特性库层要求能按需求快速弹性扩容数据库03 数据库存储的容量大,同时需支持TP,A
18、P业务数据库画像Type数据库数据库弹性扩容弹性扩容TPYAPY开源开源oracleNNNNYNYPostgreSQLMySQLYYSQLYNYYSQLserverMysql +中间件MongodbHbaseYNYYNNNYYYYNoSQLYYY分布式数据库分布式数据库时序数据库时序数据库内存缓存内存缓存TiDBYYYInfluxDBRedisYN/AN/AYYYYN/AYY内存数据库内存数据库TimestenNeo4jNYNY图数据库图数据库MPPYNYYellowBrickNYN使用TiDB挑战时间紧迫开发零使用经验并发量与扩容DB运维管理2018年12月17日2019年1月7日,20天时
19、间内完成开发测试到生产上线,时间短,风险大互联网业务并发需求前期不可完全需求,前期不能很好的以实际压力进行测试,与资源准备TiDB还处于生产落地阶段,一类系统尚未使用过TiDB,没有大规模应用运维经验现有开发大都是基于传统oracle保险业务,对于TiDB没有使用经验03 压力测试测试工具:jmeterTiDB 数据库版本:2.0.10业务场景:jmeter 直连DB,测试保单读写应用场景DB主机环境信息Ti D B 压力测试架构(一)app主机主机host1host2cpu24c24c24cmem384G384G384GdiskSSDSSDSSDSSDNg i nxTi D BPDTi D
展开阅读全文