什么是ODS?还有什么是事实表和维度表啊?希望高手指教~

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了什么是ODS?还有什么是事实表和维度表啊?希望高手指教~相关的知识,希望对你有一定的参考价值。

最近在实习,经常听老员工在说什么ODS,还有事实表和维度表,希望哪个高手可以给我解释下?

ODS全称为Operational Data Store,即操作型数据存储,是“面向主题的、集成的、可变的、反映当前数据值的和详细的数据的集合,用来满足企业综合的、集成的以及操作型的处理需求”(Bill.Inmon)。ODS是数据仓库体系结构中的一个可选部分,ODS具备数据仓库的部分特征和OLTP系统的部分特征。
事实表就是按某个分析领域组合的数据表
纬度表则是这个领域上的分析指标的组合表

解释2:

简单点说;
事实表就是交易表。
维度表就是基础表。
用来解释事实表中关键字纬度的具体内容。

解释3:

事实数据表
数据仓库架构中的中央表,它包含联系事实与维度表的数字度量值和键。事实数据表包含描述业务(如银行事务或产品销售)内特定事件的数据。

维度表
数据仓库中的表,其条目描述事实数据表中的数据。维度表包含创建维度所基于的数据。

再举个实际的例子。银行对存款记账,A表中存放实际数据,包括账号、所属机构号、存款金额等,B表存放机构号和机构名称的对应关系。则A是事实表,B是维表。

事实表
每个数据仓库都包含一个或者多个事实数据表。事实数据表可能包含业务销售数据,如现金登记事务
所产生的数据,事实数据表通常包含大量的行。事实数据表的主要特点是包含数字数据(事实),并且这些数字信息可以汇总,以提供有关单位作为历史的数据,每个事实数据表包含一个由多个部分组成的索引,该索引包含作为外键的相关性纬度表的主键,而维度表包含事实记录的特性。事实数据表不应该包含描述性的信息,也不应该包含除数字度量字段及使事实与纬度表中对应项的相关索引字段之外的任何数据。
包含在事实数据表中的“度量值”有两中:一种是可以累计的度量值,另一种是非累计的度量值。最有用的度量值是可累计的度量值,其累计起来的数字是非常有意义的。用户可以通过累计度量值获得汇总信息,例如。可以汇总具体时间段内一组商店的特定商品的销售情况。非累计的度量值也可以用于事实数据表,单汇总结果一般是没有意义的,例如,在一座大厦的不同位置测量温度时,如果将大厦中所有不同位置的温度累加是没有意义的,但是求平均值是有意义的。
一般来说,一个事实数据表都要和一个或多个纬度表相关联,用户在利用事实数据表创建多维数据集时,可以使用一个或多个维度表。
维度表
维度表可以看作是用户来分析数据的窗口,纬度表中包含事实数据表中事实记录的特性,有些特性提供描述性信息,有些特性指定如何汇总事实数据表数据,以便为分析者提供有用的信息,维度表包含帮助汇总数据的特性的层次结构。例如,包含产品信息的维度表通常包含将产品分为食品、饮料、非消费品等若干类的层次结构,这些产品中的每一类进一步多次细分,直到各产品达到最低级别。
在维度表中,每个表都包含独立于其他维度表的事实特性,例如,客户维度表包含有关客户的数据。维度表中的列字段可以将信息分为不同层次的结构级。
参考技术A ODS全称为Operational Data Store,即操作型数据存储,是“面向主题的、集成的、可变的、反映当前数据值的和详细的数据的集合,用来满足企业综合的、集成的以及操作型的处理需求”(Bill.Inmon)。ODS是数据仓库体系结构中的一个可选部分,ODS具备数据仓库的部分特征和OLTP系统的部分特征。

事实数据表
数据仓库架构中的中央表,它包含联系事实与维度表的数字度量值和键。事实数据表包含描述业务(如银行事务或产品销售)内特定事件的数据。

维度表
数据仓库中的表,其条目描述事实数据表中的数据。维度表包含创建维度所基于的数据。

举个实际的例子:银行对存款记账,A表中存放实际数据,包括账号、所属机构号、存款金额等,B表存放机构号和机构名称的对应关系。则A是事实表,B是维表。
参考技术B CFCs,化学名称氯氟烃,商业名称氟利昂,以前大量用于冰箱空调制冷剂、有机溶剂、气雾剂等。化学性质很稳定,进入空气后会累积,消耗大气层中的臭氧,形成臭氧层空洞,加速温室效应。进入21世纪,全球的冰箱空调生产商禁用氟利昂。
ODS是消耗臭氧层物质。《关于消耗臭氧层物质的蒙特利尔议定书》规定要淘汰的ODS物质中,在我国生产和消费的ODS包括六类94种,这六类物质是:CFCs、哈龙、四氯化碳、1,1,1-三氯乙烷、HCFC和甲基溴。 在94种ODS中,我国目前主要生产和使用的有10种,它们是:CFC-11、CFC-12、CFC-113、哈龙-1211、哈龙-1301、四氯化碳、1,1,1-三氯乙烷、HCFC-22、HCFC-141b和甲基溴。其余的ODS在我国的生产量和消费量很小。
这里有详细的解答

数据库——事实表和维度表

【中文标题】数据库——事实表和维度表【英文标题】:Database - fact table and dimension table 【发布时间】:2012-02-20 14:37:04 【问题描述】:

在阅读有关业务对象的书籍时,我遇到了术语事实表和维度表。这是所有数据库的标准事物,它们都有事实表和维度表,还是仅用于业务对象设计?我正在寻找一种可以区分两者以及它们之间关系的解释。

已编辑:

为什么查询不能只从事实表中获取所需的数据?如果所有信息都单独存储在一个事实表中会发生什么?通过创建单独的事实和维度表并加入它,我们可以获得什么优势?

很抱歉一次有太多问题,但我想知道其中的相互关系和原因。

【问题讨论】:

【参考方案1】:

Dimension 和 Fact 是 OLAP 数据库设计中的关键术语。

事实表包含可以聚合的数据。 度量是聚合的数据表达式(例如,成本总和、调用次数......) 维度包含用于生成组和过滤器的数据。 没有维度数据的事实表是没用的。示例:“订单总数为 1M”不是信息,而是“2005 年至 2009 年订单总数”。

它们有很多使用这些概念(例如Microsft SSAS、Tableau Software)和语言(例如MDX)的 BI 工具。

有时很难知道数据是度量还是维度。比如我们在分析revenue,两种情况都有可能:

3 个措施net profitoverheadsinterest 1 个度量profit1 个维度profit type(包含 3 个元素:净额、开销、利息)

BI 分析师负责确定每个解决方案的最佳设计。

已编辑,因为问题也在编辑中:

OLAP 解决方案通常具有语义层。该层向 OLAP 工具提供以下信息:哪些元素是事实数据,哪些元素是维度数据以及表关系。与 OLTP 系统不同,OLAP 数据库不需要正确规范化。因此,您可以从包括事实表在内的多个表中获取维度数据。从事实表中获取数据的维度被命名为Fact Dimension or Degenerate dimension

在设计 OLAP 数据库时应牢记许多概念:“STAR Schema”、“SNOWFLAKE Schema”、“Surrogate keys”、“parent-child hierarchies”……

【讨论】:

请查看我更新的问题。到目前为止,我很感谢您的回答,但我想了解更多我的知识。【参考方案2】:

在数据仓库中拥有事实表和维度表是一个标准。事实表包含您正在测量的数据,例如您正在求和的数据。维度表是包含您不想在事实表中不断重复的数据的表,例如产品数据、状态、客户等。它们通过键相关:在星型模式中,事实表中的每一行包含维度表中一行的键。

【讨论】:

这是否意味着数据库设计者在设计数据库时应该分别创建事实表和维度表? 是的,分别创建它们。如果事实表中有所有维度数据,那么事实表将比它需要的大得多。尽管应该对数据仓库进行非规范化,但您可能不应该将其非规范化到只剩下一张表的程度。

以上是关于什么是ODS?还有什么是事实表和维度表啊?希望高手指教~的主要内容,如果未能解决你的问题,请参考以下文章

事实表和维度表

数据库——事实表和维度表

OLAP:为啥事实表和维度表之间的所有外键都应该是代理键?

维度表和事实表的含义是啥?

数据仓库事实表生成

离线数仓