「设计数据密集型应用」书中第三、四章内容的思维导图。包括:存储与检索、编码数据等内容。
3. 存储与检索
驱动数据库的数据结构

散列索引

SSTable



SSTable 的优势
- 即使文件大于可用内存,合并段的操作仍然是简单而高效的。
- 为了在文件中找到一个特定的键,你不再需要在内存中保存所有键的索引。
- 由于读取请求无论如何都需要扫描所请求范围内的多个键值对,因此可以将这些记录分组为块(block),并在将其写入硬盘之前对其进行压缩
3.2 事务处理还是存储分析

OLAP vs OLTP
属性 | 事务处理系统 OLTP | 分析系统 OLAP |
---|---|---|
主要读取模式 | 查询少量记录,按键读取 | 在大批量记录上聚合 |
主要写入模式 | 随机访问,写入要求低延时 | 批量导入(ETL)或者事件流 |
主要用户 | 终端用户,通过 Web 应用 | 内部数据分析师,用于决策支持 |
处理的数据 | 数据的最新状态(当前时间点) | 随时间推移的历史事件 |
数据集尺寸 | GB ~ TB | TB ~ PB |
数据仓库
OLTP 系统往往对业务运作至关重要,因而通常会要求 高可用 与 低延迟。所以 DBA 会密切关注他们的 OLTP 数据库,他们通常不愿意让业务分析人员在 OLTP 数据库上运行临时的分析查询,因为这些查询通常开销巨大,会扫描大部分数据集,这会损害同时在执行的事务的性能。
从 OLTP 数据库中提取数据(使用定期的数据转储或连续的更新流),转换成适合分析的模式,清理并加载到数据仓库中。将数据存入仓库的过程称为 “抽取 - 转换 - 加载(ETL)”。

列式存储

4. 编码与演化
编码数据的格式



数据流的类型
