{"id":14138944,"url":"https://github.com/DistSysCorp/ddia","last_synced_at":"2025-08-05T04:31:18.553Z","repository":{"id":41499647,"uuid":"460057997","full_name":"DistSysCorp/ddia","owner":"DistSysCorp","description":"DDIA 逐章精读","archived":false,"fork":false,"pushed_at":"2024-09-08T09:03:13.000Z","size":41222,"stargazers_count":434,"open_issues_count":0,"forks_count":47,"subscribers_count":9,"default_branch":"main","last_synced_at":"2024-09-09T09:44:08.205Z","etag":null,"topics":["database","ddia","distributed-systems","storage"],"latest_commit_sha":null,"homepage":"https://ddia.qtmuniao.com","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DistSysCorp.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-02-16T15:15:51.000Z","updated_at":"2024-09-08T09:03:16.000Z","dependencies_parsed_at":"2024-01-02T21:26:48.840Z","dependency_job_id":"c35c5e2f-33c9-4285-b73d-f10fa81eec2d","html_url":"https://github.com/DistSysCorp/ddia","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DistSysCorp%2Fddia","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DistSysCorp%2Fddia/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DistSysCorp%2Fddia/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DistSysCorp%2Fddia/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DistSysCorp","download_url":"https://codeload.github.com/DistSysCorp/ddia/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":228703477,"owners_count":17959666,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["database","ddia","distributed-systems","storage"],"created_at":"2024-08-16T17:00:39.751Z","updated_at":"2024-12-08T07:31:01.957Z","avatar_url":"https://github.com/DistSysCorp.png","language":"HTML","funding_links":[],"categories":["HTML"],"sub_categories":[],"readme":"# 《DDIA 逐章精读》小册\n\n在理解英文原文的基础上，结合我的一些工作经验，进行一些相应扩展，并参考 [github 上 Vonng 的中文翻译版](https://github.com/Vonng/ddia)，对每一章用中文重新组织，作为每次分享的文字稿，在此集结为一本开源小册，并附上每章分享的**录屏视频**（[b 站](https://space.bilibili.com/30933812/channel/collectiondetail?sid=240551), [Youtube](https://www.youtube.com/playlist?list=PLSISRu2b2N54LGT3Pyef70ae8m0tAAo6g)），希望可以对有需要的同学有所帮助，水平所限，难免疏漏，如发现有任何有误之处，欢迎[提 issue](https://github.com/DistSysCorp/ddia/issues/new) 和 [PR](https://github.com/DistSysCorp/ddia/compare)。\n\n这个小册的电子版在[这里](https://mbd.pub/o/bread/ZJaXlZdt)，之后更新完后，电子书也会随之更新。\n\n## 目录\n\n### [序](preface.md)\n\n### 第一部分：数据系统基础\n\n- [第一章：可靠、可扩展、可维护](ch01.md) [[b 站](https://www.bilibili.com/video/BV1bY411L7HA) [Youtube](https://www.youtube.com/watch?v=geVsm3YGF4A\u0026list=PLSISRu2b2N54LGT3Pyef70ae8m0tAAo6g\u0026index=1)]\n  - [本书为什么以数据系统为主题](ch01.md#本书为什么以数据系统为主题)\n  - [可靠性](ch01.md#可靠性)\n  - [可伸缩性](ch01.md#可伸缩性)\n  - [可维护性](ch01.md#可维护性)\n- [第二章：数据模型和查询语言](ch02.md) [b 站 ([上](https://www.bilibili.com/video/BV19a411C7UN) [下](https://www.bilibili.com/video/BV1BZ4y1r79M)) Youtube ([上](https://www.youtube.com/watch?v=1TVdmZ_sJCM\u0026list=PLSISRu2b2N54LGT3Pyef70ae8m0tAAo6g\u0026index=2) [下](https://www.youtube.com/watch?v=GdihZOSMuuI\u0026list=PLSISRu2b2N54LGT3Pyef70ae8m0tAAo6g\u0026index=3))]\n  - [概要](ch02.md#概要)\n  - [关系模型 vs 文档模型](ch02.md#关系模型与文档模型)\n  - [数据查询语言](ch02.md#数据查询语言)\n  - [图模型](ch02.md#图模型)\n- [第三章：存储与查询](ch03.md) [b 站 ([上](https://www.bilibili.com/video/BV1mL411P72H/) [下](https://www.bilibili.com/video/BV1bL411A7ga)) Youtube([上](https://www.youtube.com/watch?v=tI1BmIZpK-c\u0026list=PLSISRu2b2N54LGT3Pyef70ae8m0tAAo6g\u0026index=4) [下](https://www.youtube.com/watch?v=8wiJSECzADc\u0026list=PLSISRu2b2N54LGT3Pyef70ae8m0tAAo6g\u0026index=5))]\n  - [底层数据结构](ch03.md#驱动数据库的底层数据结构)\n  - [事务型还是分析型](ch03.md#事务型还是分析型)\n  - [列式存储](ch03.md#列存)\n- [第四章：编码和演进](ch04.md) [[b 站](https://www.bilibili.com/video/BV1Aa411q7u9) [Youtube](https://www.youtube.com/watch?v=DqddHDVTkps\u0026list=PLSISRu2b2N54LGT3Pyef70ae8m0tAAo6g\u0026index=6)]\n  - [数据编码的格式](ch04.md#数据编码的格式)\n  - [几种数据流模型](ch04.md#几种数据流模型)\n\n### 第二部分：分布式数据\n\n- [第五章：冗余](ch05.md) [ b 站 ([上](https://www.bilibili.com/video/BV1VR4y1K7eK) [下](https://www.bilibili.com/video/BV1ou4116779)) Youtube([上](https://www.youtube.com/watch?v=pbURsaoKiYc\u0026list=PLSISRu2b2N54LGT3Pyef70ae8m0tAAo6g\u0026index=7) [下](https://www.youtube.com/watch?v=y23oqgIG7Vw\u0026list=PLSISRu2b2N54LGT3Pyef70ae8m0tAAo6g\u0026index=8))]\n  - [领导者与跟随者](ch05.md#领导者与跟随者)\n  - [复制滞后问题](ch05.md#复制滞后问题)\n  - [多主模型](ch05.md#多主模型)\n  - [无主模型](ch05.md#无主模型)\n- [第六章：分区](ch06.md) [b 站 ([上](https://www.bilibili.com/video/BV1tY4y157Np) [下](https://www.bilibili.com/video/BV1AA4y1f7Hi)) Youtue ([上](https://www.youtube.com/watch?v=7vvycyhJn1s\u0026list=PLSISRu2b2N54LGT3Pyef70ae8m0tAAo6g\u0026index=9) [下](https://www.youtube.com/watch?v=aPeHdQgBmi4\u0026list=PLSISRu2b2N54LGT3Pyef70ae8m0tAAo6g\u0026index=10))]\n  - [分片与复制](ch06.md#分片与复制)\n  - [键值对集的分片](ch06.md#键值对集的分片)\n  - [分片和次级索引](ch06.md#分片和次级索引)\n  - [分片均衡](ch06.md#分片均衡)\n  - [请求路由](ch06.md#请求路由)\n- [第七章：事务](ch07.md) [ b 站 ([上](https://www.bilibili.com/video/BV1d94y117pW) [中](https://www.bilibili.com/video/BV1u3411w765) [下](https://www.bilibili.com/video/BV1Qr4y1M7Zm)) Youtube ([上](https://www.youtube.com/watch?v=gbExnxslpCs\u0026list=PLSISRu2b2N54LGT3Pyef70ae8m0tAAo6g\u0026index=11) [中](https://www.youtube.com/watch?v=sDKKhGFyUmk\u0026list=PLSISRu2b2N54LGT3Pyef70ae8m0tAAo6g\u0026index=12) [下](https://www.youtube.com/watch?v=Lhs6H6IgFvY\u0026list=PLSISRu2b2N54LGT3Pyef70ae8m0tAAo6g\u0026index=13))]\n  - [棘手的概念](ch07.md#棘手的概念)\n  - [几种弱隔离级别](ch07.md#几种弱隔离级别)\n  - [可串行化](ch07.md#可串行化)\n- [第八章：分布式系统中的麻烦事](ch08.md) [b 站 ([上](https://www.bilibili.com/video/BV1Ad4y1D7Yy) [中](https://www.bilibili.com/video/BV1114y1L7wU) [下](https://www.bilibili.com/video/BV1uG411A7GK)) Youtube ([上](https://www.youtube.com/watch?v=-q-yY_0aCsg\u0026list=PLSISRu2b2N54LGT3Pyef70ae8m0tAAo6g\u0026index=13) [中](https://www.youtube.com/watch?v=mk-QfuBV_NQ\u0026list=PLSISRu2b2N54LGT3Pyef70ae8m0tAAo6g\u0026index=14) [下](https://www.youtube.com/watch?v=xhk-X-rkLU4\u0026list=PLSISRu2b2N54LGT3Pyef70ae8m0tAAo6g\u0026index=15))]\n  - [故障和部分失败](ch08.md#故障和部分失败)\n  - [不可靠的网络](ch08.md#不可靠的网络)\n  - [不可靠的时钟](ch08.md#不可靠的时钟)\n  - [知识、真相和谎言](ch08.md#知识、真相和谎言)\n- [第九章：一致性和共识协议](ch09.md) [b 站 ([上](https://www.bilibili.com/video/BV1eK411o73Q) [中](https://www.bilibili.com/video/BV1Y14y1P7xG) [下](https://www.bilibili.com/video/BV1r3411S7J2)) Youtube ([上](https://www.youtube.com/watch?v=Hq2gWib5n_I\u0026list=PLSISRu2b2N54LGT3Pyef70ae8m0tAAo6g\u0026index=17) [中](https://www.youtube.com/watch?v=Nds2xpnyS8A\u0026list=PLSISRu2b2N54LGT3Pyef70ae8m0tAAo6g\u0026index=18) [下](https://youtu.be/5ZCXSDMcerg))]\n  - [一致性保证](ch09.md#一致性保证)\n  - [线性一致性](ch09.md#线性一致性)\n  - [顺序保证](ch09.md#顺序保证)\n  - [分布式事务和共识协议](ch09.md#分布式事务和共识协议)\n\n### 第三部分：衍生数据\n\n- [第十章：批处理](ch10.md) [b 站 ([上](https://www.bilibili.com/video/BV1bG4y1U7pV) [中](https://www.bilibili.com/video/BV1fY4y1C7Rm) [下](https://www.bilibili.com/video/BV1pp4y177pG) [终](https://www.bilibili.com/video/BV1m94y1H74M)) Youtube ([上](https://www.youtube.com/watch?v=hOciQEiABN8\u0026list=PLSISRu2b2N54LGT3Pyef70ae8m0tAAo6g\u0026index=20) [中](https://www.youtube.com/watch?v=kszxdmOdf2g\u0026list=PLSISRu2b2N54LGT3Pyef70ae8m0tAAo6g\u0026index=21) [下](https://www.youtube.com/watch?v=q5r1TD_8oAs\u0026list=PLSISRu2b2N54LGT3Pyef70ae8m0tAAo6g\u0026index=22) [终](https://www.youtube.com/watch?v=vJlHRc1QRts\u0026list=PLSISRu2b2N54LGT3Pyef70ae8m0tAAo6g\u0026index=23))] \n  - [使用 Unix 工具进行批处理](ch10.md#使用Unix工具进行批处理)\n  - [MapReduce 和分布式文件系统](ch10.md#MapReduce和分布式文件系统)\n  - [MapReduce 之外](ch10.md#MapReduce之外)\n- [第十一章：流处理](ch11.md) [b站（[一](https://www.bilibili.com/video/BV13e41117wW) [二](https://www.bilibili.com/video/BV1Ge411n73W) [三](https://www.bilibili.com/video/BV1Ai4y1p7YL) [四](https://www.bilibili.com/video/BV1dv421y7wo) [五](https://www.bilibili.com/video/BV1G1421f7Nt) [六](https://www.bilibili.com/video/BV1FZ42117mL)）YouTube（[一](https://www.youtube.com/watch?v=nO0-JzStG6c\u0026list=PLSISRu2b2N54LGT3Pyef70ae8m0tAAo6g\u0026index=24) [二](https://www.youtube.com/watch?v=GrT6pMEWwNE\u0026list=PLSISRu2b2N54LGT3Pyef70ae8m0tAAo6g\u0026index=25) [三](https://www.youtube.com/watch?v=U2220JtjMK0\u0026list=PLSISRu2b2N54LGT3Pyef70ae8m0tAAo6g\u0026index=26) [四](https://www.youtube.com/watch?v=JwL2yEF66Ok\u0026list=PLSISRu2b2N54LGT3Pyef70ae8m0tAAo6g\u0026index=27) [五](https://www.youtube.com/watch?v=WZmm7X-ewJE\u0026list=PLSISRu2b2N54LGT3Pyef70ae8m0tAAo6g\u0026index=28) [六](https://www.youtube.com/watch?v=YH18Dx-Z2x0\u0026list=PLSISRu2b2N54LGT3Pyef70ae8m0tAAo6g\u0026index=29)）]\n  - [事件流的传输](ch11.md#事件流的传输)\n  - [数据库和流](ch11.md#数据库和流)\n  - [处理流](ch11.md#处理流)\n  - [小结](ch11.md#小结)\n\n# DDIA 读书会\n\nDDIA 读书分享会，会逐章进行分享，结合我在工业界分布式存储和数据库的一些经验，补充一些细节。每两周左右分享一次，欢迎加入，Schedule 在[这里](https://distsys.cn/t/ddia)。我们有个对应的分布式\u0026数据库讨论群，每次分享前会在群里通知。如想加入，可以加我的微信号：qtmuniao，简单自我介绍下，并注明：分布式系统群。\n\n另外，我的公众号：“**木鸟杂记**”，有更多的分布式系统、存储和数据库相关的文章，欢迎关注。关注公众号后，回复“**资料**”可以获取我多年来总结的一份分布式数据库学习资料。回复“**优惠券**”可以获取我的大规模数据系统付费专栏《[系统日知录](https://xiaobot.net/p/system-thinking)》的八折优惠券：\n![](img/wechat-column.jpg)\n\n# 关于我\n\n我是青藤木鸟，一个喜欢摄影的分布系统程序员，现主要做数据库方向。可以通过[领英](https://www.linkedin.com/in/qtmuniao/)，[b 站](https://space.bilibili.com/30933812)，[知乎](https://www.zhihu.com/people/qtmuniao) , 微信号 (qtmuniao) 找到我。更多分布式系统文章欢迎关注我的公众号——[木鸟杂记](https://mp.weixin.qq.com/mp/appmsgalbum?__biz=Mzg5NTcxNzY2OQ==\u0026action=getalbum\u0026album_id=2164896217070206977\u0026scene=126\u0026devicetype=iOS15.4\u0026version=18001d33\u0026lang=zh_CN\u0026nettype=WIFI\u0026ascene=59\u0026session_us=gh_80636260f9f9\u0026fontScale=106\u0026wx_header=3)。同名博客：木鸟杂记 [https://www.qtmuniao.com](https://www.qtmuniao.com)\n\n对于 Martin Kleppmann 博士的[DDIA](https://dataintensive.net/)，每章大概我自己要读两遍英文版，然后自己翻译一遍，再理顺一遍词句，再找相关资料补充一些背景，最后再讲一遍，因此每章最少都得花十几个小时甚至几十个小时（比如事务那一章）。但即便如此，一个人精力也有限，难免疏漏，欢迎提 issue 和 PR。创作不易，如果感觉感觉对你有帮助的话，不妨订阅下我的分布式系统、存储和数据库的技术专栏《[系统日知录](https://xiaobot.net/p/system-thinking)》 。\n\n最后，如果你想对某些章节讨论的话，欢迎来我搭的一个专门的分布式系统论坛：https://distsys.cn/t/ddia 。感谢阅读，感谢关注。\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FDistSysCorp%2Fddia","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FDistSysCorp%2Fddia","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FDistSysCorp%2Fddia/lists"}