1、分布式数据库的分布式数据库的发展与未来发展与未来应用程序开发应用程序开发面临怎样的面临怎样的 势势应用程序开发从烟囱式架构向分布式的转型应用程序开发从烟囱式架构向分布式的转型应用应用前端前端应用应用前端前端传统架构向传统架构向微服务转型微服务转型中间件中间件数据库数据库数据库该如何数据库该如何应对微服务应用框架应对微服务应用框架数据库如何应对微服务应用框架数据库如何应对微服务应用框架微服务1微服务2微服务3微服务4微服务1微服务2微服务3微服务4微服务2微服务3微服务1微服务4MySQLMySQLPGSQLS3对象存储MySQL实例MySQL实例PGSQL实例S3实例集中式关系型数据库分布式数
2、据库集中式存储分布式存储碎片化存储 数据紧耦合 无法弹性扩张 单点故障 微服务对应独立实例 物理分散存储 逻辑集中管理 数据碎片化 数据无共享 运维成本高联机交易业务需要联机交易业务需要什么样的分布式数据库什么样的分布式数据库联机交易业务需要什么样的分布式数据库联机交易业务需要什么样的分布式数据库分布式与扩展性ACID的支持分布式是新一代架构的基础,扩展性能应对变化的数据量传统技术兼容性事务、一致性等,处理OLTP新技术前瞻性HTAP混合事务和分析场景,适应更多数据应用需求SQL完整支持MySQL/PostgreSQL语法的完整兼容Multi-model与多租户multi-model多模数据库
3、引擎,同一引擎处理多种数据应用场景,符合微服务和云数据库的架构理念分布式交易型数据库技术发展体系分布式交易型数据库技术发展体系应用垂直分库原生分布式数据库分库分表ApplicationApplicationApplication分布式中间件(路由分发)分布式中间件(路由分发)核心信贷CRM票据用户组2用户组3 用户组4用户组1XX Xclusterclusterclusterclusterclusterclusterclusterclusterclusterclusterclustercluster核心信贷核心信贷核心核心DB1信贷信贷DB1CRM-DB1票据票据DB1核心核心DB2核心核心D
4、B3核心核心DBn核核信信X X X信贷信贷DB2CRM-DB2票据票据DB2信贷信贷DB3CRM-DB3票据票据DB3信贷信贷DBnCRM-DBn票据票据DBnCRM票据CRM票据CR X XnnX票票分布式数据库技术发展体系对比分布式数据库技术发展体系对比垂直分库分库分表原生分布式数据库起点比较早,应用控制能力强,可进行深度定制化构建中间SQL解析层,尽可能将标准SQL拆分成多个子查询下压到下层数据库,在SQL层进行结果拼装数据库内部处理分布式事务与数据切分逻辑,对于应用程序完全透明,不需感知底层数据分布对于底层数据库没有任何特殊要求,完全在应用程序内部进行分库优优势势对于底层数据库无特殊
5、要求,在中间件进行SQL切分(支持XA即可)数据库内部原生支持分布式事务,性能远远高于分库分表部分兼容传统SQL,应用程序开发难度小于垂直分库高可用与容灾能力由数据库内核原生支持,不需额外辅助工具应用程序逻辑侵入性极强,应用程序需要进行复杂逻辑才能进行合理数据分布应用程序逻辑侵入性较强,应用程序需感知底层数据分布结构,才能设计出优化后的查询逻辑技术较新,业界成熟案例相对较少辅助工具相对较少,生态环境有待完善劣劣势势拓扑结构调整或扩容时非常痛苦,几乎不可能完成在线扩容中间件实现分布式事务,跨库事务使用XA机制,性能大幅度下降很难支持跨库事务作为单点向新型分布式数据库转型的过渡阶段,技术延续性堪忧
6、巨杉分布式数据库巨杉分布式数据库“计算存储分离”架构强大的分布式事务能力强大的分布式事务能力 传统二段提交机制 流水类数据按时间与ID二维切分,避免数据搬迁 保证数据跨节点一致性表设计原则表设计原则锁机制锁机制 余额类数据按ID散列,保证均衡无热点二段提交2PCMySQL/PGSQL/SparkSQL保持100%兼容 悲观锁原生MySQL/PGSQL/ SparkSQL解析与执行引擎,不需担心语法兼容访问计划 MVCC读已提交能力兼容性兼容性三大核心应用场景三大核心应用场景联机交易数据中台内容管理交易型业务场景数据服务与高频只读类业务音视频、图片、文件等对象存储类业务替换 MySQL、PGSQ
7、L 等传统关系型数据库提供比 Hbase 更加友好的开发接口以及更加简便的运维能力提供比 Ceph 更优的实时容灾能力以及更加丰富的内容管理特性SequoiaDB v3.2 全面增全面增强强 支持分布式事务能力; 支持RU、RC、RR、以及Serializable四种隔离级别; 支持读已提交的MVCC特性; 在线数据Rebalance; 多租户数据物理隔离能力;分布式存储层分布式存储层 HTAP交易分析业务的物理隔离能力; 基于Raft协议的高可用能力; 基于Logshipping机制的数据同步策略,支持同城双中心、同城三中心、两地三中心、三地五中心等多种容灾架构; 支持同城双活业务能力; 支持表级一致性控制策略; 支持创建 MySQL、PostgreSQL、SparkSQL 实例 100%支持原生协议与语法; 支持JSON、S3对象存储、以及Posix文件系统协议; 数据库实例提供类似Oracle RAC的高可用能力; 支持MySQL与PostgreSQL视图、存储过程、触发器、自增字段等特性;数据库实例层数据库实例层金融级分布式关系型数据库金融级分布式关系型数据库SequoiaDB v3.2 正式发正式发布布