订阅
纠错
加入自媒体

京东数科高级DBA潘娟:Apache ShardingSphere的架构、特性

2020-09-10 17:01
IT168
关注

三、功能介绍

仔细观察ShardingSphere的框架,我们不难发现中间件左侧的Sharding-Scaling,它是一个提供给用户的通用的ShardingSphere数据接入迁移,及弹性伸缩的调度平台。

JDBC的核心功能就是Orchestration,即编排治理,配置集中化与动态化、数据治理。ShardingSphere提供了界面治理模块——Sharding-UI,可以快速维护Sharding-Proxy集群,方便用户一键式的操作。

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

其实,Sharding是Apache ShardingSphere的立足之本。除了分库分表,它还还支持Encrypt(脱敏)和Shadow(影子库),所有压测的数据都会分配的影子库中。Sharding最核心的还是底层四个模块来做支撑。

我们必须要解析SQL,才能理解用户需要什么。Parser(解析器)已经重构过很多遍,为了实现自主可控,保证高效性和正确性。除此之外,Router代表着路由,Rewriter改写一些SQL,Executor做并行的控制,提高整体效率。

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

ShardingSphere不只是一个分布式数据库的原因在于,它的Orchestration模块提供了很多功能,比如在线变更、分片规则的在线推送,以及限流和熔断等。用户在了解分片的基础上,可以慢慢去探索这个开放生态,找到自己想要的功能。

<上一页  1  2  3  下一页>  
声明: 本文由入驻维科号的作者撰写,观点仅代表作者本人,不代表OFweek立场。如有侵权或其他问题,请联系举报。

发表评论

0条评论,0人参与

请输入评论内容...

请输入评论/评论长度6~500个字

您提交的评论过于频繁,请输入验证码继续

暂无评论

暂无评论

人工智能 猎头职位 更多
扫码关注公众号
OFweek人工智能网
获取更多精彩内容
文章纠错
x
*文字标题:
*纠错内容:
联系邮箱:
*验 证 码:

粤公网安备 44030502002758号