多维数据模型的定义、实例与优缺点

多维数据模型是为满足用户从多角度、多层次查询和分析数据的需求,基于事实和维建立的数据库模型,基本应用是实现OLAP(联机分析处理)。其作用不仅在于数据展示、查询和获取,更在于通过数据仓库按不同需求建立各类多维模型,组成数据集市开放给不同用户群体使用,相当于按需求定制的数据商品供不同数据消费者选用。

理解多维模型需先了解事实表和维表。事实表记录具体事件,包含事件要素及发生内容;维表描述事实表中事件的要素信息。例如事件涉及时间、地点、人物,事实表只记录关键标记,具体描述需到相应维表查询。基于事实表和维表可构建星形模型、雪花模型和星座模型等。

与传统关系模型相比,基于关系数据库的多维模型有其优缺点。优点在于基于分析优化的数据组织和存储模式。例如电子商务操作数据库记录某时间点某用户购买某商品并寄送某地址,难以直接获取2010年7月有多少用户购买商品,或其中多少浙江用户。但在多维模型上,只需将时间维聚合到2010年7月、地域维聚合到浙江省即可实现,这正是OLAP的概念。

缺点是与关系模型相比灵活性不够,一旦构建就很难更改。例如订单事实中用户可能购买多种商品,包含时间、用户维和商品数量、总价等度量。关系模型下若需区分订单包含哪些商品,只需另建一张记录订单号与商品对应关系的表;但多维模型中事实表构建后,无法将一条订单记录再拆分,也就无法建立产品维,只能另建以产品为主题的事实表。因此建立多维模型前,一般会根据需求详细设计应包含哪些维和度量,以及数据应保持在何种粒度上才能满足分析需求。

posted @ 2026-09-16 13:09  浅谈数治  阅读(4)  评论(0)    收藏  举报