Rolap的数据存储模式

来源:互联网 发布:万德数据库怎么用 编辑:程序博客网 时间:2024/05/16 08:31

常见三种数据存储模式:星型模式、雪花模式、宽表模式

其中雪花模式很少用,个人认为,这种模式基本是以oltp的规范来做olap的设计,实际使用过程中存在诸多问题,实用性不强。

宽表模式是目前我用的比较多的,即所有的维度都是退化维。整个cube转化成为一张宽表,维度表可有可无。这种方式在以前是无法实现的,因为表太大太宽(行数可能达到亿级,列数可以达到几百列),即便以oracle这样强大的数据库管理系统都很难支撑这种表的查询。但是在大数据技术逐渐普及的今天,列式数据库和索引技术的发展,给这种大表的olap查询提供可能,我们目前使用的基于solr的改进方案,查询大表的响应时间非常短,毫秒级的。

星型模式是传统关系型数据库中占主流的物理存储模式。事实表与维表连接整个模式看起来像星状物而得名。

维度表:包含表示维度的列。通常不符合第三范式的要求,可以通过支架表来扩展为雪花模型,并符合第3范式。

事实表:事实+维度表代理键,事实表中的外键通常区分事实表中唯一的行。事实表中的行存储特定级别的细节的事实。细节的级别成为事实表的粒度。

典型的星型模式:

 

rolap的查询使用mdx语法进行组织,下图是一个MDX查询的过程(来自msdn)

 

一个简单的mdx查询过程分解为sql:

 

原创粉丝点击