diff --git a/log-what-every-software-engineer-should-know-about-real-time-datas-unifying/README.md b/log-what-every-software-engineer-should-know-about-real-time-datas-unifying/README.md index c57964c..a7c39ee 100644 --- a/log-what-every-software-engineer-should-know-about-real-time-datas-unifying/README.md +++ b/log-what-every-software-engineer-should-know-about-real-time-datas-unifying/README.md @@ -53,7 +53,7 @@ PS: - [第一部分:日志是什么?](part1-what-is-a-log.md) 1. [数据库中的日志](part1-what-is-a-log.md#数据库中的日志) 1. [分布式系统中的日志](part1-what-is-a-log.md#分布式系统中的日志) - 1. [变更日志101:表与事件的二象性(`duality`)](part1-what-is-a-log.md#变更日志101表与事件的二象性duality) + 1. [变更日志(`changelog`)101:表与事件的二象性(`duality`)](part1-what-is-a-log.md#变更日志changelog101表与事件的二象性duality) 1. [接下来的内容](part1-what-is-a-log.md#接下来的内容) - [第二部分:数据集成](part2-data-integration.md) 1. [数据集成:两个难题](part2-data-integration.md#数据集成两个难题) diff --git a/log-what-every-software-engineer-should-know-about-real-time-datas-unifying/part1-what-is-a-log.md b/log-what-every-software-engineer-should-know-about-real-time-datas-unifying/part1-what-is-a-log.md index 894a5aa..6a56c5a 100644 --- a/log-what-every-software-engineer-should-know-about-real-time-datas-unifying/part1-what-is-a-log.md +++ b/log-what-every-software-engineer-should-know-about-real-time-datas-unifying/part1-what-is-a-log.md @@ -3,7 +3,7 @@ 1. [数据库中的日志](#数据库中的日志) 1. [分布式系统中的日志](#分布式系统中的日志) -1. [变更日志101:表与事件的二象性(`duality`)](#变更日志101表与事件的二象性duality) +1. [变更日志(`changelog`)101:表与事件的二象性(`duality`)](#变更日志changelog101表与事件的二象性duality) 1. [接下来的内容](#接下来的内容) 日志可能是一种最简单的不能再简单的存储抽象,只能追加、按照时间完全有序(`totally-ordered`)的记录序列。日志看起来的样子: @@ -113,10 +113,10 @@ 比如使用线性探测的杂音哈希(`the murmur hash with linear probing`)还是某个变种。 日志将成为一种大众化的接口,可以有多种竞争的算法和实现,以提供最好的保证和最佳的性能。 -变更日志101:表与事件的二象性(`duality`) +变更日志(`changelog`)101:表与事件的二象性(`duality`) ------------------------- -让我们继续聊一下数据库。变更日志 和 表之间有着迷人的二象性。 +让我们继续聊一下数据库。变更的日志 和 表之间有着迷人的二象性。 日志类似借贷清单和银行处理流水,而数据库表则是当前账户的余额。如果有变更日志,你就可以应用这些变更生成数据表并得到当前状态。 表记录的是每条数据的最后状态(日志的一个特定时间点)。 可以认识到日志是更基本的数据结构:日志除了可用来创建原表,也可以用来创建各类衍生表。 @@ -124,7 +124,7 @@ -这个过程也是可逆的:如果你对一张表进行更新,你可以记录这些变更,并把所有更新的『变更日志(`changelog`)』发布到表的状态信息中。 +这个过程也是可逆的:如果你对一张表进行更新,你可以记录这些变更,并把所有更新的『变更日志』发布到表的状态信息中。 这些变更日志正是你所需要的支持准实时的复制。 基于此,你就可以清楚的理解表与事件的二象性: 表支持了静态数据,而日志记录了变更。日志的魅力就在于它是变更的_完整_记录,它不仅仅包含了表的最终版本的内容, 而且可以用于重建任何存在过其它版本。事实上,日志可以看作是表**_每个_**历史状态的一系列备份。