在软件行业中提到的总线,一般都是指这个技术领域或者平台/模块的 核心或主体的流程。
总线架构是数据仓库建设的总体规划,从整体视角描述了解决方案的维度模型,
描述了各个子系统的功能以及关系,描述数据从源系统到决策系统的数据流程,
提供建立企业数据仓库系统的增量式方法。
业务需求回答了要做什么,总线架构就是回答怎么做的问题。
数仓总线,只是数据数仓技术的建设,架构的设计。
3.1 整体解决方案
数据仓库的核心功能从源系统抽取数据,通过清洗、转换、标准化,将数据加载到BI平台,进而满足业务用户的数据分析和决策支持。数据仓库整体解决方案架构包含三个部分:源数据、数据仓库、数据应用。
其中,聚合数据,多维数据模型和业务模型,都是在ETL完成后,最后给BI和分析人员的数据产物。
3.2 分层架构方案
3.2.1 分层架构
数据仓库的数据来源于不同的源数据,并提供多样的数据应用,数据自下而上流入
数据仓库后向上层
开放应用,而数据仓库可以是数据中心管控平台。—解释为,数仓最基本的特性,解决上层数据需要方的跨数据源的问题
源数据层(ODS)
- ODS层数据不做任何更改
- 直接沿用外围系统数据结构和数据
- 不对外开放
意义
ODS层为临时存储层,是接口数据的临时存储区域,为后一步的数据处理做准备,
一般只会进行 数据筛选 和 异常处理 。
这层工作主要是数据迁移,数据质量第一层:一致性的保证;
异常处理 理解 数据迁移过程,设计到各种存储介质数据类型和表达的转移和一致问题的处理。
数据转换层(DSA)
数据加工区域,主要涉及数据的转换数据,清洗数据,过滤数据等操作。
这部分工作,主要参与的人员 数据开发工程师(目前的主要理解SQL,当然高级需要通过Python/Java等语言编码处理)
工作内容: 数据转移,清洗,过滤 ,为 维度建模准备。
数据仓库层(EDW)
DW 层的数据应该是一致的、准确的、干净的数据,即对源系统数据进行了清洗(去除了杂质)后的数据。
数据应用层(DA 或 APP 或 API)
前端应用直接读取的数据仓库;
根据报表、专题分析需求而计算生成的数据,数据仓库是数据处理的后台,业务用户并不关心后台怎么处理。即定制化的;
数据应用是数据呈现的前台,是业务用户进行查询的入口。
BI应用程序的体验也是衡量数据仓库是否成功的主要因素。
好的数据仓库搭建平台可以通过数据仓库将数据发送到前端进行分析数据。
BI系统
最最基本的,起步级,定制化报表展示;
中级别,支持自动构建报表,数据上聚下钻的能力等一些附属的展示和下载功能;
高级别,支持系统的维度的二次重聚到多维分析视图展示能力。
数据仓库从各数据源获取数据及在数据仓库内的数据转换和流动都可以认为是ETL的过程,ETL 是数据仓库的流水线,也可以认为是数据仓库的血液,它维系着数据仓库中数据的新陈代谢,而数据仓库日常的管理和维护工作的大部分精力就是保持 ETL 的正常和稳定。
3.2.1 为什么采用这种架构
数据仓库的分层是在 利用空间换时间,通过大量的预处理来提升应用系统的用户体验(效率)。
如不分层的话,源业务系统的业务规则发生变化将会影响整个数据清洗过程,工作量巨大。
通过数据分层管理可以简化数据清洗的过程,因为把原来一步的工作分到了多个步骤去完成,
相当于把一个复杂的工作拆成了多个简单的工作,将数据仓库分层后更加方便处理每一层,
这样每一层的处理逻辑都相对简单和容易理解,我们也比较容易保证每一个步骤的正确性,
当数据发生错误的时候,往往我们只需要局部调整某个步骤即可
3.3 架构特点
- 易用性
数仓目标是支持支持决策与分析,面向的是分析人员,数据越容易理解,越能受用户欢迎。而维度建模包含具有描述特性的维度表可以让用户很容易理解数据。
- 性能高
分层步骤阶段中,对数据的处理,排序和整合,构建出来的维度表,
这些处理好的数据,提供上层使用/分析,更加便利,效率更高!
- 扩展性好
分层架构,可以很方便在不改变模型粒度情况下,增加新的分析维度和事实,不需要重载数据,也不需要为了适应新的改变而重新编码。
3.4 小结
- 重点关注整体的解决方案和封层架构
- 注意和自己实际项目结合。