mysql读写分离用哪个中间件比较妥? 分布式关系型数据库有哪些

时间:2022-01-18 08:32:30 作者:admin 22857
分布式关系型数据库有哪些

mysql读写分离用哪个中间件比较妥?

mysql-proxy是官方提供的mysql中间件产品可以实现负载平衡,读写分离,failover等,但其不支持大数据量的分库分表且性能较差。其他mysql开源中间件产品有:Atlas,cobar,tddl。你可以查阅一下相关信息和各自的优缺点。

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

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

MySQL分库分表有哪些成熟的中间件?不要破坏到原有程序设计的?

假如你想了解的话,那么建议从mycat入手。但具体想落地那不同的系统架构方案也不一样。

推荐一些目前实用的:

Java

用hibernate 可以试试hibernate shards

或者

HiveDB也可以是一个选择。

想了解更多,后续可以补充。

MySQL数据库如何定制分库分表中间件?

定制?花钱就用oneproxy,免费用mycat,看自己选择

mysql表数据量太大,达到了1亿多条数据,除了分库分表之外,还有没有其他的解决方式?

mysql在常规配置下,一般只能承受2000万的数据量(同时读写,且表中有大文本字段,单台服务器)。现在超过1亿,并不断增加的情况下,建议如下处理:

1 分表。可以按时间,或按一定的规则拆分,做到查询某一条数据库,尽量在一个子表中即可。这是最有效的方法

2 读写分离。尤其是写入,放在新表中,定期进行同步。如果其中记录不断有update,最好将写的数据放在 redis中,定期同步

3 表的大文本字段分离出来,成为独立的新表。大文本字段,可以使用NOSQL数据库

4 优化架构,或优化SQL查询,避免联表查询,尽量不要用count(*), in,递归等消耗性能的语句

5 用内存缓存,或在前端读的时候,增加缓存数据库。重复读取时,直接从缓存中读取。

上面是低成本的管理方法,基本几台服务器即可搞定,但是管理起来麻烦一些。


当然,如果整体数据量特别大的话,也不在乎投入费用的话,用集群吧,用TIDB吧

分库分表中,数据库中间件扮演了一个怎样的角色?

在数据库分库分表中,中间件就相当于一个adapter(适配器),开发中你不需要去关心分库分表是怎么实现,你只需要正常操作就行。

像常见的分库分表中间件sharding-jdbc, Mycat, DBproxy,atlas,它们做的其实就是适配器的活。

我上层业务不需要关心你怎么去分库分表,我只要配置好规则就行,在写CRUD的时候不用去指明具体的表明,就好像你操作的就是一个数据库表一样。

分库分表是是能解决表数据太大的问题,但是它也存在很多问题,其中很多问题是中间很难去解决的。就拿简单的分页来说,光是为了知道页数就需要查询很多张表,然后在进行分页。更复杂的有join操作,统计操作这类的,现在很多中间件都不支持多表关联。

从上面可以看出,分库分表的中间件起到了适配的作用,还不能支持太复杂的操作,简而言之就是“一个功能待完善的适配器”。

声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关推荐