这些术语到处都在使用,我不知道清晰的定义。我很确定我知道什么是数据集市。我还使用 Business Objects 和 Cognos 等工具创建了报告多维数据集。
也有人告诉我,数据集市不仅仅是多维数据集的集合。
我也有人告诉我,数据集市是一个报告立方体,仅此而已。
你理解的区别是什么?
这些术语到处都在使用,我不知道清晰的定义。我很确定我知道什么是数据集市。我还使用 Business Objects 和 Cognos 等工具创建了报告多维数据集。
也有人告诉我,数据集市不仅仅是多维数据集的集合。
我也有人告诉我,数据集市是一个报告立方体,仅此而已。
你理解的区别是什么?
Cube可以(并且可以说应该)意味着一些非常具体的东西 - 通过OLAP 服务器呈现的 OLAP 工件,例如MS Analysis Services或 Oracle(nee Hyperion)Essbase。但是,它的使用也更加松散。这种类型的 OLAP 多维数据集使用可感知多维数据集的查询工具,这些工具使用与标准关系数据库不同的 API。通常 OLAP 服务器维护自己的优化数据结构(称为MOLAP),尽管它们可以实现为关系数据源的前端(称为ROLAP)或以各种混合模式(称为HOLAP)
我试着具体一点,并专门使用“立方体”来指代 OLAP 服务器(如 SSAS)上的立方体。
Business Objects通过一个或多个源(可以是关系数据库、OLAP 多维数据集或平面文件)查询数据并创建称为MicroCube的内存数据结构来支持交互式切片和切块活动。Analysis Services 和 MSQuery 可以制作一个立方体 (.cub) 文件,该文件可由 AS 客户端软件或 Excel 打开并以类似方式切片和切块。IIRC 最近版本的 Business Objects 也可以打开 .cub 文件。
为了迂腐,我认为 Business Objects 位于真正的 OLAP 系统(如 ProClarity)和临时报告工具(如Report Builder、Oracle Discoverer或Brio )之间的“半结构化报告”空间中。往返查询面板使它作为一个纯粹的思想流 OLAP 工具有点笨拙,但它确实提供了传统报告所不具备的交互性水平。我认为 Business Objects 的最佳点在于两个地方:由不一定熟悉 SQL 的员工提供临时报告,以及提供以交互式格式交付的计划报告,允许深入研究数据。
“数据集市”也是一个相当宽松的术语,可以指数据仓库系统的任何面向用户的数据访问介质。该定义可能包括也可能不包括报告工具和元数据层、报告层表或其他项目,例如多维数据集或其他分析系统。
我倾向于将数据集市视为完成报告的数据库,特别是如果它是整个数据仓库架构的一个易于定义的子系统。然而,将其视为面向用户的报告层是非常合理的,特别是如果有允许最终用户直接获取数据的业务对象或 OLAP 系统等临时报告工具。
术语“数据集市”变得有些含糊不清,但它传统上与组织信息系统的面向主题的子集相关联。数据集市并未明确暗示存在诸如 OLAP 之类的多维技术,并且数据集市并未明确暗示存在汇总数值数据。
另一方面,多维数据集往往意味着数据是使用多维命名法(通常是 OLAP 技术)呈现的,并且数据通常被概括为多个层次结构的交集。(即您家庭的净资产与您的个人净资产以及介于两者之间的一切) 通常,“立方体”意味着非常具体的东西,而“数据集市”往往更笼统一些。
我想在 OOP 中你可以准确地说数据集市“有一个”立方体、“有一个”关系数据库、“有一个”漂亮的报告界面等等……但说任何一个都不太正确那些单独的“is-a”数据集市。术语数据集市更具包容性。
数据集市是特定业务流程的数据集合。数据的存储方式无关紧要。与具有行和列的表不同,多维数据集以一种特殊的方式、多维存储数据。olap 数据库中的多维数据集类似于传统数据库的表。数据集市可以有表或多维数据集。多维数据集使分析更快,因为它提前预先计算聚合。
顾名思义,多维数据集是结构化的多维数据集(通常三个维度,每个维度代表多维数据集的三个边)。数据集市只是一个容器,而不是其本身的结构,尽管它包含按维度和事实平面组织(如表)的数据集。
多维数据集的结构使得沿着多维数据集的各个维度可视化或概念化数据变得容易。因此,大多数业务分析师或开发人员发现查询多维数据集并与之交互很容易。
由于数据集市只是一个包含一堆表的容器;在查询和分析数据之前,用户需要首先概念化和理解维度结构。
数据集市传统上是指静态数据,通常面向日期/时间,由分析师用于统计、预算、绩效和销售报告以及其他计划活动。
Cube 是一个 OLAP 数据库,它非常详尽地将 OLTP 数据转换为静态的、面向日期/时间的模式,该模式使用的查询语言不是 SQL,而是专门为回答数据集市类型的问题而构建的。它使用度量、维度、星型模式等术语,而不是表、列和行。最熟悉的类比可能是电子表格中的数据透视表。
记住:
数据仓库是从遗留和事务数据库系统中获取数据并将其转换为用户友好格式的有组织信息的过程,以鼓励数据分析并支持基于事实的业务决策。
数据仓库是一个系统,它提取、清理、整合源数据并将其交付到维度数据存储中,然后支持和实现查询和分析以用于决策。
例如,KIMBALL 一直将数据集市定义为基于原子数据基础的整个组织数据的面向过程的子集,它仅取决于数据测量事件的物理特性,而不取决于预期的用户问题。
正确的定义
错误的定义
对我来说,数据集市只是数据以相对扁平、不可用的格式转储的地方。
Cube 正在获取这些数据并让它跳舞。
我同意马修的观点。我们倾向于将术语“数据集市”用于存储通用数据和跨企业中各种应用程序使用的映射的任何数据源。我们不在数据集市中存储可测量的数据,因此我将数据集市视为多维数据集的多个数据源之一。然而,这就是我们的做法。我确信没有什么可以阻止您将可测量的数据存储在数据集市中。