1 / 10
文档名称:

数据库分库分表(sharding)系列(五) 一种支持自由规划无须数据迁移和修改路由代码的Sharding扩容方案.doc

格式:doc   大小:1,187KB   页数:10页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

数据库分库分表(sharding)系列(五) 一种支持自由规划无须数据迁移和修改路由代码的Sharding扩容方案.doc

上传人:zxwziyou8 2018/5/19 文件大小:1.16 MB

下载得到文件列表

数据库分库分表(sharding)系列(五) 一种支持自由规划无须数据迁移和修改路由代码的Sharding扩容方案.doc

相关文档

文档介绍

文档介绍:版权声明:本文由本人撰写并发表于2012年9月份的《程序员》杂志,原文题目《一种支持自由规划的Sharding扩容方案——主打无须数据迁移和修改路由代码》,此处作为本系列的第五篇文章进行转载, 本文版权归《程序员》杂志所有,未经许可不得转载!
作为一种数据存储层面上的水平伸缩解决方案,数据库Sharding技术由来已久,很多海量数据系统在其发展演进的历程中都曾经历过分库分表的Sharding改造阶段。简单地说,Sharding就是将原来单一数据库按照一定的规则进行切分,把数据分散到多台物理机(我们称之为Shard)上存储,从而突破单机限制,使系统能以Scale-Out的方式应对不断上涨的海量数据,但是这种切分对上层应用来说是透明的,多个物理上分布的数据库在逻辑上依然是一个库。实现Sharding需要解决一系列关键的技术问题,这些问题主要包括:切分策略、节点路由、全局主键生成、跨节点排序/分组/表关联、多数据源事务处理和数据库扩容等。关于这些问题可以参考笔者的博客专栏http://blog./column/details/ 本文将重点围绕“数据库扩容”进行深入讨论,并提出一种允许自由规划并能避免数据迁移和修改路由代码的Sharding扩容方案。
Sharding扩容——系统维护不能承受之重
任何Sharding系统,在上线运行一段时间后,数据就会积累到当前节点规模所能承载的上限,此时就需要对数据库进行扩容了,也就是增加新的物理结点来分摊数据。如果系统使用的是基于ID进行散列的路由方式,那么团队需要根据新的节点规模重新计算所有数据应处的目标Shard,并将其迁移过去,这对团队来说无疑是一个巨大的维护负担;而如果系统是按增量区间进行路由(如每1千万条数据或是每一个月的数据存放在一个节点上),虽然可以避免数据的迁移,却有可能带来“热点”问题,也就是近期系统的读写都集中在最新创建的节点上(很多系统都有此类特点:新生数据的读写频率明显高于旧有数据),从而影响了系统性能。面对这种两难的处境,Sharding扩容显得异常困难。
一般来说,“理想”的扩容方案应该努力满足以下几个要求:
 最好不迁移数据(无论如何,数据迁移都是一个让团队压力山大的问题)
允许根据硬件资源自由规划扩容规模和节点存储负载
能均匀的分布数据读写,避免“热点”问题
保证对已经达到存储上限的节点不再写入数据
目前,能够避免数据迁移的优秀方案并不多,相对可行的有两种,一种是维护一张记录数据ID和目标Shard对应关系的映射表,写入时,数据都写入新扩容的Shard,同时将ID和目标节点写入映射表,读取时,先查映射表,找到目标Shard后再执行查询。该方案简单有效,但是读写数据都需要访问两次数据库,且映射表本身也极易成为性能瓶颈。为此系统不得不引入分布式缓存来缓存映射表数据,但是这样也无法避免在写入时访问两次数据库,同时大量映射数据对缓存资源的消耗以及专门为此而引入分布式缓存的代价都是需要权衡的问题。另一种方案来自淘宝综合业务平台团队,它利用对2的倍数取余具有向前兼容的特性(如对4取余得1的数对2取余也是1)来分配数据,避免了行级别的数据迁移,但是依然需要进行表级别的迁移,同时对扩容规模和分表数量都有限制。总得来说,这些方案都不是十分的理想,多多少少都存在一些

最近更新

对承包商的检查考核控制操作指导书 4页

安徽省县域农村生活污水处理专项规划 16页

外墙真石漆技术交底 4页

国开一网一平台行专《人力资源管理》在线形考.. 10页

四年级上册句子练习答案整理 9页

向着美好奔跑丁立梅读后感 2页

北师大版小学五年级上册月考数学试卷(一)(1-2.. 14页

北京大学国际关系学院学生素质综合测评办法实.. 8页

制冷与空调设备运行操作作业安全生产考试历年.. 18页

初中班级安全管理工作计划 12页

初三化学竞赛试题 4页

2024年阳光积极的句子 36页

人才工作会议的重要讲话》 (公需课) 课后作业.. 4页

五年级下册语文第三单元作文姓方 12页

2024年防洪防汛安全工作总结范文(精选5篇) 12页

2024年防汛抗洪工作总结(精选6篇) 16页

中考科学复习——物理专题三 光 13页

2024年防台风暴雨应急预案范文 25页

2024年阅读狗猫鼠读后感 5页

2024年闺蜜生日发朋友圈的句子(精选240句) 31页

上海海南中学初一语文自主招生试卷模拟试题(5.. 41页

2024年门诊实习心得体会 43页

信用证结算协议书 12页

文旅项目规划方案(精选10篇) 28页

规范组织关系转接及党员档案审查(ppt) 43页

混凝土护坡施工方案 4页

以旧换新备案申请书[5篇范例] 2页

《WindowsServer2012网络操作系统项目教程(第.. 27页

城镇土地估价规程新 57页

《教育法规教程》第6章预防未成年人犯罪 48页