分布式数据库中间件 用于实现 分库、分表、分片、分布式事务、读写分离 等。
本文 是 调查 MyCat 和 ShardingSphere 两款 中间件 的一些信息汇总。
本文时间:2024年9月。
MyCat
Mycat数据库分库分表中间件。ben发布于博客园
http://www.mycat.org.cn
github-Mycat1
https://github.com/MyCATApache/Mycat-Server
最新版本 1.6.7.6, 2020年11月2日发版。ben发布于博客园
“Mycat是基于开源cobar演变而来,我们对cobar的代码进行了彻底的重构,使用NIO重构了网络模块,
并且优化了Buffer内核,增强了聚合,Join等基本特性,同时兼容绝大多数数据库成为通用的数据库中间件。
1.4 版本以后 完全的脱离基本cobar内核,结合Mycat集群管理、自动扩容、智能优化,成为高性能的中间件。
我们致力于开发高性能数据库中间而努力。永不收费,永不闭源,持续推动开源社区的发展。”
MyCat2
https://github.com/MyCATApache/Mycat2
MySQL Proxy using Java NIO based on Sharding SQL,Calcite ,simple and fast。
Mycat2是Mycat社区开发的一款分布式关系型数据库(中间件)。它支持分布式SQL查询,兼容MySQL通信协议,以Java生态支持多种后端数据库,通过数据分片提高数据查询处理能力。
最新版本:1.22-2022-6-5。ben发布于博客园
架构:
官网:ben发布于博客园
http://mycatone.top
Java语言编写的MySQL数据库网络协议的开源中间件,GPLv3协议开源。
文档:Mycat2权威指南ben发布于博客园
https://www.yuque.com/ccazhw/ml3nkf?
具体技术:
JAVA NIO,Vertx(Netty),Apache Calcite,Alibaba Druid,MySQL网络通讯协议,MySQL系统表,MySQL高可用,分布式事务,Apache Arrow,Spark,Linq4j,Rxjava,分库分表。
ShardingSphere
翻译:分片 球体。
https://shardingsphere.apache.org
核心功能:
文档:
https://shardingsphere.apache.org/document/current/en/overview/
设计哲学:
Pluggable: Building database function ecology(可插拔:构建数据库功能生态学)。ben发布于博客园
Using ShardingSphere-JDBC
Using ShardingSphere-Proxy
Hybrid Architecture
github
https://github.com/apache/shardingsphere
Distributed SQL transaction & query engine for data sharding, scaling, encryption, and more - on any database.ben发布于博客园
最新版本:5.5.0,2024年4月30日(今年)。
How it Works
Apache ShardingSphere includes 2 independent products: JDBC & Proxy. (两个独立的产品)
They all provide functions of data scale-out, distributed transaction and distributed governance, applicable in a variety of situations such as Java-based isomorphism, heterogeneous language and Cloud-Native.ben发布于博客园
解决方案
小结
1、分库分表、读写分离 等,都可以实现。ben发布于博客园
2、仓库活跃度,ShardingSphere 明显更活跃。
3、更多 TODO 部署方式、使用方式、性能、云原生等。
ben发布于博客园
---END---
参考资料
1、分布式数据库中间件:MyCat 和 ShardingSphere 对比说明
https://www.cnblogs.com/yaoyangding/p/17351415.html
posted @ 2023-04-25 00:45 耀阳居士
2、分库分表神器Mycat VS ShardingSphere
https://juejin.cn/post/7124614205776330759
2022-07-26 桃子蘸酱
3、mycat和sharding-jdbc哪个比较好?各有什么优缺点? - 勇哥java实战的回答 - 知乎
https://www.zhihu.com/question/64709787/answer/2915029826
4、
ben发布于博客园
ben发布于博客园