你如何设计OLAP数据库?

时间:2010-08-24 16:01:12

标签: olap

我需要一个心理过程来设计OLAP数据库......

基本上对于标准关系而言(松散地):

Identify Entities
Identify Relationships
Identify Properties of Entities

对于每个属性:

Ensure property can be related to only one entity
Ensure property is directly related to entity

对于OLAP数据库,我理解术语,动机和结构;但是,我不知道如何将我的关系模型分解为OLAP模型。

2 个答案:

答案 0 :(得分:8)

识别尺寸(或按) 这些是您可能想要分析/分组报告的任何内容。源数据库中的每个表都是潜在的Dimension。如果可能,尺寸应该是分层的,例如,您的日期维度应具有年,月,日层次结构,类似地,位置应具有例如国家/地区,区域,城市层次结构。这将允许您的OLAP工具更有效地计算聚合。

确定措施 这些是您的客户希望看到的KPI或实际数字信息,这些信息通常能够被聚合,因此源数据库中的任何非标志非键数字字段都是潜在的衡量标准。

以星型模式排列,其中“度量”位于中心“事实”表中,FK与适用的维度表关联。度量应存储在最低维层次结构级别。

确定事实表的“颗粒”,这基本上是“细节水平”。它通常由报告要求,源中可用的数据粒度和报告解决方案的性能要求决定。您可以随时识别谷物,或者一旦确定所有重要数据,您可以将其作为最后一步。我倾向于采取最后一步来确保我的事实表之间的颗粒是一致的。

最后一步是确定缓慢变化的尺寸以及这些尺寸的要求。例如,如果客户维度包含其地址的元素并且它们移动,那么该如何处理。

答案 1 :(得分:3)

确定尺寸和尺寸的一个重要方面是您为模型选择的最终基数。 假设您的关系数据库数据输入是全天的。 也许你不需要按小时,甚至白天来观察或汇总这些措施。您可以选择一周的粒度或每月等。