• 请不要在回答技术问题时复制粘贴 AI 生成的内容
YanSeven
V2EX  ›  程序员

最近一口气看了 10 章 DDIA-V2,确实是好书啊

  •  
  •   YanSeven · 20h 28m ago · 2191 views
    尤其是在 AI 时代,对于入行两年的我而言,DDIA 完全是起到了提纲挈领,导师级的作用。

    并且阅读的时候,DDIA-V2 配合 LLM 问答,完全相得益彰。书中无需赘述过多的技术细节。有疑惑不懂地及时问 AI 。也能快速的从逻辑和知识面上予以解惑。

    虽然学了照样还是要面临行业危机,但确实是好书。
    12 replies    2026-09-08 10:00:36 +08:00
    midasplus
        1
    midasplus  
       19h 9m ago
    竟然已经出第二版了
    DDIA 第一版读完确实收获了很多
    levelworm
        2
    levelworm  
       18h 48m ago via iPhone
    的确看了,但是感觉一个说的比较粗,另外一个毕竟亲身实践的太少。可能还是要针对里头每一章做实验。
    YanSeven
        3
    YanSeven  
    OP
       18h 34m ago
    @midasplus 是的,和第一版相差不大,算是小迭代
    YanSeven
        4
    YanSeven  
    OP
       18h 32m ago   ❤️ 1
    @levelworm 提纲挈领式的,粗点到不是缺点了。细节的基于书里的参考文献然后让高级 llm 譬如 gpt6 这种发散一下就是一篇深度文章甚至加上实验计划。在 llm 时代倒也没什么问题了。
    sora2blue
        5
    sora2blue  
       17h 55m ago via Android   ❤️ 1
    确实是好书,人工含量很高,能跟着大佬建立基本的认知框架
    JasonYip
        6
    JasonYip  
       17h 38m ago   ❤️ 1
    感谢佬推荐 已经加入书单准备学习
    prosgtsr
        7
    prosgtsr  
       16h 17m ago   ❤️ 1
    忘干净了已经。。
    几乎所有读过的书都忘干净了。。
    levelworm
        8
    levelworm  
       13h 0m ago via iPhone
    @YanSeven #4
    的确也是。我读了一遍之后觉得还得继续精读。现在在重新读第二遍。
    YanSeven
        9
    YanSeven  
    OP
       8h 12m ago
    @prosgtsr 说明已经内化了,进入无招胜有招境界
    FeifeiJin
        10
    FeifeiJin  
       7h 30m ago
    @prosgtsr
    这种就是张无忌的所有招式都忘记了。
    FeifeiJin
        11
    FeifeiJin  
       7h 27m ago
    DDIA 是一本绝对意义的好书,分享看第一版时的一些笔记。

    #读书感悟/DesigningDataIntensiveApplication
    第一章围绕构建系统的三个原则,
    - Reliability
    - Scalability
    - Maintainability
    工作超过五年,只要稍微看过几本关于分布式系统、微服务或 DDD 方面的书的话,对这些东西早已经滚瓜烂熟。这一章不过是把一些散落在天涯的知识进行归纳而已。如果是刚毕业读这本书必然从这里开始便能醍醐灌顶,但对于工作十年以上的老油条而言,但凡你经历过上线即宕机、负载过大仿佛被 DDoS 以及堆积如屎山的技术债,那么这章不过是在简单描述你经历过的惨事罢了。
    不过里面提到两个例子还蛮有趣的,
    - 一个是 Twitter 的信息流,从每次刷新 timeline 的时候去即时读取数据,转变为有人发 Twitter 就往粉丝的 timeline 里主动插入数据,把读的压力转换为写的压力。
    - 另外是 Amazon 对于服务的 p99 ,致力于满足 99%的客户。动机很有趣,因为正是那 1 %的客户使用频次高,他们才是核心用户。



    #读书感悟/DesigningDataIntensiveApplication
    第二章则是宽泛地介绍了数据库类型与选择。
    - 关系型数据库 (MySQL, PostgreSQL, etc.)
    - 文档型数据库 (MongoDB)
    - 图数据库(Neo4J)
    Data models 旨在去思考我们想要解决的问题,而不仅仅是数据如何在软件中存储。在现代化的编程模型中,细节都一层层的被隐藏了,比如对于我这个时代而言 DataLog 是所有数据库模型基础,也是今天才知道。对于下一代使用 Ai 或 No-Code 的人而言,他们可能连数据模型都不需要知道,这些复杂的行为可以被 in-advanced 语言所隐藏。
    在现代编程思想里,万物皆可对象化,则万物皆可关系数据库化。不过世上没有银弹,应该在合适的场景下选择合适的数据库。
    - 一对多,且只有 writen 时,NoSQL 是最优解,例如聊天记录。
    - 多对多,以及超级复杂的数据模型时,Graphic Database 。比如社交网络关系,Page Ranking 。
    - 其余读写频繁,且关系不复杂基本可以用 Relational Databse 。
    本章宽泛地介绍了数据库基本选型,值得赞美是它并未陷入细节里,比如 MySQL 数据的存储方式、索引规则等等。它简洁明了地介绍 了各种数据库的使用场景,让你知道何时该选择什么样的数据库,也简述了数据库的发展发展历史。
    从业这么些年,每次接触一个新系统,其实只要弄清楚它的数据流向,那么这个系统也就手到擒来,说到底。Information System 的根本还是围绕数据的上下游进行各种处理。


    #读书感悟/DesigningDataIntensiveApplication
    第三章主题是数据在内存和硬盘里的存储和获取。
    对于 2010 年代后进入编程行业的程序员,数据库的存储细节也被现代化的数据库隐藏起来。从业良久,没有认真地去思考过数据的错处方式和细节,现在的感受就是:作为行业人员,真的好不合格。
    从功能性出发分为两类:
    - OLTP ,面向用户的数据库,写入大于读取,传统开发人员使用频次最高的数据库,几乎所有的关系性数据库都是 OLTP 。
    - OLAP ,面向的用户是数据分析师,转精于大体量的数据查询。但凡是开发人员(数据工程师除外)使用较少的数据库,几乎都是 OLAP 。
    数据最终是以文件形式持久化存储于磁盘的,这对于容灾备份、快速复制和数据恢复及节省成本都是有益的,而如何让数据快速的存储和读取则是我们需要考虑的问题。这里需要建立在一个鱼与熊掌的话题上:读写不可兼得。
    - Index 的引入是增加写压力而增强读能力。
    - Hash Index:Key-Value Index ,检索能力可以达到 O(1)。
    - SSTable:MemTable 和 compatced LSM Tree 的最佳实践。LSM Tree 设计上是 imuteable ,因此 SSTable 也多用于 NoSql ,Apache Cassandra 和 Apache HBase 。
    - B-Trees:Relational Database 的 Index 的流行通用实践,MySql 、MS SQL Server 和 Oracle SQL 都是使用 B-Trees 作为索引的存储结构。B-Tree 的 key point 是它有一个 worst predictable time 是 O(LogN)。
    - Red-Black-Tree:是 B-Tree 的延伸 Variant ,当下流行数据库 PostgreSql 就使用了它。
    还有其它对全文检索的 fuzzy idnex 、in memory index 等。
    还有介绍到 Column-Oriented Storage 、Data Cube 和 Materialized Views 。
    本章进入到数据存储和读取的核心原理,几乎是最痛的痛点进行讲解,而有没有去更深入到锁、同步、如何保持读写一致性等等都技术细节里,而是站在一个刚好适宜的位置去评价市面上主流和流行的数据库,这个尺度拿捏的恰到好处,读完本章节,已经开始对此书赞不绝口了。




    从第三章开始已经停不下对它的赞美。
    FeifeiJin
        12
    FeifeiJin  
       7h 26m ago
    然后分享一个有趣但无用的知识:第八章的作者是 Gay 。


    看《 DDIA 》,刚打开第八章看到引言作者名字后面跟着 Carly Rae Jepen 。我心想“大事不妙啊,蹲妹都蹲到我专业领域来了吗?”。于是把整个部分放到 google ,然后发现讲这句话的人现在穿着 leather 参加 pride ,倒也没震惊我一百年,不过下次再有人问不写代码去做什么的时候,我就把此人 Twitter 给甩过去,看!这就是本人的商业转型!
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   5116 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 09:27 · PVG 17:27 · LAX 02:27 · JFK 05:27
    ♥ Do have faith in what you're doing.