From 0b6d63a6b30fa68a2a3b8abdf38e8e53ea0781f9 Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Fri, 24 Jul 2015 20:32:54 +0800 Subject: [PATCH] =?UTF-8?q?=E5=86=8D=E6=AC=A1=E5=AE=A1=E6=A0=A1Part=201?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../README.md | 12 ++++++------ .../part1-what-is-a-log.md | 8 ++++---- .../translation-postscript.md | 12 ++++++------ 3 files changed, 16 insertions(+), 16 deletions(-) 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 3ba9e4e..2709783 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 @@ -1,5 +1,5 @@ 原文链接: [The Log: What every software engineer should know about real-time data's unifying abstraction](https://engineering.linkedin.com/distributed-systems/log-what-every-software-engineer-should-know-about-real-time-datas-unifying) - [Jay Kreps](http://www.linkedin.com/in/jaykreps) -基于开源中国社区的译文: [日志:每个软件工程师都应该知道的有关实时数据的统一概念](http://www.oschina.net/translate/log-what-every-software-engineer-should-know-about-real-time-datas-unifying) +基于开源中国社区的译文稿: [日志:每个软件工程师都应该知道的有关实时数据的统一概念](http://www.oschina.net/translate/log-what-every-software-engineer-should-know-about-real-time-datas-unifying) 译序 ----------------- @@ -11,10 +11,10 @@ 但作为一篇***经典***文章,是值得去完整地研读和理解: 1. 原文可以作为大数据/分布式系统领域一份导论式的资料。 - 作者对整个领域理解和实战都精深广博,抓出并梳理了这个领域的核心:日志。 -1. 原文作为一手资料,有完整信息和过程,方便深入。 + 作者对整个领域的理解和实战精深广博,抓出并梳理了这个领域的核心:日志。 +1. 原文作为一手资料,有完整的分析过程,能够深入和核对自己的理解。 1. 摘要和解读不能替代自己理解。 - 信息被传递的越多,丢失和偏差也就越多。 + 信息被传递和过滤得越多,丢失和偏差也就越多。 当然,你也可以把这篇译文本身作为英文原文的一种理解,在读原文时有不理解的地方可以参考对比。 如果你能这么做,相信对于学习效果真真是极好的~ @@ -41,7 +41,7 @@ PS: 日志有时会叫成 预先写入日志(`write-ahead logs`)、提交日志(`commit logs`)或者事务日志(`transaction logs`),几乎和计算机本身形影不离, 是许多分布式数据系统(`distributed data system`)和实时应用架构(`real-time application architecture`)的核心。 -不懂得日志,你就不可能真正理解数据库、`NoSQL`存储、键值存储、数据复制(`replication`)、`paxos`、`Hadoop`、版本控制(`version control`),甚至几乎任何一个软件系统;然而大多数软件工程师对日志并不熟悉。我有意于改变这个现状。 +不懂得日志,你就不可能真正理解数据库、`NoSQL`存储、键值存储(`key value store`)、数据复制(`replication`)、`paxos`、`Hadoop`、版本控制(`version control`),甚至几乎任何一个软件系统;然而大多数软件工程师对日志并不熟悉。我有意于改变这个现状。 本文我将带你浏览有关日志需要了解的一切,包括日志是什么,如何在数据集成(`data integration`)、实时处理(`real time processing`)和系统构建中使用日志。 目录 @@ -52,7 +52,7 @@ PS: - [第一部分:日志是什么?](part1-what-is-a-log.md) - [数据库中的日志](part1-what-is-a-log.md#数据库中的日志) - [分布式系统中的日志](part1-what-is-a-log.md#分布式系统中的日志) - - [变更日志101:表与事件的二相性](part1-what-is-a-log.md#变更日志101表与事件的二相性) + - [变更日志101:表与事件的二相性(`duality`)](part1-what-is-a-log.md#变更日志101表与事件的二相性duality) - [接下来的内容](part1-what-is-a-log.md#接下来的内容) - [第二部分:数据集成](part2-data-integration.md) - [数据集成:两个难题](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 794eeb3..f30781e 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 @@ - [数据库中的日志](#数据库中的日志) - [分布式系统中的日志](#分布式系统中的日志) -- [变更日志101:表与事件的二相性](#变更日志101表与事件的二相性) +- [变更日志101:表与事件的二相性(`duality`)](#变更日志101表与事件的二相性duality) - [接下来的内容](#接下来的内容) 日志可能是一种最简单的不能再简单的存储抽象。只能追加,完全按照时间排序的记录序列。日志看起来的样子: @@ -16,7 +16,7 @@ 日志记录编号可以看作是这条日志记录的『时间戳』。 把次序直接看成是时间概念,刚开始你会觉得有点怪异,但是这样的做法有个便利的属性:解耦了 时间 和 任一特定的物理时钟(`physical clock`)。引入分布式系统后,这会成为一个必不可少的属性。 -***【译注】*** 分布式系统的 时间、次序、时钟是最基础根本的问题,更多思考可以参见被引用最多的***Leslie Lamport***的论文[***Time Clocks and the Ordering of Events in a Distributed System***](http://duanple.blog.163.com/blog/static/709717672012920101343237/)。 +***【译注】*** 分布式系统的 时间、次序、时钟是个最基础根本的问题,详见被引用最多的***Leslie Lamport***的论文***Time Clocks and the Ordering of Events in a Distributed System***([中文翻译](http://duanple.blog.163.com/blog/static/709717672012920101343237/)),现在先***不要***去看,除非读完本文后你还有很兴趣要探个明白。 日志记录的内容和格式是什么对于本文讨论并不重要。另外,不可能一直给日志添加记录,因为总会耗尽存储空间。稍后我们会回到这个问题。 @@ -107,11 +107,11 @@ 所以,日志而不是一个简单的单值寄存器,是更自然的抽象。 此外,对算法的专注掩盖了系统底层所需的日志抽象。 -个人觉得,我们最终会更关注把日志作为一个商品化的基石而不是考虑它的实现,就像我们经常谈论一个哈希表而不是纠结于哪些细节, +个人觉得,我们最终会更关注把日志作为一个商品化的基石而不是考虑它的实现,就像我们经常讨论哈希表而不纠结于它的细节, 比如使用线性探测的杂音哈希(`the murmur hash with linear probing`)还是某个变种。 日志将成为一种大众化的接口,可以有多种竞争的算法和实现,以提供最好的保证和最佳的性能。 -变更日志101:表与事件的二相性 +变更日志101:表与事件的二相性(`duality`) ------------------------- 让我们继续聊一下数据库。变更日志 和 表之间有着迷人的二相性。 diff --git a/log-what-every-software-engineer-should-know-about-real-time-datas-unifying/translation-postscript.md b/log-what-every-software-engineer-should-know-about-real-time-datas-unifying/translation-postscript.md index 6196f21..e3ed04a 100644 --- a/log-what-every-software-engineer-should-know-about-real-time-datas-unifying/translation-postscript.md +++ b/log-what-every-software-engineer-should-know-about-real-time-datas-unifying/translation-postscript.md @@ -1,20 +1,20 @@ 译跋 ====================== -基于开源中国社区的译文: [日志:每个软件工程师都应该知道的有关实时数据的统一概念](http://www.oschina.net/translate/log-what-every-software-engineer-should-know-about-real-time-datas-unifying),感谢 [LitStone](http://my.oschina.net/kaiyuancao), [super0555](http://my.oschina.net/super0555), [几点人](http://my.oschina.net/jidianren), [cmy00cmy](http://my.oschina.net/u/1385461), [tnjin](http://my.oschina.net/tnjin), [928171481](http://my.oschina.net/u/240148), [黄劼](http://my.oschina.net/saintknight) 同学的辛苦付出! +基于开源中国社区的译文稿: [日志:每个软件工程师都应该知道的有关实时数据的统一概念](http://www.oschina.net/translate/log-what-every-software-engineer-should-know-about-real-time-datas-unifying),感谢 [LitStone](http://my.oschina.net/kaiyuancao), [super0555](http://my.oschina.net/super0555), [几点人](http://my.oschina.net/jidianren), [cmy00cmy](http://my.oschina.net/u/1385461), [tnjin](http://my.oschina.net/tnjin), [928171481](http://my.oschina.net/u/240148), [黄劼](http://my.oschina.net/saintknight) 同学的辛苦付出! 为什么要整理和审校翻译 -------------------------- -自己在读开源中国译文的过程,觉得可以有加强: +自己在读开源中国社区的译文稿的过程,觉得可以有加强: 1. 不少翻译还需要改进和改正,当然是因为 - 分布式主题本身难度/『硬』度 给 在理解和翻译 带来了很大的困难。 - - 内容本身有难度 并且 真的很长,长! + - 文章内容难度很高 并且 真的很长,长! - 多人翻译的协作上的困难。 -1. 分页随意 影响阅读,应该按小节分页 -1. 没有目录 影响阅读 +1. 分页随意杂乱 影响阅读,应该按小节分页 +1. 没有目录 阅读不便 1. 图片没有按原文排版,影响原作者用意 1. 开源中国译文页面包含了影响阅读的杂乱内容(如译者信息、翻译评论……) -而作为一篇经典的文章值得花力量做得更好! +而作为一篇经典的文章值得花力气做得更好!