1、A Ap pa ac ch he e S Sh ha ar rd di in ng gS Sp ph he er re e:当当 D Da at ta ab ba as se eP Pl lu us s 遇遇到到云云原原生生苗苗立立尧尧SphereEx 云技术负责人APACHE SHARDINGSPHERE COMMITTERSPHEREEX 云技术负责人主要负责 DBPLUSENGINE 云上解决方案苗苗立立尧尧0 01 1A Ap pa ac ch he eS Sh ha ar rd di in ng gS Sp ph he er re e 简简介介数数据据库库碎碎片片化化数数据据库库碎碎
2、片片化化随着数字化进程的推进,单一场景无法满足应用多样化的需求,数据库碎片化已呈不可逆的趋势。在当前,市场占有率最高的商用数据库 Oracle 并没有明显短板的情况下,各种全新的数据库依旧如雨后春笋般层出不穷。应应用用场场景景的的不不断断扩扩张张,加加速速了了数数据据库库碎碎片片化化的的进进程程,数数据据库库的的架架构构、协协议议、功功能能、适适用用场场景景也也愈愈加加多多样样化化:在数据库架构方面,基于单机系统演进而来的集中式数据库与原生面向分布式的新一代数据库并存;在数据库协议方面,MySQL 和 PostgreSQL 两大主要开源生态以及周边服务生态;数数据据库库碎碎片片化化数数据据库库
3、碎碎片片化化带带来来的的问问题题:架构选型困难:单一数据库无法满足应用全部需求 技术挑战众多:研发成本投入高 运维复杂度高:数据库生态周边工具差异大 数据库间缺乏协作和统管能力:数据仍然存在孤岛D Da at ta ab ba as se eP Pl lu us D Da at ta ab ba as se eP Pl lu us s 设设计计理理念念DatabasePlus 是分布式数据库系统的一种设计理念。用于在关系型数据库,如 MySQL,PostgreSQL,Oracle,SQLServer,OpenGauss 之上为用户提供数据分片、数据加解密等增强能力。通过在碎片化数据库之上搭建使
4、用和交互的标准层和生态层,使得所有应用和数据库之间的交互面向 Database Plus 构建的标准层,从而屏蔽底层不同数据库对上层业务的影响和差异。A Ap pa ac ch he e S Sh ha ar rd di in ng gS Sp ph he er re eShardingSphere 是一款开源的数据服务能力增强引擎提供 数据分片、分布式事务、数据安全 等能力。ShardingSphere 遵循 Database Plus 理念旨在构建异构数据库上层的服务标准和生态S Sh ha ar rd di in ng gS Sp ph he er re e 适适用用场场景景 Shard
5、ingSphere 由 JDBC 和 Proxy 2个接入端组成,既支持独立部署,也可混合部署 JDBC 和 Proxy 接入端均提供标准化的增量功能,可适用于Java 同构、异构语言 等各种应用场景 ShardingSphere-JDBC 采用无中心化架构,与应用程序共享资源,适用于 Java 开发的高性能的轻量级 OLTP 应用 ShardingSphere-Proxy 提供静态入口以及异构语言的支持,独立于应用程序部署。适用于OLAP 应用以及对分片数据库进行管理和运维 的场景。S Sh ha ar rd di in ng gS Sp ph he er re e 架架构构L L1 1 内
6、内核核层层:面向数据库内核,包括数据库事务引擎,查询优化器等;L L2 2 功功能能层层:ShardingSphere 最核心所在,可定制化开发平台。具有高定制化、高度内聚、灵活扩展等特点;L L3 3 生生态态层层:通过三个接口分别实现数据库协议、SQL 方言和数据库存储对接,用于打造异构数据网关;0 02 2D Da at ta ab ba as se e P Pl lu us s理理念念和和实实践践数数据据库库高高可可用用 ShardingSphere 提供了读写分离能力,可以配置静态规则,也可以配置数据库动态发现 同时支持云下的 MGR、MHA 和云上的 AWS RDS Cluster