设计数据密集型应用-设计数据密集型应用 - 中文翻译

译序

不懂数据库的全栈工程师不是好架构师

—— Vonng

现今,尤其是在互联网领域,大多数应用都属于数据密集型应用。本书从底层数据结构到顶层架构设计,将数据系统设计中的精髓娓娓道来。其中的宝贵经验无论是对架构师、DBA、还是后端工程师、甚至产品经理都会有帮助。

这是一本理论结合实践的书,书中很多问题,译者在实际场景中都曾遇到过,读来让人击节扼腕。如果能早点读到这本书,该少走多少弯路啊!

这也是一本深入浅出的书,讲述概念的来龙去脉而不是卖弄定义,介绍事物发展演化历程而不是事实堆砌,将复杂的概念讲述的浅显易懂,但又直击本质不失深度。每章最后的引用质量非常好,是深入学习各个主题的绝佳索引。

本书为数据系统的设计、实现、与评价提供了很好的概念框架。读完并理解本书内容后,读者可以轻松看破大多数的技术忽悠,与技术砖家撕起来虎虎生风🤣。

这是 2017 年译者读过最好的一本技术类书籍,这么好的书没有中文翻译,实在是遗憾。某不才,愿为先进技术文化的传播贡献一份力量。既可以深入学习有趣的技术主题,又可以锻炼中英文语言文字功底,何乐而不为?

前言

在我们的社会中,技术是一种强大的力量。数据、软件、通信可以用于坏的方面:不公平的阶级固化,损害公民权利,保护既得利益集团。但也可以用于好的方面:让底层人民发出自己的声音,让每个人都拥有机会,避免灾难。本书献给所有将技术用于善途的人们。


计算是一种流行文化,流行文化鄙视历史。 流行文化关乎个体身份和参与感,但与合作无关。流行文化活在当下,也与过去和未来无关。 我认为大部分(为了钱)编写代码的人就是这样的, 他们不知道自己的文化来自哪里。

—— 阿兰・凯接受 Dobb 博士的杂志采访时(2012 年)

[序言]

[第一部分:数据系统基础]

  • [第一章:可靠性、可伸缩性和可维护性]
    • [关于数据系统的思考]
    • [可靠性]
    • [可伸缩性]
    • [可维护性]
    • [本章小结]
  • [第二章:数据模型与查询语言]
    • [关系模型与文档模型]
    • [数据查询语言]
    • [图数据模型]
    • [本章小结]
  • [第三章:存储与检索]
    • [驱动数据库的数据结构]
    • [事务处理还是分析?]
    • [列式存储]
    • [本章小结]
  • [第四章:编码与演化]
    • [编码数据的格式]
    • [数据流的类型]
    • [本章小结]

[第二部分:分布式数据]

  • [第五章:复制]
    • [领导者与追随者]
    • [复制延迟问题]
    • [多主复制]
    • [无主复制]
    • [本章小结]
  • [第六章:分区]
    • [分区与复制]
    • [键值数据的分区]
    • [分区与次级索引]
    • [分区再平衡]
    • [请求路由]
    • [本章小结]
  • [第七章:事务]
    • [事务的棘手概念]
    • [弱隔离级别]
    • [可串行化]
    • [本章小结]
  • [第八章:分布式系统的麻烦]
    • [故障与部分失效]
    • [不可靠的网络]
    • [不可靠的时钟]
    • [知识、真相与谎言]
    • [本章小结]
  • [第九章:一致性与共识]
    • [一致性保证]
    • [线性一致性]
    • [顺序保证]
    • [分布式事务与共识]
    • [本章小结]

[第三部分:衍生数据]

  • [第十章:批处理]
    • [使用Unix工具的批处理]
    • [MapReduce和分布式文件系统]
    • [MapReduce之后]
    • [本章小结]
  • [第十一章:流处理]
    • [传递事件流]
    • [数据库与流]
    • [流处理]
    • [本章小结]
  • [第十二章:数据系统的未来]
    • [数据集成]
    • [分拆数据库]
    • [将事情做正确]
    • [做正确的事情]
    • [本章小结]

[术语表]

[后记]

法律声明

从原作者处得知,已经有简体中文的翻译计划,将于 2018 年末完成。购买地址

译者纯粹出于 学习目的  个人兴趣 翻译本书,不追求任何经济利益。

译者保留对此版本译文的署名权,其他权利以原作者和出版社的主张为准。

本译文只供学习研究参考之用,不得公开传播发行或用于商业用途。有能力阅读英文书籍者请购买正版支持。

贡献

  1. 全文校订 by @yingang
  2. 序言初翻修正 by @seagullbird
  3. 第一章语法标点校正 by @nevertiree
  4. 第六章部分校正 第十章的初翻 by @MuAlex
  5. 第一部分前言,ch2校正 by [@jiajiadebug]校正 by @jiajiadebug
  6. 词汇表后记关于野猪的部分 by [@Chowss]关于野猪的部分 by @Chowss
  7. 繁體中文版本与转换脚本 by @afunTW
  8. 多处翻译修正 by @songzhibin97
  9. 感谢所有作出贡献,提出意见的朋友们:Pull Requests & Issues

协议

[CC-BY 4.0]

文章列表

更多推荐

更多
  • Pharo敏捷人工智能-第一部分:神经网络
    Apache CN

  • Pharo敏捷人工智能-第二部分:遗传算法
    Apache CN

  • Pharo敏捷人工智能-# 第三部分:神经进化 第三部分:神经进化
    Apache CN

  • Azure数据工程指南-二十四、数据治理的权限 创建 azure 预览帐户,探索 azure 预览,探索词汇表,浏览资产,以编程方式使用预览,摘要,管理凭证和访问,创建扫描, 许多组织需要建立数据治理流程、标准和方法,并且已经能够使用内部 SQL Server 工具(如 Master
    Apache CN

  • Azure数据工程指南-二十二、Synapse 分析工作区 创建 Synapse 分析工作区,使用 Spark 探索样本数据,用 SQL 查询数据,用 SQL 创建外部表,摘要, 微软 Azure 数据平台的众多新增功能已经围绕许多类似的产品及其在现代 Azure 数据平台中的用途产生了兴奋和困
    Apache CN

  • Azure数据工程指南-二十三、数据块中的机器学习 创建 MLflow 实验,安装 MLflow 库,创建笔记本,选择性测井,自动记录,摘要, 寻求利用机器学习(ML)和人工智能能力的组织和开发人员花费大量时间构建 ML 模型,并寻求一种方法来简化他们的机器学习开发生命周期,以跟踪实验,
    Apache CN

  • Azure数据工程指南-二十一、将 Apache Spark 的 GraphFrame API 用于图形分析 安装 JAR 库,加载新数据表,将数据加载到数据块笔记本中,用顶点和边构建一个图,查询图表,寻找有图案的图案,用 PageRank 发现重要性,探索入度和出度度量,摘要,进行广度优先搜索,查找连接的组件, 图形技术使用户能够以图形的形式
    Apache CN

  • Azure数据工程指南-20 二十、部署 SQL 数据库先决条件,创建 Visual Studio SQL 数据库项目,安装 Visual Studio GitHub 扩展,导入 AdventureWorks 数据库,连接到 GitHub Repo 源代码控制,将
    Apache CN

  • Azure数据工程指南-十九、部署数据工厂更改 先决条件,创建 DevOps 持续集成构建管道,创建 DevOps 持续部署发布渠道,验证部署的数据工厂资源,摘要,Azure PowerShell 任务停止触发器,ARM 模板部署任务,Azure PowerShell 任务启动触发器
    Apache CN

  • Azure数据工程指南-十八、用于 Cosmos DB 的 Azure Synapse 链接 创建一个 Azure Cosmos DB 帐户,启用 Azure Synapse 链接,创建一个 Cosmos DB 容器和数据库,将数据导入 Azure Cosmos DB,在 Azure Synapse Analytics 中创建
    Apache CN

  • 近期文章

    更多
    文章目录

      推荐作者

      更多