数据仓库相关概念

Posted AI聚合号

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据仓库相关概念相关的知识,希望对你有一定的参考价值。

一、数据仓库

Datawarehouse is a subject orientedintegratednon-volatile and time variant collection of data in support of management’s decision ——[Inmon,1996].

数据仓库就是面向主题的(Subject-Oriented )集成的(Integrated)非易失的(Non-Volatile)时变的(Time-Variant )数据集合,用以支持管理决策 。


1、面向主题

    1) 一个主题领域的表来源于多个操作型应用(如客户主题,来源于订单处理,应收/应付帐目等)

    2) 典型的主题领域:客户;产品;交易;帐目

    3) 主题领域以一组相关的表来具体实现

    4) 相关的表通过公共的键码联系起来(如:顾客标识号Customer ID)

    5) 每个键码都有时间元素(从日期到日期;每月累积;单独日期…)

    6) 主题内数据可以存储在不同介质上(综合级,细节级,多粒度)

    7) 商业主题对应于企业决策包含的分析对象

2、集成:数据提取、净化、转换、装载(ETL)

  不同操作型系统之间的数据一般是相互独立、异构的。而数据仓库中的数据是对分散的数据进行抽取、清理、转换和汇总后得到的,这样保证了数据仓库内的数据关于整个企业的一致性。 

数据仓库相关概念        

3、非易失性/稳定性:批处理增加,仓库已经存在的数据不会改变

    数据仓库的用户对数据的操作大多是数据查询或比较复杂的挖掘,一旦数据进入数据仓库以后,一般情况下被较长时间保留。数据仓库中一般有大量的查询操作,但修改和删除操作很少。因此,数据经加工和集成进入数据仓库后是极少更新的,通常只需要定期的加载和更新。


5、时变性(时间维):按时间维度统计

    数据仓库中的数据可能与某个特定日期、星期、月份、季度或者年份有关。数据仓库的目的是通过分析企业过去一段时间业务的经营状况,挖掘其中隐藏的模式。

  虽然数据仓库的用户不能修改数据,但并不是说数据仓库的数据是永远不变的。分析的结果只能反映过去的情况,当业务变化后,挖掘出的模式会失去时效性。因此数据仓库的数据需要更新,以适应决策的需要。从这个角度讲,数据仓库建设是一个项目,更是一个过程 。数据仓库的数据随时间的变化表现在以下几个方面。
 (1)数据仓库的数据时限一般要远远长于操作型数据的数据时限。
 (2)操作型系统存储的是当前数据,而数据仓库中的数据是历史数据。
 (3)数据仓库中的数据是按照时间顺序追加的,它们都带有时间属性。


6、管理决策支持


二、数据集市(小型的,面向部门或工作组级数据仓库)

  人们在早期开发企业级数据仓库时,一般是先建立一个全局的数据仓库,然后在此基础上建立各种应用,即“自顶向下”的方法。但在开发的过程中会出现以下问题。
(1)如果按“自顶向下”的方法建立企业级数据仓库,建设规模往往较大,建设周期长,投资大。
(2)在数据仓库建好后,随着使用数据仓库的部门增多,对数据仓库资源的竞争将成为企业面临的一个难题。
(3)各个部门希望能定制数据仓库中的数据,但数据仓库是面向企业的。为解决上述问题,人们提出了数据集市的概念,如图所示。数据集市支持某一业务单元或部门特定的商业需求,其中的数据可以来自数据仓库。数据集市可以在数据仓库的基础上进行设计(见图a, 也可像数据仓库一样直接设计(见图b)。
数据集市中的数据具有数据仓库中数据的特点,只不过数据集市专为某一部门或某个特定商业需求定制,而不是根据数据容量命名。

数据仓库相关概念

  数据集市面向部门、业务单元或特定应用,因而规模较小,便于快速实现,且成本较低,短期内即可获得明显效果。数据集市的应用不仅满足了部门的数据处理需求,而且作为数据仓库的子集有助于构建完整的企业级数据仓库。


三、ODS(Operation Data Store)

  操作数据存储 — ODS是能支持企业日常的全局应用的数据集合,是不同于DB的一种新的数据环境, 是DW扩展后得到的一个混合形式。四个基本特点:面向主题的(Subject -Oriented)、集成的、可变的、 当前或接近当前的。


四、ETL(Extract/Transformation/Load)

  ETL(Extract/Transformation/Load)—数据装载、转换、抽取工具。

  数据仓库并不只是数据的简单累积,而是经过一系列的抽取、转换和装载的过程,简称ETL。ETL 是构建数据仓库的重要环节,对数据仓库的后续环节影响比较大。目前市场上主流的ETL 工具有Informatica 公司的Power Center 、IBM 公司的Data Stage 、Oracle 公司的Warehouse Builder 以及Microsoft 公司的SQL Server IS 等。下面简要介绍ETL 的主要功能。

1.数据抽取
  数据仓库是面向主题的,并非源数据库的所有数据都是有用的,所以在把源数据库中
的相关数据导入数据仓库之前,需要先确定该数据库中哪些数据是与决策相关的,数据抽取的过程大致如下。
(1)确认数据源的数据及其含义。
(2)抽取。确定访问源数据库中的哪些文件或表,需要提取其中哪些字段。
(3)抽取频率。需要定期更新数据仓库的数据,因此对于不同的数据源,需要确定数据抽取的频率,例如每天、每星期、每月或每季度等。
(4)输出。数据输出的目的地和输出的格式。
(5)异常处理。当需要的数据无法抽取时如何处理。


2.数据转换
  数据仓库的数据来自多种数据源。不同的数据源可能由不同的平台开发,使用不同的数据库管理系统,数据格式也可能不同。源数据在被装载到数据仓库之前,需要进行一定的数据转换。数据转换的主要任务是对数据粒度以及不一致的数据进行转换。
(1)不一致数据转换。数据不一致包括同一数据源内部的不一致和多个数据源之间的数据不一致等类别,例如在一个应用系统中,BJ 表示北京,SH 表示上海,GZ 表示广州。而在另一个应用系统中,对应的代码分别为1、2 和3。此外,不同业务系统的数量单位、编码或值域需要统一,例如某供应商在结算系统的编码是990001,而在CRM 中编码是YY0001 ,这时就需要抽取后统一转换编码。
(2)数据粒度的转换。业务系统一般存储细粒度的事务型数据,而数据仓库中的数据是用于查询、分析的,因此需要多种不同粒度的数据。这些不同粒度的数据可以通过对细粒度的事务型数据聚集(合)(aggregation )产生。


3.数据清洗
  数据源中数据的质量是非常重要的,低劣的“脏”数据容易导致低质量的决策甚至是错误的决策。此外,这些“脏”数据或不可用数据也可能造成报表的不一致等问题。因此有必要全面校验数据源的数据质量,尽量减少差错,此过程是数据清洗(Data Cleaning ),也叫数据的标准化。目前一些商务智能企业提供数据质量防火墙,例如Business Objects(SAP)的Firstlogic,它能够解决数据的噪声。清洗后的数据经过业务主管确认并修正后再进行抽取。数据清洗能处理数据源中的各种噪音数据,主要的数据质量问题有以下几种。
(1)缺失(Missing )数据。即数据值的缺失,这在顾客相关的数据中经常出现,例如顾客输入个人信息时遗漏了所在区域。
(2)错误数据。常见的错误数据包括字段的虚假值、异常取值等。例如在教学选课系统中,选修某门课程的人数不能够超过该课程所在教室的座位数。这些错误数据产生的主要原因是由于业务系统在数据输入后不能进行正确性判断而被录入数据库。错误数据需要被及时找出并限期修正。
(3)数据重复。数据重复是反复录入同样的数据记录导致的,这类数据会增加数据分析的开销。
(4)数据冲突。源数据中一些相关字段的值必须是兼容的,数据冲突包括同一数据源内部的数据冲突和多个数据源之间的数据冲突。例如一个顾客记录中省份字段使用SH(上海),而此顾客的邮政编码字段使用100000(北京地区的邮政编码)。冲突的数据也需要及时修正。


4.数据装载
  数据转换、清洗结束后需要把数据装载到数据仓库中,数据装载通常分为以下几种方式。
(1)初始装载。一次对整个数据仓库进行装载。
(2)增量装载。在数据仓库中,增量装载可以保证数据仓库与源数据变化的同期性。


五、元数据

   描述数据的数据,用于构造、维持、管理、和使用数据仓库,在数据仓库中尤为重要。

数据仓库相关概念


2.元数据的存储方式
  元数据有两种常见存储方式:一种是以数据集为基础,每一个数据集有对应的元数据文件,每一个元数据文件包含对应数据集的元数据内容;另一种存储方式是以数据库为基础,即元数据库。其中元数据文件由若干项组成,每一项表示元数据的一个要素,每条记录为数据集的元数据内容。上述存储方式各有优缺点,第一种存储方式的优点是调用数据时相应的元数据也作为一个独立的文件被传输,相对数据库有较强的独立性,在对元数据进行检索时可以利用数据库的功能实现,也可以把元数据文件调到其他数据库系统中操作;不足是如果每一数据集都对应一个元数据文档,在规模巨大的数据库中则会有大量的元数据文件,管理不方便。第二种存储方式下,元数据库中只有一个元数据文件,管理比较方便,添加或删除数据集,只要在该文件中添加或删除相应的记录项即可。在获取某数据集的元数据时,因为实际得到的只是关系表格数据的一条记录,所以要求用户系统可以接受这种特定形式的数据。因此推荐使用元数据库的方式。
  元数据库用于存储元数据,因此元数据库最好选用主流的关系数据库管理系统。元数据库还包含用于操作和查询元数据的机制。建立元数据库的主要好处是提供统一的数据结构和业务规则,易于把企业内部的多个数据集市有机地集成起来。目前,一些企业倾向建立多个数据集市,而不是一个集中的数据仓库,这时可以考虑在建立数据仓库(或数据集市)之前,先建立一个用于描述数据、服务应用集成的元数据库,做好数据仓库实施的初期支持工作,对后续开发和维护有很大的帮助。元数据库保证了数据仓库数据的一致性和准确性,为企业进行数据质量管理提供基础。

3.元数据的作用
 在数据仓库中,元数据的主要作用如下。
(1)描述哪些数据在数据仓库中,帮助决策分析者对数据仓库的内容定位。
(2)定义数据进入数据仓库的方式,作为数据汇总、映射和清洗的指南。
(3)记录业务事件发生而随之进行的数据抽取工作时间安排。
(4)记录并检测系统数据一致性的要求和执行情况。
(5)评估数据质量。


六、粒度

  数据仓库的数据单位中保存数据的细化或综合程度的级别。细化程度越高,粒度越小。

粒度反映了数据仓库按照不同的层次组织数据,根据不同的查询需要,存储不同细节的数据。在数据仓库中,粒度越小,数据越细,查询范围就越广泛。相反,粒度级别越高,表示细节程度越低,查询范围越小。例如,当信用卡发行商查询数据仓库时,首先了解某个地区信用卡的总体使用情况,然后检查不同类别用户的信用卡消费记录,这就涉及不同细节的数据。数据仓库中包含的数据冗余程度较高,批量载入和查询会影响到数据管理和查询效率,因此数据仓库采用数据分区存储技术以改善数据仓库的可维护性,提升查询速度和加载性能,解决从数据仓库中删除旧数据时造成的数据修剪等问题,把数据划分成多个小的单元。
  根据粒度的不同,可以把数据划分为早期细节级、当前细节级、轻度综合级和高度综合级等[6] 。ETL 后的源数据首先进入当前细节级,并根据需要进一步进入轻度综合级乃至高度综合级。一旦数据过期,当前数据粒度的具体划分会直接影响到数据仓库中的数据量以及查询质量。如图 显示了典型数据仓库的粒度结构。

  数据仓库数据的多粒度化为用户使用数据提供了一定的灵活性,例如家用电器销售数据可以同时满足市场、财务和销售等部门的需要,财务部若要了解某地区的销售收入,只需改变相关数据的粒度即可。


七、分割

  数据分散到各自的物理单元中去,它们能独立地处理。


八、常用的数据仓库结构

数据仓库主要包括数据的提取、转换与装载(ETL )、元数据、数据集市和操作数据存储等部分


  


以上是关于数据仓库相关概念的主要内容,如果未能解决你的问题,请参考以下文章

数据仓库的概念

数据的数据仓库

数据仓库与数据集市的概念区别

干货数据仓库数据湖数据中台终于有人说清楚了!

从数据仓库数据湖,到数据中台的差异与架构演进

nexusnexus 仓库组的概念 以及相关配置 代码发布相关