【笔记】Designing Data-Intensive Applications - 概览

179 阅读2分钟

太久没有接受O'RELLY的熏陶,感觉整个人写业务逻辑快写傻了,寻得新书一本,记录下学习过程。

设计数据密集型应用 - 构造可靠,可扩展,可维护的系统

看起来就很高大上,首先从目录梳理下这本书主要讲什么吧!

第一部分:数据系统的基础

主要分成四个小节:

  1. 可靠、可扩展、可维护系统的简要介绍,大概讲了下这三个点主要遇到的一些问题
  2. 数据模型和查询语言,包括关系型模型与文档型模型的对比,数据查询语言的概要,以及讲了下类图数据模型
  3. 存储与检索,看起来是一些常用的数据结构比如哈希索引、B树、LSM树等介绍,以及事务处理分析,面向列的存储(这里之前没接触过,暂时不知道什么意思)
  4. 编码与演进,看起来是数据存储时的编码、压缩等问题

第二部分:分布式数据

主要分成五个小节:

  1. 复制,分布式系统的可靠性其中之一基于数据的多份复制,这一节看起来主要讲复制的主从等问题
  2. 分区,讲和复制的关系,分区的策略以及二级索引、分区rebalance等问题
  3. 事务,ACID的含义,以及分布式事务的基本协议介绍,常见问题
  4. 分布式系统的问题,主要列举了分布式系统常见的不可靠因素,比如分区、网络、时钟等问题
  5. 一致性和共识,看起来主要是分布式系统的共识算法,2阶段提交,事务序列等相关的内容

第三部分:衍生数据

主要分成三个小节:

  1. 批处理,Unix的批处理工具,MapReduce和分布式文件系统,以及一些扩展内容
  2. 流处理,消息分发、流处理等,这块也没接触太多,只是之前听说过实时流处理的一些场景,等看到再补
  3. 数据系统的未来,好吧,这块感觉是总结与展望

有感兴趣的同学可以一起看哇~