当我们的数据达到一定的量级之后,单表甚至单库都无法支撑之时,那么,便会涉及到分库分表。分库分表的方式有多种,开源的解决方案也很多,都是围绕 客户端的组件比较多,很多人也在用,这里就分享一些 Apache ShardingSphereApache ShardingSphere 是一款分布式的数据库生态系统, 可以将任意数据库转换为分布式数据库,并通过数据分片、弹性伸缩、加密等能力对原有数据库进行增强。由 ShardingSphere-JDBC 和 ShardingSphere-Proxy 这 2 款既能够独立部署,又支持混合部署配合使用的产品组成。它们均提供标准化的基于数据库作为存储节点的增量功能,可适用于如 Java 同构、异构语言、云原生等各种多样化的应用场景。
开源地址:https://github.com/apache/shardingsphere.git VitessVitess是一个用于部署、扩展和管理大型MySQL实例集群的数据库解决方案。Vitess集Mysql数据库的很多重要特性和NoSQL数据库的可扩展性于一体。它的架构设计使得您可以像在物理机上一样在公共云或私有云架构中有效运行。它结合并扩展了许多重要的MySQL功能,同时兼具NoSQL数据库的可扩展性。 代码地址:https://github.com/vitessio/vitess.git GaeaGaea是小米中国区电商研发部研发的基于mysql协议的数据库中间件,目前在小米商城大陆和海外得到广泛使用,包括订单、社区、活动等多个业务 具备的功能
开源地址:https://github.com/XiaoMi/Gaea.git MaxScale
MycatMycat是基于开源cobar演变而来,支持SQL92标准,遵守Mysql原生协议,跨语言,跨平台,跨数据库的通用中间件代理。 源码地址:https://github.com/MyCATApache/Mycat-Server.git 除了上面几个目前还是维护的几个项目外,也还有一些其他公司开源的解决方案: 阿里巴巴Cobar:https://github.com/alibaba/cobar.git 另外,也还有很多开源的客户端的解决方案。当然,在分库分表之后,又会衍生出其它问题,现在如今,也有很多厂家提供了强大的分布式数据库,来帮我处理了分库分表的麻烦。 |
|
来自: 昵称10087950 > 《开发汇总》