总线架构是数据仓库建设的整体规划,从总体视角描述了解决方案的维度模型,描述了各个子系统的功能以及关系,描述数据从源系统到决策系统的数据流程,提供创建企业数据仓库系统的增量式方法。业务需求回答了要作什么,总线架构就是回答怎么作的问题。前端
1、总体解决方案架构:数据结构
数据仓库的核心功能从源系统抽取数据,经过清洗、转换、标准化,将数据加载到BI平台,进而知足业务用户的数据分析和决策支持。数据仓库总体解决方案架构包含三个部分:源数据、 数据仓库、数据应用。架构
2、数据仓库分层架构:性能
数据仓库的数据来源于不一样的源数据,并提供多样的数据应用,数据自下而上流入数据仓库后向上层开放应用,而数据仓库能够是数据中心管控平台。学习
源数据层(ODS):此层数据无任何更改,直接沿用外围系统数据结构和数据,不对外开放;为临时存储层,是接口数据的临时存储区域,为后一步的数据处理作准备,通常只会进行数据筛选和异常处理。编码
数据转换层(DSA):数据加工区域,主要涉及数据的转换数据,清洗数据,过滤数据等操做。spa
数据仓库层(EDW):DW 层的数据应该是一致的、准确的、干净的数据,即对源系统数据进行了清洗(去除了杂质)后的数据。设计
数据应用层(DA 或 APP):前端应用直接读取的数据仓库;根据报表、专题分析需求而计算生成的数据,数据仓库是数据处理的后台,业务用户并不关心后台怎么处理。数据应用是数据呈现的前台,是业务用户进行查询的入口。BI应用程序的体验也是衡量数据仓库是否成功的主要因素。好的数据仓库搭建平台能够经过数据仓库将数据发送到前端进行分析数据。blog
数据仓库从各数据源获取数据及在数据仓库内的数据转换和流动均可以认为是 ETL的过程,ETL 是数据仓库的流水线,也能够认为是数据仓库的血液,它维系着数据仓库中数据的新陈代谢,而数据仓库平常的管理和维护工做的大部分精力就是保持 ETL 的正常和稳定。排序
3、为何要对数据仓库架构进行分层?
数据仓库的分层是在利用空间换时间,经过大量的预处理来提高应用系统的用户体验(效率),所以数据仓库会存在大量冗余的数据;不分层的话,若是源业务系统的业务规则发生变化将会影响整个数据清洗过程,工做量巨大。经过数据分层管理能够简化数据清洗的过程,由于把原来一步的工做分到了多个步骤去完成,至关于把一个复杂的工做拆成了多个简单的工做,将数据仓库分层后更加方便处理每一层,这样每一层的处理逻辑都相对简单和容易理解,咱们也比较容易保证每个步骤的正确性,当数据发生错误的时候,每每咱们只须要局部调整某个步骤便可。固然分层也要适当,若是项目较小彻底能够直接使用两层架构来完成工做就没有必要搭建三层架构。
4、架构的特色:
一、易用性,数据仓库的目的是决策支持系统(Decision Support System ,简称DSS),既然面向的的是分析用户,那么数据越容易理解,越能受用户欢迎,而维度建模包含具备描述特性的维度表可让用户很容易理解数据,而不像范式建模,因为太过规范化而致使用户对数据的理解有必定的难度,须要对业务的很深很细的了解。
二、性能高,经过数据的处理,排序和整合,构建出来的维度表,不只可以让用户很方便的理解数据,使用数据,并且在计算所须要的数据的时候,不须要关联太多的表,从而使得计算的性能很高。
三、扩展性,具备很是好的可扩展性,以便容纳不可预知的新数据源和新的设计决策。能够很方便在不改变模型粒度状况下,增长新的分析维度和事实,不须要重载数据,也不须要为了适应新的改变而从新编码。
5、总结
经过使用维度建模,用户能够获得很好的效果,只有用户满意了,数据仓库才能实现更大的价值。能够说维度建模的核心是星型模型,星型模型所拥有的特色正是用户方便使用的根源。维度模型也有缺点,好比数据一致性很难保证,数据冗余,维度信息处理等,但这些相对于它的优势来说都是可接受的,并且也能够经过其余方式避免和简化的。若是以维表为总线,事实表以维表为基础的总线矩阵,建设出来的架构正是总线式架构。
本文中若有错误或误导的地方欢迎你们指出纠正。 但愿这篇文章可以给你们带来帮助,最后感谢你们的阅读。欢迎你们一块儿加入高效数据处理ETL交流群,一块儿讨论数据分析ETL过程的问题,一块儿学习一块儿成长。下一篇咱们开始来了解元数据管理。
扫码加群: