全书分为三大部分:
第一部分,主要讨论有关增强数据密集型应用系统所需的若干基本原则。首先开篇第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余项。推崇简约,热衷机器学习。
Data is at the center of many challenges in system design today. Difficult issues need to be figured out, such as scalability, consistency, reliability, efficiency, and maintainability. In addition, we have an overwhelming variety of tools, including relati...
评分版权归作者所有,任何形式转载请联系作者。 作者:荒城梦(来自豆瓣) 来源:https://www.douban.com/note/725242700/ 陆陆续续有几个月过去了,终于把这本“鸿篇巨制”读完了。本书在计算机类著作里并不算特别厚,说鸿篇巨制是因为随着越往后读越发觉得此书内容之广度与深度已...
评分Data is at the center of many challenges in system design today. Difficult issues need to be figured out, such as scalability, consistency, reliability, efficiency, and maintainability. In addition, we have an overwhelming variety of tools, including relati...
评分Martin Kleppmann 不仅是个牛逼的程序员,更是一个极富社会责任和人文关怀的牛逼程序员。而这是更难能可贵的。 习武之人讲究“习武先修德”。Martin Kleppmann 亦是如此。他用前十一章教会我们如何处理海量数据,用最后一章告诉我们如何正确使用数据。要保护用户隐私、要对自己...
这本书的语言风格非常吸引人,虽然是技术性很强的书籍,但作者并没有使用过于晦涩的术语,而是通过大量生动形象的比喻和案例,将复杂的分布式系统原理阐释得浅显易懂。我尤其喜欢作者在讲解CAP定理时,用“红皇后”和“黑天鹅”的比喻来形容一致性、可用性和分区容错性之间的权衡,这种方式不仅加深了我的理解,也让整个学习过程变得轻松有趣。书中对各种分布式一致性算法,如Paxos和Raft,进行了细致的剖析,并提供了伪代码和流程图,这对于我这样希望深入理解底层机制的读者来说,无疑是雪中送炭。此外,作者还花了相当大的篇幅介绍了几种主流的分布式数据库,并从设计理念、适用场景、优缺点等方面进行了详细的对比分析,这对于我未来在项目中进行技术选型非常有指导意义。读完这本书,我感觉自己对分布式系统的认知不再是碎片化的知识点,而是形成了一个清晰、完整的知识体系,能够更自信地应对实际工作中的技术难题。
评分这本书带给我的最大收获,是它彻底改变了我对“数据”的理解方式。在此之前,我更多地将数据视为一堆信息,而读完这本书,我才真正认识到数据背后蕴含的巨大能量,以及如何通过精妙的设计,将这些能量转化为驱动业务增长的动力。作者在书中强调了“可观察性”的重要性,指出一个优秀的数据密集型系统,不仅要能够处理数据,还要能够清晰地反映自身的状态和性能。书中关于“监控”、“日志”和“追踪”的讲解,为我提供了一套完善的可观察性体系。我特别喜欢书中关于“弹性设计”的讨论,它不仅仅是关于系统的可用性,更是关于系统如何在面对不可预测的负载变化时,依然能够保持稳定和响应。书中对“级联失败”的预防和处理机制的介绍,让我深刻理解了构建鲁棒系统的必要性。总而言之,这本书不仅仅是一本技术指南,更是一本关于如何构建智能、高效、可持续发展的数据驱动型应用的“思想启蒙”。
评分阅读这本书的过程,更像是在与一位经验丰富的架构师进行一对一的交流。作者在书中反复强调“权衡”的重要性,指出在设计数据密集型系统时,不存在银弹,所有决策都意味着在某些方面做出牺牲。这种务实的态度让我受益匪浅。书中对“可扩展性”的探讨尤为深入,不仅介绍了横向扩展和纵向扩展的概念,还详细阐述了如何通过数据分片、副本集、负载均衡等技术手段来实现系统的水平扩展。我特别对“无状态服务”和“有状态服务”的讨论印象深刻,理解了如何设计和管理有状态的服务,以及如何降低状态管理的复杂性。书中还分享了许多作者在实际项目中遇到的坑和经验教训,例如如何处理“拜占庭将军问题”,以及如何设计健壮的错误处理机制。这些真实的案例让我觉得这本书不仅仅是一本教科书,更是一本实用的“工具箱”,能够帮助我在面对复杂问题时,找到更有效的解决方案。
评分这本书的封面设计简洁大气,书名“数据密集型应用系统设计”几个字很有分量,一眼就能看出这是一本硬核的技术书籍。翻开扉页,作者深厚的背景介绍和本书旨在解决的痛点让我对接下来的阅读充满期待。我一直以来在实际工作中都面临着海量数据处理、高并发读写以及如何保证系统可用性和可扩展性等挑战,而这本书似乎就是为解决这些问题而生的。从目录上看,它涵盖了分布式系统的核心概念,如一致性、可用性、分区容错性,以及多种数据存储技术,包括关系型数据库、NoSQL数据库和分布式文件系统。我尤其关注关于“数据流水线”和“批处理与流处理”的章节,因为这正是我当前项目需要突破的技术瓶颈。作者在引言中强调了“模型驱动设计”的重要性,这一点非常有启发性,我相信这本书会提供一套系统性的方法论,帮助我们理解如何在复杂的数据环境中进行有效的设计和决策,而不仅仅是罗列技术细节。它承诺将带领读者深入理解数据系统底层的原理,从而做出更明智的技术选型和架构设计。
评分这本书的深度和广度都令人赞叹。它不仅涵盖了基础的分布式系统理论,还深入探讨了许多前沿的技术话题,比如“实时数据处理”和“批量数据处理”的融合,以及如何构建高效的“数据流水线”。作者在讲解“数据流水线”时,详细介绍了ETL、ELT等概念,并对不同数据处理框架的特点进行了深入分析。我尤其对书中关于“数据仓库”和“数据湖”的比较感兴趣,这让我对如何有效地组织和管理海量数据有了更清晰的认识。此外,书中还涉及到了“搜索引擎”和“推荐系统”等数据密集型应用的具体设计思路,这对于我了解这些领域是如何利用大数据技术来解决实际问题的,非常有帮助。作者并没有止步于理论,而是结合了大量的实际案例和代码示例,让读者能够更直观地理解抽象的概念。读完这本书,我感觉自己对如何构建强大、可靠、高效的数据密集型应用系统,有了系统性的提升。
评分CRUD程序员进阶必读之书。近年来读的最爽的技术书,很多方面在实际工作中都涉及到了,并且给出了自己的解决方案,但是看完本书,想把以前的再实现一下——虽然这是几乎不可能的。
评分涵盖数据集成、处理、存储的全貌,粗读了第一遍,然后又二刷了一遍,分布式领域涉及很多艰深的理论,需要大量理论学习。单机存储到分布式存储完全梳理了一下,收获颇丰。p.s.最后一章翻译太差,各种错别字,落字
评分最后一章错字病句太多
评分- 如果你需要一份数据相关内容/技术的坐标或者地图, 这本书绝对可以排在明显靠前的位置, 如果再考虑到时效性, 我建议你立刻打开来看看
评分- 如果你需要一份数据相关内容/技术的坐标或者地图, 这本书绝对可以排在明显靠前的位置, 如果再考虑到时效性, 我建议你立刻打开来看看