数据仓库(Data Warehouse)是一个面向主题的(Subject Oriented)、集成的(Integrate)、相对稳定的(Non-Volatile)、反映历史变化(Time Variant)的数据集合,用于支持管理决策。本文主要讲述数据仓库的数据存储和实现。

当面临很多的数据,而且是各式各样类型的数据,还或许有的数据单元(粒度)很大,单纯靠数据库是不易处理,为了处理这些问题,进步体系后台的功率,就需求引进数据仓库

数据仓库的数据存储和完成(数据仓库存储的数据内容)  数据仓库 数据存储 OLTP 第1张

有关数据仓库的数据存储的几个根本问题:

1.数据存储的办法?

数据仓库的数据由两种存储办法:一种是存储在联络数据库中,另一种是按多维的办法存储,也便是多维数组。

2.存储何种数据?

数据仓库中存在不同的归纳等级的数据。一般把数据分红四个等级,前期细节级数据,当时细节级数据,轻度归纳级,高度归纳级。不同的归纳等级一般称为粒度。粒度越大,表明细节程度越低,归纳程度越高。等级的区分是依据粒度进行的。

数据仓库中还有一种是元数据,也便是关于数据的数据。传统数据库中的数据字典或许体系目录都是元数据,在数据仓库中 元数据表现为两种办法:一种是为了从操作型环境向数据仓库环境转化而树立的元数据,它包含了数据源的各种特点以及转化时的各种特点;另一种元数据是用来与多维模型和前端东西树立映射用的。

3.粒度与切割

粒度是对数据仓库中的数据的归纳程度凹凸的一个衡量。粒度越小,细节程度越高,归纳程度越低,答复查询的品种越多;反之粒度越大,细节程度越低,归纳程度越高,答复查询的品种越少。

切割是将数据涣散到各自的物理单元中去以便能别离独立处理,以进步数据处理的功率。数据切割后的数据单元成为分片。数据切割的规范能够依据实际状况来承认,一般可选择按日期、地域或许业务范畴等进行切割,也能够依照多个规范组合切割。

4.追加时数据的安排办法

这儿说一种比较简略的状况,轮转归纳文件。比方:数据存储单位被分为日、周、季度、年等几个等级。每天将数据记载在日记载会集;然后七天的数据被归纳寄存在周记载会集,每隔一季度周记载会集的数据被寄存到季度记载会集,依此类推……这种办法把越前期的记载寄存的归纳程度越高,也便是粒度越大。

数据仓库的完成进程:

一般地,规划和创立数据仓库的进程是:

1.承认用户需求

承认终端用户的需求,为数据仓库中存储的数据树立模型。经过数据模型,能够得到企业完好而明晰的描绘信息。数据模型是面向主题树立的,一起又为多个面向运用的数据源的集成供给了共同的规范。数据仓库的数据模型一般包含:企业的各个主题域、主题域之间的联络、描绘主题的码和特点组。

深化地剖析企业的数据源,记载数据源体系的功能与处理进程。一般地,规划数据仓库最重要的一步便是要了解商业动作的规矩,只要了解数据是怎么被处理的,才干分化商业处理进程,从中获取数据元素。

运用现有体系的信息,承认从源数据到数据仓库的数据模型一切必要的转化/归纳逻辑。这触及到应该兼并转化多少数据;是归纳一切的数据文件仍是归纳发生改动的操作体系文件;转化/归纳进程应该多长时刻履行一次等问题。决议数据转化与更新频率是重要的商业事情。不管数据仓库的更新是选用事情驱动仍是时刻驱动,都有必要让数据仓库知道当某种事情发生时就需求更新数据。

在数据仓库树立之前,应该写一个具体的计划和完成规划。这种计划和完成规划包含:树立商业事例、搜集用户需求、承认技能需求。树立商业事例包含由该计划处理的商业需求、计划的本钱和出资的收益。搜集用户需求首要是查询用户树立数据仓库的目的。用户需求能够承认这些内容:数据需求(粒度级)、企业运营体系包含的数据、这些数据遵从的商业规矩、需求供给给用户的查询、用户需求的规范陈述、即将运用的客户运用程序东西。承认技能要求包含下列内容:硬件体系结构和结构(例如,链接到数据商场地点的地理位置)、备份和康复机制、安全性约束、从运营体系到数据仓库加载数据和转化数据的办法。

#p#

2.规划和树立数据库

规划和树立数据库是成功地创立数据仓库的一个关键进程。这一步一般由有经历的数据库规划人员运用,因为这一步触及的数据来自多种数据源而且要把它们兼并成一个独自的逻辑模型。不象OLTP体系那样以高度的正规化办法存储数据,数据仓库中存储的数据以一种十分非正规化的办法存储数据以便进步查询的功能。数据仓库常常运用星型方式和雪花型方式来存储数据,作为OLAP东西办理的算计根底,以便尽或许快地呼应杂乱查询。

星型方式是***的完成数据仓库的规划结构。星型方式经过运用一个包含主题的现实表和多个包含现实的非正规化描绘的维度表来履行典型的决议计划支撑查询。一旦创立了现实表,那么能够运用OLAP东西预先核算常用的拜访信息。星型方式是一种联络型数据库结构,在该方式的中心是现实表,周围对错有必要的表,数据在现实表中保护,维度数据在维度表中保护。每一个维度表经过一个关键字直接与现实表相关。维度是安排数据仓库数据的分类信息,例如时刻、地理位置、安排等等。维度用于父层和子层这类分层结构。例如,地理位置维度能够包含国家、城市等数据。因而,在该维度表中,纬度由一切的国家、一切的城市组成。为了支撑这种分层结构,在维度表中需求包含每一个成员与更高层次上纬度的联络。维度关键字是用于查询中心现实表数据的仅有标识符。维度关键字就像主键相同,把一个维度表与现实表中的一行链接起来。这种结构使得很简略结构杂乱的查询句子而且支撑决议计划支撑体系中向下发掘式的剖析。现实表包含了描绘商业特定事情的数据。例如银行业务或许产品出售。现实表还包含了任何数据算计,例如每一个区域每月的出售状况。一般地,现实表中的数据是不允许修正的,新数据仅仅简略地添加进去。维度表包含了用于参阅存储在现实表中数据的数据,例如产品描绘、客户名字和地址、供货商信息等。把特征信息和特定的事情分隔,能够经过削减在现实表中扫描的数据量进步查询功能。维度表不包含与现实表相同多的数据,维度数据能够改动,例如客户的地址或许电话号码改动了。

经过下降需求从磁盘读取数据的数据量,星型方式规划有助于进步查询功能。查询句子剖析比较小的维度表中的数据来获取维度关键字以便在中心的现实表中索引,能够下降扫描的数据行。

在转化OLTP数据库方式到星型方式时,触及的进程如下:

a.承认现实表和维度表

  承认在OLTP体系中现有的表和数据包含了即将用在现实表和维度表中的数据,是十分重要的。假如承认不正确,那么数据仓库的功能就比较差,在今后或许需求从头规划。从头规划一个或许包含了很多数据的数据仓库是一项消耗很大的使命。承认现实表和维度表的结构和组成的进程比较难,特别是当触及多个OLTP体系时。

b.规划现实表

规划现实表的首要方针是最小化表的巨细。现实表是数据库中***的表,因为它们包含了根本的商业业务的具体信息。但是,一定要考虑存储和保护这些大表的本钱。例如,大表的处理时刻比较长、备份和康复的时刻比较长、履行查询的时刻也比较长。下降现实表巨细的最简略办法如下:下降列的数量、尽或许地下降每一个列的巨细、把历史数据归档到独自的现实表等。

c.规划维度表

规划维度表的首要方针对错正规化那么参阅现实表的数据到一个独自的表。最常用的维度数据应该直接参阅现实表,而不是经过其他维度表直接参阅维度表。这种办法能够最小化表衔接的数量,进步体系的功能。

d.完成数据库规划

当现实表和维度表规划之后,***一步是在Microsoft SQL Server中物理地完成数据库。当创立数据库时,考虑分区战略,能够运用由SQL Server供给的能够并行处理数据的文件组。当创立用于存储现实和维度的表时,应该尽或许地考虑数据库的分区战略,把现实表别离存储在不同的文件组上。索引能够加快数据仓库的检索,应该在每一个维度表的关键字列上创立一个索引。

3.提取和加载数据

把运营体系中数据提取出来然后加载到数据仓库中,跟着杂乱性的改动而改动。假如在数据源中的数据和即将出现在数据仓库中的数据是直接相关,那么这个进程十分简略。这个进程也或许十分地杂乱,例如数据源的数据驻留在多个异构体系中,而且在加载数据之前需求很多的改动格局和修正。提取和加载数据的进程如下:

◆校验运营体系中的数据

◆从运营体系中提取数据

◆净化数据

◆把数据转化和搬迁到数据仓库中

a.校验数据

在数据从OLTP体系提取之前,确保数据是彻底有用的是十分必要的。应该由商业剖析人员在数据源承认是有用的。对数据的任何改动应该在运营体系中改动,而不是在数据仓库中。校验数据是十分耗时的,经过写存储进程来查看数据的域完好性来自动化校验进程。但是,手艺校验数据也是必要的。假如发现了无效的数据,应该极力找到过错发生的原因和更正这些过错。

b.搬迁数据

从运营体系中搬迁数据一般是在数据复制到数据仓库之前,把数据复制到一个中心数据库中。假如数据需求净化,那么把数据复制到中心数据库中是必要的。应该在OLTP体系中活动比较低的时分复制数据,否则会下降体系的功能。别的,假如该数据仓库是由来自多个相关运营体系中的数据构成,应该确保数据搬迁发生在体系同步的时分。假如运营体系不同步,那么数据仓库中的数据或许会发生料想不到的过错。在Microsoft SQL Server 7中,Microsoft SQL Server Data Transformation Services Import and Export wizards能够用来创立一系列使命,能够把数据从异构运营体系中复制到一个运转SQL Server的中心数据库中。

c.数据净化

数据净化便是使数据到达共同性。在多个运营体系中,或许有相同的数据。例如,一个称号为ABC Cooperation的公司或许被写成ABC Co、ABC、ABC Cooperation等。假如这些称号不共同,那么在查询的时分就会将这个公司作为两个不同的公司处理。假如在数据仓库中的数据生成共同的信息,那么该公司的称号有必要彻底共同。

数据净化能够经过下面几种办法得到:

在从OLTP体系复制到中心数据库或许数据仓库时,运用SQL Server的数据转化服务的数据引进引出导游修正数据

写一个衔接数据源的Microsoft ActiveX脚本或许Visual C++程序,由DTS API程序履行,来净化数据

例如,在定单体系中,这些数据需求净化:State(有必要总是两个字符的值)以及ProductName(有必要是产品的完好称号,不能运用缩写)。那么,在复制数据的进程中,能够运用数据转化服务的引进引出导游查看State的值,使其为两个字符的值,经过写Visual C++程序能够确保产品的称号为完好的称号。一旦数据净化之后,就能够把数据移动到数据仓库中。

d.转化数据

在数据的搬迁进程中,一般地,常常需求把运营数据转化成一种独自的格局,以便习惯数据仓库的规划。例如,转化数据能够包含下列内容:把一切的字母字符改动成大写字母;从头核算汇总数据;把单个数据分化成多个数据,例如把格局为nnnn-description的产品代码分化成独自的代码和描绘值;把多个数据兼并成一个数据,例如把姓和名组成一个数据名字;把数据从一种表明办法映射成别的一种表明办法。例如把数据(1, 2, 3, 4)转化成(I, II, III, IV);因为数据现已被净化了,所以数据转化进程发生在搬迁进程中,这时数据要么从运营数据库中要么从中心数据库中复制到数据仓库中。

【修改引荐】

  1. 动态数据仓库渐鼓起 推进BI走到前端
  2. 轻松把握数据仓库开发
  3. BI技能在全面预算办理中的研讨
  4. CRM中商业智能之数据发掘全视图
  5. 走近数据库前沿技能——集群
转载请说明出处
知优网 » 数据仓库的数据存储和完成(数据仓库存储的数据内容)

发表评论

您需要后才能发表评论