NewSQL角度看Apache ShardingSphere( 二 )


NewSQL角度看Apache ShardingSphere

文章插图
 
如上图所示,从研发的角度来看Apache ShardingSphere的框架,最上面的接入端有JDBC和Proxy,中间层的核心功能是数据分片、分布式事务、数据库治理,最下层是数据库集群 。
NewSQL角度看Apache ShardingSphere

文章插图
 
其实,Sharding是Apache ShardingSphere的立足之本 。除了分库分表,它还还支持Encrypt(脱敏)和Shadow(影子库),所有压测的数据都会分配的影子库中 。Sharding最核心的还是底层四个模块来做支撑 。
我们必须要解析SQL,才能理解用户需要什么 。Parser(解析器)已经重构过很多遍,为了实现自主可控,保证高效性和正确性 。除此之外,Router代表着路由,Rewriter改写一些SQL,Executor做并行的控制,提高整体效率 。
NewSQL角度看Apache ShardingSphere

文章插图
 
分布式事务主要有两个方面,ACID强一致性事务和BASE柔性事务 。值得一提的是,ShardingSphere分为自研的分布式数据库(DTX)、对接其他公司的解决方案两部分 。对于用户来说,他无需过多了解ShardingSphere,就可以拥有多种分布式事务的选型,这其实是一种非常有意思的方式 。
NewSQL角度看Apache ShardingSphere

文章插图
 
ShardingSphere不只是一个分布式数据库的原因在于,它的Orchestration模块提供了很多功能,比如在线变更、分片规则的在线推送,以及限流和熔断等 。用户在了解分片的基础上,可以慢慢去探索这个开放生态,找到自己想要的功能 。
潘娟强调道,分库分表、强一致事务、柔性事务、分布式治理、可视化链路追踪、读写分离等所有的功能都是可以组合在一起的 。完全的自由组合,从而形成一个只满足公司所需要的产品 。
NewSQL角度看Apache ShardingSphere

文章插图
 
当存储系统或者性能不够的时候,数据库就要通过Scaling(迁移平台)进行Scale out(扩展) 。目标不是放在提高单机性能上,而是要做成分布式,多个机器来解决 。
四、社区
NewSQL角度看Apache ShardingSphere

文章插图
 
如果您有任何关于NewSQL的问题,可以在Github或者邮件给我们留言交流 。上图是Apache ShardingSphere的用户墙,只截取了一部分,了解更多可点击https://shardingsphere.apache.org/community/cn/users/ 。

【NewSQL角度看Apache ShardingSphere】


推荐阅读