数据存储与检索


背景

现在主流的数据存储与检索引擎可以大致分为两种:OLTP和OLAP.

OLTP指的是online transaction processing.

OLAP指的是online analysis processing.

维度 OLTP OLAP
设计思路 面向行 面向列
系统功能 日常交易数据/在线事务处理 统计\分析\报表/在线分析处理
设计目标 面向试试交易类应用 面向统计分析类应用
数据处理 当前的,最新的 历史的,聚集的
实时性 实时性读写要求高 实时性读写要求低
事务 强事务 弱事务
分析要求 低,简单 高,复杂

OLAP主要应用在hive,spark,hbase等.本文重点研究OLTP,并将侧重点放在面向页(b+ tree)的存储引擎以及日志结构(lsm tree)的存储引擎.

研究大纲.png

为什么选择B+树作为基于页的存储引擎

现状分析

  • 读多写少的场景居多
  • 数据按行组织
  • 需要存储的数据量级增加到千万级量级
  • 存储时选择的存储介质需要满足成本较低\容量较大的特点

磁盘IO VS 内存IO

磁盘访问时间=寻道时间+旋转时间+传输时间:

  • 寻道时间: 8ms-12ms
  • 旋转时间: 7200转/min:半周 4ms
  • 传输时间: 50M/s,约0.3ms

磁盘随机IO<<磁盘顺序IO≈内存随机IO<<内存顺序IO


文章作者: 不二
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 不二 !
  目录