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

Posted

技术标签:

【中文标题】是啥让访问 OLAP 多维数据集/数据集市和类似数据结构比访问关系数据库更快?【英文标题】:What makes access to OLAP Cubes / Datamarts and similar datastructures, faster than to relational databases?是什么让访问 OLAP 多维数据集/数据集市和类似数据结构比访问关系数据库更快? 【发布时间】:2012-05-11 12:42:13 【问题描述】:

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

编辑

将尽快提供 200 的赏金。

【问题讨论】:

然后等待赏金 ;-) 同时,我猜你应该缩小这个非常开放的问题的范围。 @MarcPolizzi:这是赏金。 速度不是第一因素。关键在于您的销售副总裁能否轻松找出架构。 【参考方案1】:

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

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

这些不同的目的意味着:

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

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

我的 2 美分。

【讨论】:

以上是关于是啥让访问 OLAP 多维数据集/数据集市和类似数据结构比访问关系数据库更快?的主要内容,如果未能解决你的问题,请参考以下文章

sql查询聚合与聚合和查询OLAP多维数据集的区别

OLAP 多维数据集 - 上次读取/访问维度时

OLAP 架构?

在连接到 SSAS OLAP 多维数据集的 Excel 中按键排序

使用 C# .NET 访问 Oracle 多维数据集中的 OLAP 数据?

为 Excel Pivot 提供支持的 OLAP 多维数据集。啥是更好的解决方案?