2

是什么让访问 OLAP 多维数据集/数据集市和类似数据结构比访问关系数据库更快?

编辑

将尽快提供 200 的赏金。

4

1 回答 1

3

我会说主要是因为不同的目的。

OLAP 多维数据集/数据集市主要用于业务用户的数据分析的读取模式,而我假设在提到关系数据库时,您正在谈论需要例如 ACID 事务的 OLTP 使用。

这些不同的目的意味着:

  • 不同的实现约束导致不同的数据结构;只读数据结构比读/写交易对手快得多;面向行的 DB 对于 OLTP 的使用非常好,但对于 OLAP 的使用来说效率很低(因为无用的信息被访问),因为您主要想访问整个列/度量(因此关于垂直 DB 的嗡嗡声;请注意,内存中的 OLAP系统也是面向列的)。
  • 对于非常大的系统,OLAP 系统也可以执行某些维度聚合的一些预计算。
  • 不同的内容:不需要整个“运营”数据,业务模型可能会被业务用户简化为分析目的;然后可以使用数据子集,可以在创建维度时预先完成连接,等等......

此外,OLAP 具有更强大的语言 (MDX),具有更高的概念,如层次维度;实现可以利用这一点并提出针对这些概念优化的内部数据结构。

我的 2 美分。

于 2012-05-15T11:35:18.093 回答