现在能做分库分表的mysql数据库中间件哪个比较常用?

李路林

首先介绍下分库,分表:

分表:

当数据量大到一定程度的时候,都会导致处理性能的不足,这个时候就没有办法了,只能进行分表处理。也就是把数据库当中数据根据按照分库原则分到多个数据表当中,这样,就可以把大表变成多个小表,不同的分表中数据不重复,从而提高处理效率。

分片:

对业务透明,在物理实现上分成多个服务器,不同的分片在不同服务器上

个人感觉跟分库没啥区别,只是叫法不一样而已,值得一提的是关系型数据库和nosql数据库分片的概念以及处理方式是一样的吗?

分库:

当业务系统的数据容量接近或超过单台服务器的容量、QPS/TPS接近或超过单个数据库实例的处理极限等。

此时,往往是采用垂直和水平结合的数据拆分方法,把数据服务和数据存储分布到多台数据库服务器上。

MyCAT:

社区爱好者在阿里cobar基础上进行二次开发,解决了cobar当时存 在的一些问题,并且加入了许多新的功能在其中。目前MyCAT社区活 跃度很高,目前已经有一些公司在使用MyCAT。总体来说支持度比 较高,也会一直维护下去。。

MyCat的优秀特点:
  • 有效管理数据源连接,基于数据分库,而不是分表的模式。
  • 基于 NIO 实现,有效管理线程,高并发问题。
  • 支持数据的多片自动路由与聚合,支持 sum , count , max 等常用的聚合函数。
  • 支持通过全局表,ER 关系的分片策略,实现了高效的多表 join 查询。
  • 支持多租户方案。
  • 支持分布式事务(弱xa)
  • 支持全局序列号,解决分布式下的主键生成问题。
  • 分片规则丰富,插件化开发,易于扩展。
  • 强大的 web,命令行监控。

所以MyCat是目前最好的!!!!


我的内容我做主

你的业务真的到这个地步,你不会不知道的!作为爱好和研究的话,有好多!cobra,mycat都是阿里系的,还有很多MySQLproxy、Atlas、tddl等等,主要还是要看你的业务


分享到:


相關文章: