![NewSQL角度看Apache ShardingSphere](http://img.jiangsulong.com/220421/21423G320-3.jpg)
文章插图
如上图所示,从研发的角度来看Apache ShardingSphere的框架,最上面的接入端有JDBC和Proxy,中间层的核心功能是数据分片、分布式事务、数据库治理,最下层是数据库集群 。
![NewSQL角度看Apache ShardingSphere](http://img.jiangsulong.com/220421/21423H018-4.jpg)
文章插图
其实,Sharding是Apache ShardingSphere的立足之本 。除了分库分表,它还还支持Encrypt(脱敏)和Shadow(影子库),所有压测的数据都会分配的影子库中 。Sharding最核心的还是底层四个模块来做支撑 。
我们必须要解析SQL,才能理解用户需要什么 。Parser(解析器)已经重构过很多遍,为了实现自主可控,保证高效性和正确性 。除此之外,Router代表着路由,Rewriter改写一些SQL,Executor做并行的控制,提高整体效率 。
![NewSQL角度看Apache ShardingSphere](http://img.jiangsulong.com/220421/21423IZ7-5.jpg)
文章插图
分布式事务主要有两个方面,ACID强一致性事务和BASE柔性事务 。值得一提的是,ShardingSphere分为自研的分布式数据库(DTX)、对接其他公司的解决方案两部分 。对于用户来说,他无需过多了解ShardingSphere,就可以拥有多种分布式事务的选型,这其实是一种非常有意思的方式 。
![NewSQL角度看Apache ShardingSphere](http://img.jiangsulong.com/220421/21423L563-6.jpg)
文章插图
ShardingSphere不只是一个分布式数据库的原因在于,它的Orchestration模块提供了很多功能,比如在线变更、分片规则的在线推送,以及限流和熔断等 。用户在了解分片的基础上,可以慢慢去探索这个开放生态,找到自己想要的功能 。
潘娟强调道,分库分表、强一致事务、柔性事务、分布式治理、可视化链路追踪、读写分离等所有的功能都是可以组合在一起的 。完全的自由组合,从而形成一个只满足公司所需要的产品 。
![NewSQL角度看Apache ShardingSphere](http://img.jiangsulong.com/220421/21423K450-7.jpg)
文章插图
当存储系统或者性能不够的时候,数据库就要通过Scaling(迁移平台)进行Scale out(扩展) 。目标不是放在提高单机性能上,而是要做成分布式,多个机器来解决 。
四、社区
![NewSQL角度看Apache ShardingSphere](http://img.jiangsulong.com/220421/21423J613-8.jpg)
文章插图
如果您有任何关于NewSQL的问题,可以在Github或者邮件给我们留言交流 。上图是Apache ShardingSphere的用户墙,只截取了一部分,了解更多可点击https://shardingsphere.apache.org/community/cn/users/ 。
【NewSQL角度看Apache ShardingSphere】
推荐阅读
- 初学者应该看的JavaScript Promise 完整指南
- Mybatis-plus常用API全套教程,看完没有不懂的
- 人工智能|能看出学生是否跑神 英特尔的情绪检测AI火了!
- 二维码|哭笑不得:老人拿二维码乞讨 竟要求查看转账记录!
- 怎样看坟墓风水
- |什么脸型“直发”好看,什么脸型“烫发”好看?看完分析就知道了
- 看茶叶色泽识茶品好坏,选购杜仲茶时要如何鉴别好坏
- 别再问用 Go 语言如何对接微信支付了:看看这个包
- Redis 密码设置和查看密码
- 自媒体赚钱“领域”要选好,这5类领域很看好