您好、欢迎来到现金彩票网!
当前位置:ds视讯 > 分布式数据库 >

Mysql变成分布式数据库

发布时间:2019-07-02 23:02 来源:未知 编辑:admin

  由于那些分布式数据库都没用过,部署看上去也很困难所以想到了拿Mysql改成分布式。我不是想通过某些插件来改,我是想把插件的源码和数据库整合起来在专门做优化。我希望能达到的效果是...

  由于那些分布式数据库都没用过,部署看上去也很困难所以想到了拿Mysql改成分布式。我不是想通过某些插件来改,我是想把插件的源码和数据库整合起来在专门做优化。我希望能达到的效果是像RethinkDB、巨杉数据库芒果DB之类的。我网上查了一些资料,查到的插件都是一些需要一台主服务器,所有链接都到这台主服务器。我想的是能不能连接分布的任何一个节点就能取到完整的数据。

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  推荐于2016-12-02展开全部1、amoeba相当于一个SQL请求的路由器,目的是为负载均衡、读写分离、高可用性提供机制,而不是完全实现它们。用户需要结合使用MySQL的Replication等机制来实现副本同步等功能。amoeba对底层数据库连接管理和路由实现也采用了可插拨的机制,第三方可以开发更高级的策略类来替代作者的实现。这个程序总体上比较符合KISS的思想。

  2、由上一条,建议使用MySQL的Replication机制建立Master-Slave来做副本。我一开始理解有误,使用了amoeba的virtual DB(负载均衡pool)做writePool,结果使得本应插入同一个表中的数据被拆分地写入了不同的物理数据库中。这样自然与副本的语义不符了。

  3、amoeba已经实现了数据的垂直切分与水平切分。水平切分方面,粒度是行。使用SQLJEP语句可以设计出复杂的切分规则,个人认为是比较强大的。垂直切分的粒度是表,可以把针对不同表的请求发送到不同的节点上执行,但不能以列作为分片粒度。从作者的说法看,amoeba不做SQL解析和重写。在目前的机制下似乎是难以实现同一个表不同的列在不同节点上的分布。不过对开发人员来说,设计良好的表结构应该可以实现简单的基于关系属性的负载均衡的。

http://emeklishop.net/fenbushishujuku/745.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有