TiDB 申砾-TiDB 在金融行业的创新实践

谬雪珊

2018/05/13 发布于 技术 分类

申砾,TiDB 研发负责人,前网易有道词典服务器端核心开发,前奇虎 360 新闻推荐系统 / 地图基础数据与检索系统 Tech Lead。PingCAP的工程部副总裁。2017年6月参加GITC 2017全球互联网技术大会上海站,7月参加Gdevops-2017全球敏捷运维峰会-上海站。

文字内容
1. GOPS 全球运维大会 2018 2018.4.13-4.14 中国·广东·深圳·南山区 圣淘沙大酒店(翡翠店) GOPS 全球运维大会2018·深圳站
2. TiDB 在金融行业的创新实践 申砾 PingCAP 工程副总裁 GOPS 全球运维大会2018·深圳站
3. 关于 PingCAP • 2015 年成立 • 100+ 员工 • 北京、上海、广州、硅谷 • 专注于分布式数据库研发 GOPS 全球运维大会2018·深圳站
4. 目录 1 TiDB 介绍 2 TiDB 核心特性 3 为什么适用于金融业务 4 典型应用场景 GOPS 全球运维大会2018·深圳站
5. TiDB 介绍 • 分布式关系型数据库 • 核心 100% 开源 • 多行业广泛使用 • 2.0 版本 • 100% 开源 GOPS 全球运维大会2018·深圳站
6. GOPS 全球运维大会2018·深圳站
7. 整体架构 GOPS 全球运维大会2018·深圳站
8. 分布式 Key-Value 引擎 GOPS 全球运维大会2018·深圳站
9. 分布式 Key-Value 引擎 • RocksDB 引擎 • Raft 协议 • 分布式事务 • 负载均衡调度 • 计算下推单元 GOPS 全球运维大会2018·深圳站
10. 动态分裂/合并 GOPS 全球运维大会2018·深圳站
11. 自动负载均衡 GOPS 全球运维大会2018·深圳站
12. SQL 引擎 • MySQL 协议层 • 查询优化器 • 分布式执行框架 • 无锁 DDL GOPS 全球运维大会2018·深圳站
13. SQL 引擎 GOPS 全球运维大会2018·深圳站
14. 目录 1 TiDB 架构介绍 2 TiDB 核心特性 3 为什么适用于金融业务 4 典型应用场景 GOPS 全球运维大会2018·深圳站
15. TiDB 核心特性 • 水平扩展 • 高可用 && 强一致 • 分布式事务 • SQL && MySQL 协议 • OLTP + OLAP = HTAP • Cloud Native Database GOPS 全球运维大会2018·深圳站
16. 水平扩展 • 完全透明 • 存储 && 计算 • 自动负载均衡 • 扩容 && 缩容 • 完全弹性 GOPS 全球运维大会2018·深圳站
17. 高可用 && 强一致 • Raft 协议 • 多副本 • 强一致 • 自动故障恢复 • 无单点设计 GOPS 全球运维大会2018·深圳站
18. 分布式事务 • ACID Transaction • 全局读写一致性 • 优化的两阶段提交 • Snapshot Isolation GOPS 全球运维大会2018·深圳站
19. SQL && MySQL 协议 • 完整 SQL 支持 • MySQL 协议兼容 • 分布式 SQL 引擎 • 查询优化器 GOPS 全球运维大会2018·深圳站
20. HTAP • 强大的联机交易能力(OLTP) • 实时分析能力(OLAP) • 混合负载调度 • TiSpark • ETL Free! GOPS 全球运维大会2018·深圳站
21. Cloud Native Database • K8s 集成 • 低成本运维 GOPS 全球运维大会2018·深圳站
22. 目录 1 TiDB 架构介绍 2 TiDB 核心特性 3 为什么适用于金融业务 4 典型应用场景 GOPS 全球运维大会2018·深圳站
23. 数据可靠性 • 无单点 • 多副本 • 强一致复制 • 跨机架/数据中心灾备 GOPS 全球运维大会2018·深圳站
24. 高性能 • 线性水平扩展 • 弹性伸缩 • 自动数据均衡 • 自动热点调度 GOPS 全球运维大会2018·深圳站
25. 分布式 SQL 引擎 • 无需中间件 • 透明的分布式 SQL • 无需业务妥协的分布式事务支持 • 传承单机 SQL 数据库的友好和易用 GOPS 全球运维大会2018·深圳站
26. 兼容性 • MySQL 协议 • 易用性 • 低成本迁移 • 丰富的驱动/工具支持 • DBA 经验复用 • 配套工具 GOPS 全球运维大会2018·深圳站
27. 部署运维 • 一键部署 • 在线滚动升级 • 便捷的扩容 • 监控 && 告警 • K8s + 云平台 GOPS 全球运维大会2018·深圳站
28. 严格的测试 • 单元测试 • 集成测试 • 性能测试 • 混沌测试 • 形式化验证 TLA+ GOPS 全球运维大会2018·深圳站
29. 业界广泛应用 • 800+ 试用客户,200+ 线上用户 • 互联网、游戏、金融等多行业 • 多场景验证 • 成熟度快 GOPS 全球运维大会2018·深圳站
30. 目录 1 TiDB 架构介绍 2 TiDB 核心特性 3 为什么适用于金融业务 4 典型应用场景 GOPS 全球运维大会2018·深圳站
31. 金融行业典型应用场景 • 营销平台 • 在线交易 • 在线支付 • 移动支付 • 在线信贷 • 账户账务 • 财务分析 • 实时风控 • 金融征信 • 区块链 • 金融数据云 GOPS 全球运维大会2018·深圳站
32. 1. OLTP - 互联网金融:营销活动平台 业务背景 痛点 某商业银行开展直销银行的业务,依托互联网开展各种金融产品和服务的直销业务。通过其营 销平台完成广告,承揽,交易和客服闭环。营销平台的重要功能之一就是支持业务方开展各种 营销推广活动。如针对客户的各种促销,商户联合的推广等。营销活动平台承担营销推广中各 种在线的短时高并发交易,并结合实时数据分析技术跟踪和分析目标用户群参与活动的各项业 务分析指标。 短时高峰交易到来时,接入和中间件层可以通过负载均衡快速扩容,而整体的性能瓶颈频繁出 现在数据库端。而目前采用的 MySQL 主从复制+ MyCAT 中间件分片的架构,无法动态扩容, 且中间件本身的性能和可靠性问题在几次高峰时给业务带来了严重的问题。预估在未来几个月 内,随着营销业务覆盖面增加,短时高峰活动的访问并发将从当前的8万/小时,增加到12万/ 小时。用户方迫切寻求更好的数据库集群方案。 解决方案 ● 面向业务应用侧,完全采用了兼容 MySQL 的协议,应用迁移低成本,低风险,且迁移 周期极短,满足了用户的周活动间隔的变更窗口要求。 ● 完全透明的分布式架构,用户不用在架设中间件,也无需考虑分库分表/数据路由问题, 数据库端容量和性能完全实现线性扩展。 ● 一键式的在线扩容和缩容,活动高峰前/中/后阶段,均可以灵活的高度自动化的调配 资源进行适配。 ● 强壮的高可用设计,没有单点故障的架构保证营销活动的顺利开展。 GOPS 全球运维大会2018·深圳站
33. 2. OLAP - 风控:实时风控 业务背景 某大型互联网金融企业的互联网平台,提供理财,信贷和保险相关的金融产品和服务,需要风 控管理平台。 痛点 原有的风控数据由业务系统产生后,导入到 Hive/Hadoop平台,但 Hive 的实时性能力完全不 能满足信贷业务风控检索和计算的要求,因此被迫执行 T+1 的方式提供前端各类风控数据消费 者应用查询。T+1 模式对于信贷产品的推广和销售以及用户体验上带来了负面影响。 解决方案 ● 风控数据通过消息中间件双写 Hive/Hadoop (历史库/历史分析) 和 TiDB (实时库/实时 查询分析) ● TiDB 的分布式存储引擎架构,非常轻松的应对海量风控数据的导入,存储和查询处理。 风控库内主要的核心表数据量规模在 50亿以上。 ● TiDB 的分布式 SQL 引擎层,可以高性能的为前端各类消费端提供低延迟的精准查询。 ● TiDB 的完整的标准 SQL 关系模型支持,方便了风控业务开发团队建模和业务侧的应用 开发。 GOPS 全球运维大会2018·深圳站
34. 3. OLTP - 支付业务:在线/移动支付 业务背景 痛点 某大型第三方支付企业,逐渐将面向互联网在线支付和移动端支付的核心数据库平台,从小型 机 + DB2 平台逐渐迁移到了 MySQL 集群上以解决迅速增长的支付交易业务。 初期采用业务侧分库分表的方案,利用 MySQL 的主从复制建立了8-10 对数据分片组。近年开 始通过与外部厂商的研发合作,架构迁移到了自研的 MySQL Proxy上。集群日均TPS/QPS 在 3万/8万 的规模。 1) 无法很好支持分布式事务以及跨库 JOIN,目前解决方法是在应用侧进行调整适配,业 务支持非常不灵活。 2) 移动端支付交易反映在使用 Proxy 架构后,交易延迟 Latency 大幅度上升,虽经过多 种优化,效果理想。 3) Proxy 自身的性能瓶颈和安全性得不到保障,目前采用多个 Proxy互备方案,Proxy 无法多节点并行服务。 解决方案 ● TiDB 的核心设计就是一个完整的强一致性关系数据库,支持完整的分布式事务。事务 问题在在 TiDB 架构上完全不存在问题。用户可以像面对一个单机数据库那样执行和管 理自己的事务操作,解放了业务开发团队。 ● 由于不需要数据库中间件层,因此没有额外的延迟指标损耗,TiDB 表现出了良好的对 移动端支付交易的性能支持。 ● TiDB 有一个完善的分布式 SQL 层,业务通过负载均衡器,可以并行访问多个 SQL 节 点,彻底解决了接入层高可用和性能横向扩展的问题。 GOPS 全球运维大会2018·深圳站
35. 4. OLAP - 业务经分:财务分析平台 业务背景 某知名金融科技企业,通过先进的技术手段和服务方式,利用云计算和大数据/机器学习等先进 技术手段,打造和运营在线融资平台,为进一步提升业务竞争力,开发基于后端财务系统相关 的财务分析平台,通过自动化的数据分析手段,为在线财务分析人员提供实时和精准的财务运 营指标分析和报表等相关服务。 痛点 财务数据库每天有大量新数据产生和数据更新,采用 MySQL 主从集群作为主要的数据库方 案。MySQL 集群对海量数据写入/更新能力表现随着业务和数据量规模扩大明显下滑。同时 通过技术验证,在现有 MySQL 数据库集群上,无法提供实时的分析型业务支持能力,尤其 是比较复杂的 OLAP Query。 解决方案 ● 使用 TiDB 主集群替换原有 MySQL 集群方案,大大提升了横向扩展能力和性能。 ● 业务无需数据库中间件,业务应用的开发和维护难度大大降低,运维成本也大幅度降低。 ● TiDB 主集群采用 TiSpark 解决方案,提供为解决复杂 OLAP 的实时分析型业务支持。 ● 使用 TiDB-Binlog 机制,通过 TiDB 从数据库集群,提供对主数据库的灾备保护,同 时 T+1 的报表类和非实时要求的复杂 OLAP 分析业务在 TiDB 从数据库集群上完成。 GOPS 全球运维大会2018·深圳站
36. 5. 云计算:金融数据库云 业务背景 某知名商业银行,通过多年在云计算领域的持续投入,已初步建立了国内银行业具有一定规模 和影响力的云计算基础设施,在此基础上,希望通过整合金融业务端能力和科技方面综合能力, 整体化对行业用户输出云业务和云计算服务。 痛点 在该用户的行业金融云计算平台规划中,技术上最具挑战的就是云数据库服务 ( DBaaS) , 这部分的设计和实现既要符监管要求和金融数据库云服务安全及可靠性要求,同时又能够提 供面向行业多租户的真正的资源/计算弹性伸缩的数据库服务。 解决方案 ● TiDB 作为新一代的分布式 NewSQL 数据库在安全性和可靠性上完全达到了金融生产级的要求。 ● TiDB 自身具备先进的自动化数据调度和负载调度能力。 ● TiDB Cloud 是一套完整的和主流云计算工业标准开源技术 K8s (Google 主导) 集成的 DBaaS 方案。 ● TiDB Cloud 能够提供面向多租户的,资源隔离,弹性伸缩和高可靠/安全的数据库云服务能力。 ● TiDB Cloud 采用工业标准开放管理接口,可以和绝大多数的主流云计算管控平台对接和融合 GOPS 全球运维大会2018·深圳站
37. 金融行业选择 TiDB ● 真正的分布式 SQL 数据库 ● 强一致,分布式事务 ● 容量和性能横向弹性扩展 ● 高可用高可靠性架构,无单点 ● 开源,透明,可控 GOPS 全球运维大会2018·深圳站
38. Thanks 高效运维社区 开放运维联盟 荣誉出品 GOPS 全球运维大会2018·深圳站
39. 想第一时间看到高效运维社区 的新动态吗? GOPS 全球运维大会2018·深圳站