
数据库分库分表(sharding)
文章平均质量分 93
该系列文章围绕数据库分库分表(sharding)主题,展开多个核心话题的讨论与研究,内容包括:sharding基本思想、切分策略与实施细则、主键生成、框架与自主开发的考量、多数据源的事务处理、数据库扩容与数据迁移等一系列sharding的核心问题。
Laurence
架构师,著有《大数据平台架构与原型实现:数据中台建设实战》一书,对大数据、云计算、数据湖、数据中台、企业级应用架构、域驱动设计有丰富的实践经验。
展开
-
重磅推荐:建大数据平台太难了!给我发个工程原型吧!
故事缘起:我们需要工程原型!大数据平台的架构体系庞大,技术堆栈非常深,从事大数据开发的同学对此应该都深有体会。而在很多细分领域(例如实时计算、作业调度)也没有像样的工程模板,这导致很多团队在启动大数据平台建设时往往感到无所侍从,也使得希望深入学习大数据技术的开发者由于缺少工程级的示例参考而感到迷茫。如果在大数据领域也有基于最佳实践提炼出来的工程原型,帮助团队快速启动开发,上手就写业务代码的话,你想了解一下吗?原创 2020-06-19 11:27:26 · 8363 阅读 · 13 评论 -
数据库分库分表(sharding)系列(五) 一种支持自由规划无须数据迁移和修改路由代码的Sharding扩容方案
版权声明:本文由本人撰写并发表于2012年9月份的《程序员》杂志,原文题目《一种支持自由规划的Sharding扩容方案——主打无须数据迁移和修改路由代码》,此处作为本系列的第五篇文章进行转载, 本文版权归《程序员》杂志所有,未经许可不得转载!作为一种数据存储层面上的水平伸缩解决方案,数据库Sharding技术由来已久,很多海量数据系统在其发展演进的历程中都曾经历过分库分表的Sharding改造阶段原创 2012-09-12 12:19:52 · 72555 阅读 · 54 评论 -
数据库分库分表(sharding)系列(四) 多数据源的事务处理
系统经sharding改造之后,原来单一的数据库会演变成多个数据库,如何确保多数据源同时操作的原子性和一致性是不得不考虑的一个问题。总体上看,目前对于一个分布式系统的事务处理有三种方式:分布式事务、基于Best Efforts 1PC模式的事务以及事务补偿机制。我们下面对这三种处理方式一一进行分析。本文原文链接:http://blog.youkuaiyun.com/bluishglc/article/deta原创 2012-07-27 13:54:06 · 54962 阅读 · 6 评论 -
数据库分库分表(sharding)系列(三) 关于使用框架还是自主开发以及sharding实现层面的考量
当团队对系统业务和数据库进行了细致的梳理,确定了切分方案后,接下来的问题就是如何去实现切分方案了,目前在sharding方面有不少的开源框架和产品可供参考,同时很多团队也会选择自主开发实现,而不管是选择框架还是自主开发,都会面临一个在哪一层上实现sharding逻辑的问题,本文会对这一系列的问题逐一进行分析和考量。本文原文连接: http://blog.youkuaiyun.com/bluishglc/art原创 2012-07-20 11:08:25 · 78435 阅读 · 9 评论 -
数据库分库分表(sharding)系列(二) 全局主键生成策略
本文将主要介绍一些常见的全局主键生成策略,然后重点介绍flickr使用的一种非常优秀的全局主键生成方案。关于分库分表(sharding)的拆分策略和实施细则,请参考该系列的前一篇文章:数据库分库分表(sharding)系列(一) 拆分实施策略和示例演示 本文原文连接:http://blog.youkuaiyun.com/bluishglc/article/details/7710738 ,转载请注明出处!第原创 2012-07-03 09:40:05 · 91304 阅读 · 46 评论 -
数据库分库分表(sharding)系列(一) 拆分实施策略和示例演示
本文着重介绍sharding切分策略,如果你对数据库sharding缺少基本的了解,请参考我另一篇从基础理论全面介绍sharding的文章:数据库Sharding的基本思想和切分策略 第一部分:实施策略图1.数据库分库分表(sharding)实施策略图解(原创 2012-06-27 14:32:44 · 180755 阅读 · 25 评论 -
关于垂直切分Vertical Sharding的粒度
垂直切分的粒度指的是在做垂直切分时允许几级的关联表放在一个shard里.这个问题对应用程序和sharding实现有着很大的影响.关联打断地越多,则受影响的join操作越多,应用程序为此做出的妥协就越大,但单表的路由会越简单,与业务的关联性会越小,就越容易使用统一机制处理.在此方向上的极端方案是:打断所有连接,每张表都配有路由规则,可以使用统一机制或框架自动处理.比如amoeba这样的框架,它的路由原创 2011-03-24 18:23:00 · 40816 阅读 · 6 评论 -
数据库Sharding的基本思想和切分策略
本文着重介绍sharding的基本思想和理论上的切分策略,关于更加细致的实施策略和参考事例请参考我的另一篇博文:数据库分库分表(sharding)系列(一) 拆分实施策略和示例演示一、基本思想 Sharding的基本思想就要把一个数据库切分成多个部分放到不同的数据库(server)上,从而缓解单一数据库的性能问题。不太严格的讲,对于海量数据的数据库,如果是因为表多而数据多,这时候适合使原创 2011-01-24 16:32:00 · 167025 阅读 · 40 评论