首页 理论教育分布式数据库技术:助力企业数据仓库与数据集市

分布式数据库技术:助力企业数据仓库与数据集市

【摘要】:而数据仓库中的数据仅是一系列某一时刻生成的复杂的快照。图24.8数据仓库的基本结构由图24.8可以看出,数据仓库不仅关注当前数据,也关注历史数据。数据仓库是一次一步地设计和载入数据。在数据仓库中,要在数据量大小与查询的详细程度之间作出权衡。判断样本所带来的问题是使样本数据具有某种偏差,随机抽取数据带来的问题是可能无法进行统计。如上所述,在数据仓库环境中,需要对数据进行分割。

如前所述,数据库可以分为操作性(生产性)数据库和分析性数据库,数据仓库是分析性的。

与生产性(操作性)数据库不同,数据仓库具有如下特征。

●数据仓库是一个面向主题的、集成的、非易失的且随时间变化的数据集合,用来支持管理人员的决策

●在数据仓库的所有特性中,数据仓库是集成的这个特性是最重要的。

●数据仓库中的数据时间期限要远长于操作性系统中的数据时间期限。数据仓库中的数据时间期限通常是5~10年。

●操作性数据库包含“当前值”的数据,这些数据的准确性在访问时是有效的,同样,当前值的数据能被更新。而数据仓库中的数据仅是一系列某一时刻生成的复杂的快照。

●操作性数据的键码结构可能包含也可能不包含时间元素,如年、月、日等。而数据仓库的键码结构总是包含时间元素。

数据仓库的基本结构如图24.8所示。

图24.8 数据仓库的基本结构

由图24.8可以看出,数据仓库不仅关注当前数据,也关注历史数据。元数据在这里也扮演重要角色,其负责对数据进行描述和标注。如图的上面所示,针对不同的应用需求和不同的主题,会构建不同的数据集市。

数据仓库是面向数据模型中已定义好的公司的主要主题领域,这类主题包括:客户、产品、事务或活动、索赔、账目等。

与数据库的建立不同,数据仓库的建立是进化性的。数据仓库是一次一步地设计和载入数据。

下面讨论一些关键问题。

1.粒度问题

粒度问题是设计数据仓库时最重要的一个方面。粒度是指在数据仓库的数据单位中保存数据时的细化或综合程度的级别。细化程度越高,粒度级就越小;相反,细化程度越低,粒度级就越大。

在数据仓库环境中,粒度之所以是主要的问题,是因为它深深地影响了存放在数据仓库中的数据量大小,同时影响了数据仓库所能给出的查询类型。在数据仓库中,要在数据量大小与查询的详细程度之间作出权衡。

很多时候,非常需要提高存储与访问数据的效率,以及详细分析数据的能力。当一个企业或组织的数据仓库中拥有大量数据时,在数据仓库的细节部分考虑双重(或多重)粒度级很有意义。

例如,财务记账在操作层记录大量的细节,其中大部分细节是为了满足结账系统的需求。在分析时,是否需要如此粒度的细节是一个问题。

我们把存放详细数据的数据库称为细节数据库。在数据仓库里,会对细节数据进行综合整理。

轻度综合数据库中的数据量比细节数据库中的数据量少得多。当然,在轻度综合数据库中,对能访问的细节存在一定的限制。

在数据的真实档案层上,存储所有的细节来自操作型环境。

鉴于费用、效率、访问便利和任何可以回答的查询的能力,数据双重粒度级是大多数机构构建数据仓库细节级的最好选择。只有当一个机构的数据仓库环境中的数据相对较少时,才应尝试采用数据粒度的单一级别。

2.分割问题(www.chuimin.cn)

分割是设计数据仓库时的第二个问题(在粒度问题之后)。数据分割是指把数据分散到各自的物理单元中去,它们能独立地处理。在数据仓库中,围绕分割问题的焦点不是该不该分割而是如何去分割的问题。

人们常说,如果粒度和分割都做得很好,则数据仓库设计和实现的几乎所有其他问题都容易解决。但是,假如粒度处理不当,并且分割也没有认真地设计与实现,这将使其他方面的设计难以真正实现。

3.样本数据库

还有一个选择是样本数据库。样本数据库是数据仓库的一种混杂的形式,它只是真实档案数据或轻度综合数据的子集。

样本记录的选取一般是随机的,必要时可采用一个“判断样本”(即记录必须达到一定标准才能被选中)。判断样本所带来的问题是使样本数据具有某种偏差,随机抽取数据带来的问题是可能无法进行统计。无论如何,数据是选择作为样本的,所以在样本数据库中找不到任何给定的记录这一事实是说明不了任何问题的。

样本数据库的最大好处是存取效率非常高。即使只是从一个大数据库中抽取很小一部分,对它进行访问和分析也相对地有效得多。

如上所述,在数据仓库环境中,需要对数据进行分割。下面进一步讨论分割问题。

对当前细节数据进行分割的总体目的是把数据划分成小的物理单元。数据分割为什么如此重要?因为小的物理单元能为操作者和设计者在管理数据时提供比对大的物理单元更大的灵活性。

当数据存放在大的物理单元中时,尤其不能达到容易重构、自由索引、顺序扫描(若需要)、容易重组、容易恢复、容易监控。

简单来说,数据仓库的本质之一就是,灵活地访问数据。如果是大块数据,就达不到这一要求。因此,对所有当前细节的数据仓库都要进行分割。

分割数据的准确含义是什么?当结构相同的数据被分成多个数据物理单元时,数据便被分割了。此外,任何给定的数据单元属于且仅属于一个分割。

有多种数据分割的标准,如按时间、地理位置、组织单位分割。

数据分割的标准是严格按照开发人员来选择的。然而,在数据仓库环境中,日期几乎是分割标准中的一个必然组成部分。以西风公司为例,它们可能关心以下几种情况。

●2000年亚洲地区的销售情况。

●2001年亚洲地区的销售情况。

●2002年亚洲地区的销售情况。

●2006年非洲地区的销售情况。

●2007年非洲地区的销售情况。

●2009年北美地区的销售情况。

●2016年欧洲地区的销售情况。

●2017年欧洲地区的销售情况。

这样公司可以使用日期作为标准来分割数据。