一、分层逻辑
数据仓库、数据湖的业务目的就在于集中数据、标准化、形成数据产品、面向业务场景开放数据。通俗地讲就是把各个分散的、不易读的、杂乱的、封闭的业务系统数据,归集收编、分门别类、整齐划一、规范管理,让业务便捷获取、使用,最大可能大挖掘和发挥数据价值。和餐厅点菜上菜类似,生活中类似场景也非常多。其中就涉及比较多的、相互关联的细分步骤。
二、分层目的
本质上是封装与解耦。封装下层,让上层感知不到变化和影响;解耦,降低上层对下层的依赖,有个中间商来做润滑剂。
- 复杂问题简化:将一个复杂的任务拆解为多个步骤,每个步骤只解决特定的问题
- 减少重复开发:规范数据分层,提炼抽象公共环节,增加数据复用性
- 构建数据资产:统一标准的数据结构,根据业务属性划分业务领域、子领域,无差别呈现给业务
三、分层适用
数据仓库的概念虽然历史久远,但它的作用或者理念与数据湖形成映射,甚至二者结合形成湖仓一体,都还在发挥着重要作用。数据湖在数据的来源范围、数据类型、数据数量、实时性、技术手段、数据质量、数据标准、使用人群、数据用途等方面有所扩展和增强,但在数据的全生命周期的各个阶段中,个人理解没有什么本质区别。非要说个先后、强弱或者渐进的关系,数据湖以及湖仓一体,是在大数据、物联网、人工智能时代对数据仓库的进一步迭代,外加数据治理领域的配套措施。
我不纠结它是单纯的数据仓库、数据湖还是湖仓一体还是什么,市面上的解决方案、服务、产品等要么肢解各个解耦层形成独立的产品,要么综合尽量多的功能,形成在业务看来大而全的一套方案。从实际操作上、产品呈现上,不同层面的功能时而独立销售/使用、时而集成汇聚。关键是看业务需要什么,通过怎么样的产品和产品组合来达成业务目的、方便管理和演进,细分下去就是功能区域的划分和协作,这就回到了核心的数据仓库分层模型上。
四、分层划分
这个分层目前没有找到国家标准、行业标准之类的权威参考,数据管理领域权威DMBOK、国家标准DCMM也没有把这些术语拿来讲解。这两者更多讲的是理论/业务完整性,而下面要讲的分层更多的在于具体技术实现。当前的分层,中英文初看比较杂论,不同厂家也有不同的叫法。
序号 | 英文简写 | 英文全称 | 中文(本文倾向) | 其他词汇 | 分层功能 |
---|---|---|---|---|---|
1 | Buffer | Buffer | 缓冲层 | 接口层、Stage | 常规理解的数据缓冲 |
2 | ODS SDI |
Operational Data Store Source Data Integration |
贴源数据层 | 操作数据层、原始数据层、数据运营层、 数据引入层、数据基础层 |
ETL之后业务原始数据存储, 尽量原汁原味 |
3 | DWD DWI |
Data WareHouse Detail Data Warehouse Integration |
明细数据层 | 数据细节层、数据整合层、明细事实表 | ODS数据的简单清洗、 维度退化、数据脱敏、格式统一 |
4 | DWB DWM MID |
Data Warehouse Base Data Warehouse Middle Middle |
轻度汇总层 | 基础数据层、数据中间层 | 对核心维度进行指标统计, 减少重复计算 |
5 | DWS DWR DWT |
Data Warehouse Service Data Warehouse Report Data Warehouse Topic |
主题数据层 | 服务数据层、数据服务层、数据报告层、 宽表层、汇总数据层 |
按主题汇聚多字段为宽表, 简化查询 |
6 | ADS DM App |
Application Data Service Data Mart |
数据集市层 | 数据应用层、数据产品层、专题数据层 | 统计汇总数据, 供业务应用直接使用 |
7 | DIM | Dimension | 维表 | 码表、维度表 | DWD及之上数据层共用, 比如国家编码、机场编码、商品类型 |
8 | DW CDW |
Data Warehouse Common Dimenions Model |
数据仓库层 | 数据公共层 | 包含DWD、DWM、DWS、DIM |
从上表看出,大体分层固定,不同厂家或者方案都有不同的叫法,但是表达的分层意思几乎一样,具体分层所承载的数据功能也大同小异。命名格式上,有xx数据层,也有数据xx层,还有xx层。只要保持分层清晰,逻辑表达连贯完整,我想就无所谓用哪个名字。文章来源:https://www.toymoban.com/news/detail-459859.html
五、分层组合
DM数据仓库层,包含DWD、DWB和DWS。至于DIM严格来说不算是一个层次,而是DWD及其之上层次的一个共享部分。而上述的分层不一定非要全部构建,而是根据组织、业务的实际需求及其变化频率、大小,实现难度、投入产出比来综合选定。个人的实践总结是适量前瞻性设计、能有多简单就多简单,并且设计的分层还会根据业务和环节变化不停迭代。另外,从DWD开始往上的每一层都可以直接提供给上层业务使用,而从业务系统中ETL之后的数据一定是先存放在ODS之中,尽量杜绝其他分层重复地直接从业务系统抽取数据,减少数据同步对业务系统的影响,达到一次抽取,多次利用。
文章来源地址https://www.toymoban.com/news/detail-459859.html
六、参考资料
- 数仓分层
- 基本概念_数据湖治理中心 DGC_产品介绍_华为云
- 数仓到底要分多少层? - 未来数据官
- 大数据环境下该如何优雅地设计数据分层
- 详解数仓中的数据分层:ODS、DWD、DWM、DWS、ADS - 掘金
- 《大数据分析:数据仓库项目实战》
到了这里,关于一文搞懂数据仓库分层模型的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!