数据仓库是个什么东西

数据仓库

一、什么是数据仓库

  • 数据仓库,英文名称之为DataWarehouse,可以简写成DW或者DWH。

  • 是为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合。

  • 它处于分析性报告和决策支持目的而创建。

  • 为需要业务智能的企业,提供指导业务流程改进,监视时间、成本、质量以及控制。

二、数据仓库的特点

  • 数据仓库的数据是面向主题的

    • 与传统数据库面向应用进行数据组织的特点相对应,数据仓库是面向主题进行组织的

    • 主题是一个抽象的概念是较高层次上企业信息系统中的数据综合、归类并进行分析利用的抽象。在逻辑意义上,它是对应企业中某一宏观分析领域所涉及的分析对象

    • 面向主题的数据组织方式,就是在较高层次上对分析对象的数据的一个完整、一致的描述,能完整、统一的刻画各个分析对象所涉及的企业的各项数据,以及数据之间的练习。

    • 所谓较高层次是相对面向应用的数据组织方式而言的,是指按照主题进行数据组织的方式具有更高的数据抽象级别。

  • 数据仓库的数据是集成的

    • 数仓的数据时从原有的分散的数据库数据抽取出来的。

    • 操作型数据之间差别甚大

      • 数仓的每一个主题所对应的源数据在原有的的个分散数据库中有许多重复和不一致的地方,且来源于不同的联机系统的数据都和不同的应用逻辑捆绑在一起

      • 数仓中的综合数据不能从原有的数据库系统直接得到,因此在数据进入数仓之前,必然要经过同意与综合,是数仓建设中最关键、最复杂的一步;需要完成的工作有:要同意源数据中所有矛盾之处;进行数据综合和计算,数仓中的数据综合工作可以在从原有数据库抽取数据时生成,但许多是在数仓内部生成的,即进入数仓以后进行综合生成的。

  • 数仓的数据是不可更新的

    • 数仓的数据主要供应企业决策分析之用,所涉及的数据操作主要是数据查询,一般情况下并不进行修改操作

    • 数仓的数据反映的是一段相当长的时间内历史数据的内容,是不同时点的数据库快照的集合,以及基于这些快照进行统计、综合和重组的导出数据,而不是联机处理的数据。

    • 数据库中进行联机处理的数据经过继承输入到数仓中,一旦数仓存放的数据已经超过数仓的数据存储期限,这些数据将从当前的数仓中删去。

    • 因为数仓只进行查询操作,所以数仓管理系统相比数据库管理系统而言要简单的多

    • 由于数仓的查询数量往往很大,故就对数据查询提出了更高要求,它要求采用更重复杂的索引技术;同时由于数仓面向的是商业企业的高层管理者,故会对数据查询的界面友好性和数据表示提出更高的要求。

  • 数仓的数据是随时间不断变化的

    • 数仓中的数据不可更新是针对应用来说的,也就是说,数仓的永华进行分析处理时时不进行数据更新操作的,但并不是说,在数据集成输入数据数仓开始到最终被删除的整个数据生存周期中,所有的数仓数据都是不变的

    • 该特点主要表现在一下三个方面:

      • 数仓随时间变化不断增加新的数据内容:数仓系统必须不断捕捉OLLTP数据库中变化的数据,追加到数仓中,也就是要不断的生成OLTP数据库的快照,经同意集成后增加到数仓中;但对于确实不再变化的数据库快照,如果捕捉到新的变化数据,则只生成一个新的数据库快照增加进去,而不会对原有的数据库快照进行修改。

      • 数仓随时间变化不断删去旧的数据内容数仓的数据时限较长(5-10年),以适应DSS进行趋势分析的要求

      • 数仓中包含大量的综合数据,这些数据随着时间的变化不断的进行从新综合,故数仓的数据特征都包含时间项,以标明数据的历史时期

三、数据仓库发展历程

  • 简单报表阶段:

    • 主要目标是解决一些日常的工作中业务人员需要的需求,以及生成一些简单的能够帮助领导进行决策所需要的汇总数据。表现形式为数据库和前端报表工具。

  • 数据集市阶段:

    • 主要根据某个部门的需要,进行一定的数据采集、整理,并且能够按照业务人员的需要进行多维报表的展现,能够提供对特定业务指导的数据,并且能够提供特定的领导决策数据。

  • 数据仓库阶段:

    • 主要是按照一定的数据模型,对整个企业的数据进行采集、整理,并且能够按照各个业务部门的需要,提供跨部门的,完全一致的业务报表数据,能够通过数仓成成对业务具有指导性的数据,同时为领导决策提供全面的数据支持。

  • 根据数仓建设发展阶段,我们能够看出,数仓建设和数据集市的建设重要区别在于数据模型的支持。因此,数据模型的建设,对于我们数仓建设,有着决定性意义。

四、数据库与数据仓库的区别

从三个方面进行区别: 数据库软件、数据库、数据仓库

  • 数据库软件:是一种软件,可以操作,用来实现数据库逻辑功能。属于物理层。

  • 数据库:是一种逻辑概念,用来存放数据的仓库。通过数据库软件来实现。数据库是由很多表组成的,一张表中可以后很多字段名。

  • 数据仓库:是数据库概念的升级,从逻辑上理解,数据库和数据仓库没有区别,都是通过数据库软件实现的存放数据的地方,从数据量来说,数仓要比数据库庞大的多。数仓主要用于数据挖掘和数据分析,辅助领导做决策。

  • 在IT的架构体系中,数据库是必须存在的。必须有地方存放数据。

  • 数仓是BI下的其中一种技术。其表结构是依照分析需求、分析维度、分析指标进行设计的。

  • 数据库与数仓的区别讲的数OLTP与OLAP的区别

    • 操作型处理,叫联机事务处理OLTP(On-Line Transaction Processing,),也称之为面向交易的处理系统。它是针对具体业务在数据库联机的日常操作,通常对少数记录进行查询、修改。用户比较关心操作的响应时间、数据的安全性、完整性和并发支持用户数等问题。传统的数据库系统作为数据管理的主要手段,主要用于操作型处理。

    • 分析型处理,叫联机分析处理OLAP(On-Line Analytical Processing)。一般针对某些主题的历史数据进行分析,支持管理决策。

  • 操作型处理与分析型处理的比较

    •  

       

       

五、数仓架构分层

  • 数仓标准上可以分为四层:ODS(临时存储层)、PDW(数据仓库层)、DM(数据集市层)、APP(应用层)

    • ODS层

      • 接口数据的临时存储区域,为后一步的数据处理做准备。

      • 该层的数据和源数据的数据时同构的,主要目的是简化后续数据加工处理的工作。

      • 该层数据粒度是最细的

      • 包含两个类:

        • 用于存储当前需要加载的数据

        • 用于存储处理完的历史数据,一般保存3-6个月后需要清除,一节省空间

    • PDW层

      • 数据是一致的、准确的、干净的数据,即对源系统数据进行了清洗后的数据。

      • 一般遵循数据库的三范式,数据粒度与ODS的粒度相同

      • 会保存BI系统中所有的历史数据

    • DM层

      • 面向主题来组织数据,通常是星形或者雪花结构

      • 轻度汇总级的数据

      • 主要目的是为了满足用户分析的需求

      • 从数据广度来说,仍然覆盖了所有业务数据

    • APP层

      • 完全为了满足具体的分析而构建的数据,也是星形或者雪花型的数据

      • 是高度汇总的数据

      • 则并不一定会覆盖所有业务数据,而是DM层数据的一个真子集,从某种意义上来说是DM层数据的一个重复。

      • 从极端情况来说,可以为每一张报表在APP层构建一个模型来支持,达到以空间换时间的目的数据仓库的标准分层只是一个建议性质的标准,实际实施时需要根据实际情况确定数据仓库的分层,不同类型的数据也可能采取不同的分层方法。

  • 对数仓分层的意义

    • 用空间换时间,通过大量的预处理来提升应用系统的用户体验(效率),因此数据仓库会存在大量冗余的数据。

    • 若不分层,源业务规则发生变化将会影响整个数据清洗过程,数仓会因此存在大量冗余的数据。

六、元数据介绍

  • 元数据定义

    • 数仓的元数据是关于数仓中农数据的数据。他的作用类似于数据库管理系统的数据字典,保存了逻辑数据结构文件、地址和索引等信息。

    • 广义上讲,在数仓中,元数据描述了数仓内数据的结构和建立方法的数据。

    • 元数据是数仓管理系统的重要的组成部分,元数据管理是企业级数仓中的关键组件,贯穿数仓构建的整个过程,直接影响着数仓的构建、使用和维护。

  • 构建数仓

    • 构建数仓的主要步骤之一是ETL,这时元数据将发挥重要的作用,它定义了源数据系统到数据仓库的映射、数据转换的规则、数据仓库的逻辑结构、数据更新的规则、数据导入历史记录以及装载周期等相关内容。数据抽取和转换的专家以及数据仓库管理员正是通过元数据高效地构建数据仓库。

    • 用户在使用数仓时,通过元数据访问数据,明确数据项的含义以及定制报表。

    • 数仓的规模及其复杂性离不开元数据的管理,包括增加或移除外部数据源,改变数据清洗方法,控制出错的查询以及安排备份等。

    • 图解

  • 元数据的存储方式

    • 以数据为基础,每一个数据集有对应的元数据文件,每个元数据文件包含对应数据集的元数据内容

      • 优点是调用数据时相应的元数据也作为一个独立的文件被传输,相对数据库有较强的独立性,在对元数据进行检索时可以利用数据库的功能实现,也可以把元数据文件调到其他数据库系统中操作;

      • 不足是如果每一数据集都对应一个元数据文档,在规模巨大的数据库中则会有大量的元数据文件,管理不方便

    • 以数据库为基础,其中元数据文件有若干项组成,每一项表示元数据的一个要素,每条记录为数据集的元数据内容。

      • 元数据库中只有一个元数据文件,管理比较方便,添加或删除数据集,只要在该文件中添加或删除相应的记录项即可。在获取某数据集的元数据时,因为实际得到的只是关系表格数据的一条记录,所以要求用户系统可以接受这种特定形式的数据。因此推荐使用元数据库的方式。

  • 元数据作用:

    • 描述哪些数据在数仓中,帮助决策分析者对舒畅的内容定位。

    • 定义数据进入数仓的方式,作为数据汇总、映射和清洗的指南。

    • 记录业务事件发生而随之进行的数据抽取工作事件安排。

    • 记录并检测系统数据一致性的要求和执行情况。

    • 评估数据质量。

posted @ 2019-11-08 21:25  数据阮小白  阅读(245)  评论(0编辑  收藏  举报