数据仓库架构

Posted 数据仓库爱好者

tags:

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

数据仓库基础架构


图中显示的整个数据仓库环境包括操作型系统和数据仓库系统两部分。

操作型系统的数据由各种形式的业务数据组成,这其中可能有关系数据库、TXT或CSV文件、html或XML文档,还可能存在外部系统的数据,比如网络爬虫抓取来的互联网数据等,数据可能是结构化、半结构化、非结构化的。这些数据经过抽取、转换和装载(ETL)过程进入数据仓库系统。

RDS(RAW DATA STORES)是原始数据存储的意思。有时数据仓库的用户会有查询细节数据的需求,这些细节数据的粒度与操作型系统的相同。有了RDS,这种需求就很容易实现,用户可以查询RDS里的数据而不必影响业务系统正常运行。这里的RDS实际上是起到了操作型数据存储(ODS)的作用。

TDS(TRANSFORMED DATA STORES)意为转换后的数据存储。这是真正的数据仓库中的数据。大量的用户会在经过转换的数据集上处理他们的日常查询。这些数据被以保证最重要的和最频繁的查询能够快速执行的方式构建。

自动化调度组件的作用是自动定期重复执行ETL过程。不同角色数据仓库用户对数据的更新频率要求也会有所不同,作为通用的需求,所有数据仓库系统都应该能够建立周期性自动执行的工作流作业。

数据目录也被称为元数据存储。它可以提供一份数据仓库中的数据清单。用户通过它可以快速解决这些问题:什么类型的数据被存储在哪里,数据集的构建有何区别,数据最后的访问或者更新时间等。

查询引擎组件负责实际执行用户查询。目前的大数据查询引擎组件有presto、impala、spark-sql等。

用户界面指最终用户所使用的接口程序。可能是一个GUI软件,如BI套件中的客户端软件,也可能是浏览器。比如现在使用的Hue、redash等。

主要数据仓库架构


数据集市架构

数据集市是按照主题域组织的数据集合,用于支持部门级的决策。有两种类型的数据集市:独立数据集市和从属数据集市。

数据仓库架构

独立数据集市集中于部门所关心的单一主题域,数据以部门为基础部署,无需考虑企业级别的数据共享与集成。例如:制造部门、人力资源部门和其他部门都各自有他们自己的数据集市。独立数据集市从一个主题域或一个部门的多个事务系统获取数据,用以支撑特定部门的业务分析需求。一个独立数据集市的设计既可以使用实体关系模型,也可以使用多维模型。

数据仓库架构

从属数据集市数据来源于数据仓库。数据仓库里的数据经过整合、重构、汇总后传递给从属数据集市。

建设从属数据集市的好处:

    性能:当数据仓库的查询性能出现问题,可以考虑建立几个从属数据集市,将查询转移到数据集市中。

    安全:每个部门可以完全控制他们自己的数据。

    数据一致性:因为每个数据集市的数据来源都是同一个数据仓库,有效消除了数据不一致的情况。

Inmon企业信息工厂架构数据仓库架构

上图为Inmon企业信息工厂架构。

*应用系统:这些应用是组织中的操作性系统,用来支撑业务。操作型系统也叫源系统,用来给数据仓库提供数据。

*ETL过程:ETL过程从操作型系统抽取数据,然后将数据转换成一种标准的形式,最终将转换后的数据装载到企业级数据仓库中。ETL是周期性运行的批处理过程。

*企业级数据仓库:是该架构的核型组件。正如Inmon数据仓库定义的,企业级数据仓库是一个细节数据的集成资源库。其中的数据以最低粒度级别被捕获,存储在满足三范式设计的关系数据库中。

*部门级数据集市:是面向主题数据的部门级视图,数据从企业级数据仓库获取。数据在进入部门数据集市时可能进行聚合。

Kimball数据仓库架构

Kimball与Inmon两种架构的主要区别在于核心数据仓库的设计和建立。Kimball的数据仓库包含高粒度的企业数据,使用多维模型设计,这也意味着数据仓库由星型模式的维度表和事实表构成。分析系统或报表工具可以直接访问多维数据仓库里的数据。这里的数据集市是一个概念,只是多维数据仓库中的主题域划分,并没有自己的独立物理存储,也可以说是虚拟的数据集市。

混合型数据仓库架构

所谓的混合型结构,指在一个数据仓库环境中,联合使用Inmon和Kimball两种架构。从架构图可以看到,这种架构将Inmon方法中的数据集市部分替换成了一个多维数据仓库,而数据集市则是多维数据仓库上的逻辑视图。使用这种架构的好处是,即可以利用规范化消除数据冗余,保证数据的粒度足够细;又可以利用多维结构更灵活地在企业级实现报表和分析。


:ETL:他是Extract、Transform、Load三个英文单词首字母的简写,中文意为抽取、转换、装载。ETL是建立数据仓库最重要的处理过程,它的工作就是要把异构的数据转换成同构的。

抽取:从操作型数据源获取数据。

转换:转换数据,使之转变为适用于查询和分析的形式和结构。

转载:将转换后的数据导入到最终的目标数据仓库

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

数据仓库的架构与设计

数据仓库架构理论和实践,数据仓库建模指南

「数据仓库架构」数据仓库的三种模式建模技术

数据仓库的架构与设计

大数据数仓项目架构

数据仓库之架构发展