《基于Apache ShardingSphere打造分布式数据库-数据库管理、开发实践专场(38页).pdf》由会员分享,可在线阅读,更多相关《基于Apache ShardingSphere打造分布式数据库-数据库管理、开发实践专场(38页).pdf(38页珍藏版)》请在三个皮匠报告上搜索。
1、基于Apache ShardingSphere打造分布式数据库京东数科 张亮自我介绍u 京东数科数据研发负责人u Apache孵化项目ShardingSphere负责人u 京东数科分布式事务中间件JDTX负责人u 技术书籍未来架构从服务化到云原生作者分布式数据库核心功能1ShardingSphere的实现与规划2ShardingSphere的开源与社区3目录CONTENTSCONTENTS核心功能自动将数据以强一致、高性能的方式复制至跨机房多副本多数据副本高性能、完全支持ACID原义的分布式事务引擎分布式事务计算节点无状态,可通过水平扩展增加算力;存储节点可以和计算节点分层优化 计算存储分离混
2、合处理OLTP的事务型操作和OLAP的分析型操作HTAP020304010506数据存储不受单机磁盘容量限制,可通过增加数据服务器的数量提升存储能力分布式存储可以随时随地动态的对数据节点进行扩容和缩容弹性伸缩实现方案中间件NewSQL稳定型牺牲部分性能以保证稳定性以及运维经验的复用进取型以高性能换取稳定性的缺失以及运维经验的不足NewSQL的分类Database-as-a-ServiceTransparent Sharding MiddlewareNew ArchitectureWhats Really New with NewSQL?https:/db.cs.cmu.edu/papers/2
3、016/pavlo-newsql-sigmodrec2016.pdf分布式数据库核心功能1ShardingSphere的实现与规划2ShardingSphere的开源与社区3目录CONTENTSCONTENTS1 数据分片2 分布式事务核心功能Features3 弹性伸缩4 分布式治理核心流程SQL解析SQL改写结果归并SQL执行SQL路由分片策略定制化哈希范围标签时间复合u Java类:com.jd.XXXStrategyu 行表达式:t_order_$-uid%81 数据分片2 分布式事务核心功能Features3 弹性伸缩4 分布式治理分布式事务抉择外柔内刚0101XA两阶段提交事务的标
4、准0202Saga源于论文:https:/www.cs.cornell.edu/andru/cs711/2002fa/reading/sagas.pdf整合分布式事务Sharding Transaction ManagerSharding-TransactionSharding XATransaction ManagerSharding BASETransaction ManagerSQL RevertAtomikos XA ManagerNarayana XA ManagerBitronixXA ManagerXA Transaction SPIServicecomb ManagerBASE
5、 Transaction SPISharding Data Source本地事务APISeata Manager两阶段事务模型的得失损失收益并发性能可用性提交阶段失败的处理分布式柔性事务模型的得失损失收益一致性&隔离性业务侵入分布式并发性能新一代事务解决方案JDTXJDTX分布式&1PC完全摒弃两阶段提交的透明化实现方案事务原义支持完全支持ACID的强一致事务高性能插入性能高于本地事务查询性能高于分布式事务高可用无中心化架构模型跨多元数据库支持RDBMS、NoSQL、MQ等多元资源JDTX内部架构开启事务LSN生成器更新提交回滚事务处理器恢复引擎MVCC引擎WAL查询本地事务元组更新执行器查询
6、执行器落盘执行器约束校验引擎删除获取更新设计亮点IdeaIdea无UNDO日志通过约束验证来避免使用undo日志提升性能异步刷盘通过WAL和内存的方式异步化刷盘无损事务方案使用本地事务API完全支持ACID活动事务与数据存储分离充分利用数据库存储引擎的稳定性开发成本最小化充分采用论文思路以及第三方开源整合分布式事务Sharding Transaction ManagerSharding-TransactionSharding XATransaction ManagerSharding BASETransaction ManagerSQL RevertAt