您的位置:首页 > 其它

一致性哈希--分库分表

2016-12-19 21:52 148 查看
首先了解一下什么是一致性哈希,这里推荐一篇博客:

http://blog.csdn.net/cywosp/article/details/23397179/

分库分表是目前解决单点数据库一种比较流行的做法,也相对成熟,但都有一个共同的问题,就是随着业务的增长,之前的分库分表容量不够了,需要扩容了,这时,使用一致性哈希或者分段哈希(静态哈希+配置规则)可以尽量的减少数据的迁移。这里只谈一谈一致性哈希的做法。

什么时候我们需要利用一致性哈希水平拆分数据库单表呢?

1、当我们拥有一个数据量非常大的单表,比如上亿条数据。

2、不仅数据量巨大,这个单表的访问读写也非常频繁,单机已经无法抗住 I/O 操作。

3、此表无事务性操作,如果涉及分布式事务是相当复杂的事情,在拆分此类表需要异常小心。

4、查询条件单一,对此表的查询更新条件常用的仅有1-2个字段,比如用户表中的用户id或用户名。

最后,这样的拆分也是会带来负面性的,当水平拆分了一个大表,不得不去修改应用程序或者开发db代理层中间件,这样会加大开发周期、难度和系统复杂性。

大众点评实例:http://www.jianshu.com/p/e598a1bf0980
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  分库分表