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