水木
水木
发布于 2024-09-02 / 10 阅读
0

数据密集型应用系统设计 [Designing Data-Intensive Applications]

链接: https://pan.baidu.com/s/1glAw03I8nwlEt205CtAQ6Q?pwd=pwae 提取码: pwae

出版社: 中国电力出版社
ISBN:9787519821968
版次:1
商品编码:12437624
品牌:中国电力出版社(zhongguodianlichubanshe)
包装:平装
外文名称:Designing Data-Intensive Applications
开本:16开
出版时间:2018-09-01
用纸:胶版纸
页数:519
字数:649000
产品特色

编辑推荐

每章都有一张思维导图,十二张思维导图助你理清学习本书的脉络。

深入探索常用分布式系统内部机制,学习如何高效运用这些技术。

分析各种工具的优势和不足,帮助做出明智的设计决策。

解析一致性、扩展性、容错和复杂度之间的权衡利弊。

介绍分布式系统研究的新进展(现代数据库的基石)。

揭示主流在线服务的基本架构。




内容简介

全书分为三大部分:

第一部分,主要讨论有关增强数据密集型应用系统所需的若干基本原则。首先开篇第1章即瞄准目标:可靠性、可扩展性与可维护性,如何认识这些问题以及如何达成目标。第2章我们比较了多种不同的数据模型和查询语言,讨论各自的适用场景。接下来第3章主要针对存储引擎,即数据库是如何安排磁盘结构从而提高检索效率。第4章转向数据编码(序列化)方面,包括常见模式的演化历程。

第二部分,我们将从单机的数据存储转向跨机器的分布式系统,这是扩展性的重要一步,但随之而来的是各种挑战。所以将依次讨论数据远程复制(第5章)、数据分区(第6章)以及事务(第7章)。接下来的第8章包括分布式系统的更多细节,以及分布式环境如何达成一致性与共识(第9章)。

第三部分,主要针对产生派生数据的系统,所谓派生数据主要指在异构系统中,如果无法用一个数据源来解决所有问题,那么一种自然的方式就是集成多个不同的数据库、缓存模块以及索引模块等。首先第10章以批处理开始来处理派生数据,紧接着第11章采用流式处理。第12章总结之前介绍的多种技术,并分析讨论未来构建可靠、可扩展和可维护应用系统可能的新方向或方法。




作者简介

作者简介

Martin Kleppmann是英国剑桥大学分布式系统方向的研究员。此前,他曾是LinkedIn和Rapportive等互联网公司的软件工程师,负责大规模数据基础设施建设。在此过程中他遇到过一些困难,因此他希望这本书能够帮助读者避免重蹈覆辙。Martin还是一位活跃的会议演讲者、博主和开源贡献者。他认为,每个人都应该学习深刻的技术理念,对技术的深入理解能帮助我们开发出更好的软件。




译者简介

赵军平, 大数据存储与分析资深开发者与推广者(EMC 10余年),GPU异构计算的亲历者。中国计算机协会专家委员,DELL EMC资深架构师。12年系统研发、创新与团队管理经验,擅长数据存储与保护, 云计算与大数据实时分析,GPU异构加速优化等。相关领域已申请中、美技术专利100余项,并多次在SNIA,LinuxConf,Hadoop Summit, Nvidia GPU Tech Conf等做技术分享,持续关注数据密集和计算密集相关技术的演进、融合与赋能推广。
吕云松,北京大学计算机硕士,硕士及DELL EMC中国研究院实习期间专注于大数据实时流式处理相关的研究。现就职于华为2012中软院黎曼实验室,主要从事深度学习的研发。
耿煜,DELL EMC架构师兼GTM负责人,致力于推广企业级数字化转型方案。深耕分布式架构以及云计算12年,先后任职于ChinaCache,Sun Microsystems以及EMC等公司。
李三平,美国麻省大学计算机工程专业博士,DELL EMC中国研究院首席科学家,研究方向为机器学习、深度学习、智能运维、遥感影像等。已在IEEE Transactions期刊和会议上发表论文数十篇,申请美国专利20余项。推崇简约,热衷机器学习。

内页插图
精彩书评

“这本书非常棒!它弥补了分布式理论和工程实践之间的鸿沟。我多么希望十年前它就能面市,这样我可以早点读到,从而避免这一路犯下的许多错误。”

——Jay Kreps

Apache Kafka的创造者,

Confluent CEO




“本书应该是软件开发者的必读书籍。很少有这样的书籍可以如此完美地衔接理论与实践,对于那些设计和实现基础数据架构的开发者而言,它可以帮你做出睿智的决定。”

——Kevin Scott




目录

前言 .....................................................1

第一部分 数据系统基础

第1章 可靠、可扩展与可维护的应用系统 ................... 11

认识数据系统 ...........................................12

可靠性 ..................................................14

可扩展性 ................................................18

可维护性 ................................................25

小结 .....................................................28

第2章 数据模型与查询语言 ............................... 33

关系模型与文档模型 .......................................34

数据查询语言 ...........................................46

图状数据模型 ......................................52

小结 ...................................................65

第3章 数据存储与检索 .................................. 71

数据库核心:数据结构 ...................................72

事务处理与分析处理 ...................................89

列式存储 .........................................94

小结 ..............................................101

第4章 数据编码与演化 .............................. 109

数据编码格式 .................................... 110

数据流模式 ......................................124

小结 .............................................134

第二部分 分布式数据系统

第5章 数据复制 ................