「读书」数据密集型应用 Day 5

86 阅读2分钟

存储与检索(下)

事务处理还是分析

  • 数据库也开始越来越多地⽤于数据分析

image.png

数据仓库

  • 数据仓库是⼀个独⽴的数据库,分析⼈员可以查询他们⼼中的内容,⽽不影响OLTP操作。数据仓库包含公司所有各种OLTP系统中的只读数据副本。

OLTP 数据库和数据仓库之间的分歧

⼀个数据仓库和⼀个关系OLTP数据库看起来很相似,因为它们都有⼀个SQL查询接⼝。然⽽,系统的内部看起来可能完全不同,因为它们针对⾮常不同的查询模式进⾏了优化。现在许多数据库供应商都将重点放在⽀持事务处理或分析⼯作负载上,⽽不是两者都⽀持。

星型和雪花型:分析的模式

列存储

⾯向列的存储布局依赖于包含相同顺序⾏的每个列⽂件。

列压缩

内存带宽和向量处理

列压缩允许列中的更多⾏适合相同数量的L1缓存。前⾯描述的按位“与”和“或”运算符可以被设计为直接在这样的压缩列数据块上操作。这种技术被称为⽮量化处理【58,49】。

列存储中的排序顺序

写入列存储

  • B 树
  • LSM 树

聚合:数据⽴⽅体和物化视图

创建这种缓存的⼀种⽅式是物化视图。在关系数据模型中,它通常被定义为⼀个标准(虚拟)视图:⼀个类似于表的对象,其内容是⼀些查询的结果。不同的是,物化视图是查询结果的实际副本,写⼊磁盘,⽽虚拟视图只是写⼊查询的捷径。

关键词

  • 在线事务处理
  • 在线分析处理
  • 抽取 转换 加载
  • 库存单位