0、开篇词:为什么学习分布式数据库

你好,我是王磊,你也可以叫我Ivan,现在是光大银行首席数据架构师。这门课,我想和你聊聊分布式数据库这个话题。 说起分布式数据库啊,很多人的第一反应是,这东西还很新吧?一般的公司是不是根本就用不上?我有必要学吗? 分布式数据库可以解决什么问题?简单来...

分布式数据库30讲

1、什么是分布式数据库

你好,我是王磊,你也可以叫我Ivan。 在这门课的第1讲,我想和你探讨一个最基本的问题:什么是分布式数据库? 回答这个问题,其实就是在给分布式数据库下定义。 分布式数据库和很多技术概念一样,没有权威机构来做这个定义,甚至对于哪些机构是权威机构,我们都...

分布式数据库30讲

2、强一致性:数据一致性模型的差别

你好,我是王磊,你也可以叫我Ivan。 我们经常会听到说,分布式数据库的一个优势在于,它能够支持NoSQL做不到的强一致性。你怎么看待这件事儿呢? 显然,要来分析这个问题,我们首先得明白“强一致性”意味着什么。 我也问过很多身边的朋友,他们的答案都不...

分布式数据库30讲

3、强一致性:真正的事务一致性

你好,我是王磊,你也可以叫我Ivan。 在上一讲的开头,我提了一个问题:对分布式数据库来说,“强一致性”意味着什么?我们经过分析后得出的结论是这个强一致性,包括数据一致性和事务一致性两个方面。然后,我们介绍了数据一致性是怎么回事儿。那么,今天我们会继...

分布式数据库30讲

4、架构风格:NewSQL和PGXC的不一样

你好,我是王磊,你也可以叫我Ivan。 分布式数据库已经是技术新潮流了,所以产品也越来越多,如果你要做技术选型或者想要学习,该如何下手呢?怎么能更高效地了解不同产品的特点呢?这就需要你把它们分分类,有些差不多的产品,熟悉了其中的一个,剩下的我们只要记...

分布式数据库30讲

5、全局时钟:物理时钟和逻辑时钟你Pick谁?

你好,我是王磊,你也可以叫我Ivan。 今天,我想和你聊聊时间的话题。 “时光一去永不回,往事只能回味”,这种咏叹时光飞逝的歌曲,你一定听过很多。但是,在计算机的世界里,时间真的是一去不回吗?还真不一定。 还记得我在[第2讲]提到的TrueTime吗...

分布式数据库30讲

6、分片机制:Range是更好的分片策略

你好,我是王磊,你也可以叫我Ivan。 在这一讲的开头,我想请你思考一个问题,你觉得在大规模的业务应用下,单体数据库遇到的主要问题是什么?对,首先就是写入性能不足,这个我们在[第4讲]也说过,另外还有存储方面的限制。而分片就是解决性能和存储这两个问题...

分布式数据库30讲

7、数据复制:有时候Paxos不是最佳选择

你好,我是王磊,你也可以叫我Ivan。今天,我们要学习的是数据复制。 数据复制是一个老生常谈的话题了,典型的算法就是Paxo和Raft。只要你接触过分布式,就不会对它们感到陌生。经过从业者这些年的探索和科普,网上关于Paxos和Raft算法的高质量文...

分布式数据库30讲

8、重难点回顾+思考题答疑+知识全景图

你好,我是王磊,你也可以叫我Ivan。 这一讲是我们课程的答疑篇,我会集中讨论前7讲布置的思考题,以及留言区中大家关注的一些内容。 第1讲:分布式数据库的定义在[第1讲]中,我们通过层层递进式的分析,给这门课程要讨论的“分布式数据库”下了一个定义:分...

分布式数据库30讲

9、原子性:2PC还是原子性协议的王者吗

你好,我是王磊,你也可以叫我Ivan。今天,我要和你讲一讲分布式事务的原子性。 在限定“分布式”范围之前,我们先认识一下“事务的原子性”是啥。 如果分开来看的话,事务可以理解为包含一系列操作的序列,原子则代表不可分割的最小粒度。 而合起来看的话,事务...

分布式数据库30讲