一致性哈希--分库分表

来源:互联网 发布:淘宝助理和店铺不同步 编辑:程序博客网 时间:2024/05/16 19:02

首先了解一下什么是一致性哈希,这里推荐一篇博客:
http://blog.csdn.net/cywosp/article/details/23397179/

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

什么时候我们需要利用一致性哈希水平拆分数据库单表呢?
1、当我们拥有一个数据量非常大的单表,比如上亿条数据。
2、不仅数据量巨大,这个单表的访问读写也非常频繁,单机已经无法抗住 I/O 操作。
3、此表无事务性操作,如果涉及分布式事务是相当复杂的事情,在拆分此类表需要异常小心。
4、查询条件单一,对此表的查询更新条件常用的仅有1-2个字段,比如用户表中的用户id或用户名。
最后,这样的拆分也是会带来负面性的,当水平拆分了一个大表,不得不去修改应用程序或者开发db代理层中间件,这样会加大开发周期、难度和系统复杂性。

大众点评实例:http://www.jianshu.com/p/e598a1bf0980

0 0
原创粉丝点击