📅  最后修改于: 2023-12-03 15:26:07.368000             🧑  作者: Mango
数据仓库是一个面向主题的、集成的、变化的、持久的数据存储库,用于支持企业内部决策制定过程。
一般情况下,一个数据仓库包括源数据抽取、数据清洗、数据仓库建模、ETL进程、元数据管理、数据仓库查询与分析等组件。
数据仓库建模是数据仓库的核心,目的是为了让用户能够通过直接查询获得所需的决策支持信息。传统的关系数据库往往对事务处理进行建模,而数据仓库则主要是为分析查询构建的。常用的建模技术有星型模型、雪花模型等。
星型模型是一种常见的数据仓库建模技术。它是由一个事实表和一组维度表组成的模型。
事实表是用于记录交易事项的关键性数据表,例如:销售量、成本、收益等等。
维度表则是描述事实表所处环境的维度,例如:时间、地理位置、产品、客户等等。维度表根据关系的不同可以划分为:嵌套关系、有共享维度的星型模型、多维层次(雪花)模型。
雪花模型是在星型模型的基础上发展而来,对于一些直接关联的维度表,利用连接技术将其拆分为多个相关联的表,形成一种多层次结构的模型。
例如:在星型模型中,销售事实表直接连接时间维度表,而时间维度表与年份、月份、日期等相关联的维度表之间也存在联系,如果将年份、月份和日期等相关联的维度表也连到事实表上,便形成了一个三层的雪花模型。
ETL(Extract-Transform-Load)进程是数据仓库中最为核心、最为复杂的组件。ETL主要包括数据抽取、数据清洗、数据转换和数据加载四个步骤:
数据抽取,也叫数据提取,是指从各个终端数据源系统中,按照一定规则将需要的业务数据抽取出来,为数据仓库提供输入。
数据清洗,是指对抽取的数据进行过滤、校验、去重、归并、标准化等处理,尽可能的提升数据质量,确保数据的有效性。
数据转换是指将清洗后的数据进行必要的格式转换、数据合并、数据提取、数据计算等操作,为数据仓库提供适当的数据处理方式。
数据加载是指将转换后的数据内容载入到数据仓库中,按照预定的数据模型和数据存储方式进行操作。
元数据是对数据的描述,是对数据的定义、关系及其特性等信息的解释和描述。数据仓库中的元数据是极为重要的,数据仓库中的元数据可以帮助我们识别数据的来源、数据的定义、数据的关系等。数据仓库中的元数据主要包括以下内容:
元数据管理,就是为元数据的标准化、收集、整理、分析、利用等管理,可以提高数据仓库的可操作性、可维护性及数据质量。
数据仓库的查询和分析是最终目的,是数据仓库的核心属性之一。为了实现有效的数据查询和分析,需要采用一种高效的查询和分析工具,可以对数据仓库进行多维分析、SQL等各种查询方式,提高数据的使用价值。数据仓库查询和分析的主要工具包括:OLAP工具、ETL工具、数据挖掘工具等。
数据仓库的实现和组件包括数据仓库建模、ETL进程、元数据管理、数据仓库查询和分析等几个方面,每个组件都是数据仓库不可或缺的组成部分。在数据仓库的建设中,选择恰当的建模技术、ETL工具、元数据管理工具、查询分析工具等都非常重要。