博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MySQL Cluster, Fabric, Cobar 三大集群特性对比
阅读量:6968 次
发布时间:2019-06-27

本文共 803 字,大约阅读时间需要 2 分钟。

hot3.png

MySQL有众多集群方案,大多数公司用到的都是主从、读写分离、galera这类多主方案,非常适合于中小企业。对于大企业我们需要分表分库,我之前写了3篇关于有分表分库功能的MySQL集群方案, , ,使用这些方案能够简化分表分库的逻辑,加快开发速度。只看这3篇零散的文章还不能够很好的为自己公司应该使用那种方案做出选择,我们这里对这3种方案作了详细的对比,他们各有优缺点,希望能够对您的选择有所帮助。特性对比情况请看下面的表格:

 

如果我们自己在代码中直接写分表分库,往往跟Fabric有点相似,代码中用Hash或范围查找某ID属于哪个数据,然后直接连接对应的MySQL服务,因此跨库的操作就不支持了。当我们要分片的表操作可以只涉及单个分裂字段的那些行时,即不需要跨库时,可以选用。比如按用户id分片,一个用户在该表会有多行数据,然而他们都会被分到同一个库中,用户对自己的数据操作是没有问题的。Fabric帮我们做了很多运维相关动作,方便了使用。

如果操作时有时需要跨库,但是可以不要事务时,可以考虑,当操作不符合分片查找规则时,Cobar会对所有库进行操作,虽然最后返回的结果可能不如人意,加上少量代码处理下结果,即可满足业务需求。并且Cobar是支持MariaDB的,另外两款都不支持,因此当必须选择MariaDB时也可以考虑用Cobar。
如果不仅有时需要跨库,而且一定要事务时,可以考虑用,虽然事务级别低了一级,还是能够得到很好的隔离效果的,一般能够满足您的事务需求。
如果必需要大量的跨库,并且是所有库都要操作,而且无法优化成少量跨库,那么前面的三种集群方案都不适合了,MySQL自带的主从方式也许是最好的,提高下硬件,比如配置SSD,更多的内存CPU,让写操作都在一个库里完成反而会更快,更节省资源

转载于:https://my.oschina.net/u/2525089/blog/1358605

你可能感兴趣的文章
KD Tree
查看>>
[Cocoa]XCode下的iOS单元测试
查看>>
Centos 中使用 FTP 命令时出现“-bash: ftp: command not found”
查看>>
控件-TextField、Slider、
查看>>
java中ArrayList 、LinkList区别
查看>>
C#怎么做系统托盘
查看>>
ORA-01940: 无法删除当前连接的用户
查看>>
metasploit nessus & db_autopwn
查看>>
Web API在OWIN下实现OAuth
查看>>
git repository 的使用
查看>>
Android Studio的SVN Performing VCS Refresh/Commit 长时间不结束
查看>>
Cannot call sendError() after the response has been committed(filter问题)
查看>>
Xamarin XAML语言教程Xamarin.Forms中改变活动指示器颜色
查看>>
KnockoutJS + My97DatePicker b
查看>>
简单编写makefile文件,实现GCC4.9编译项目,增加boost库測试等等。。
查看>>
Android-Volley网络通信框架(二次封装数据请求和图片请求(包含处理请求队列和图片缓存))...
查看>>
OpenGL透明与混色效果
查看>>
有间距的表格布局 table布局
查看>>
Java 设计模式—装饰者模式
查看>>
实战c++中的vector系列--vector的遍历(stl算法、vector迭代器(不要在循环中推断不等于end())、operator[])...
查看>>