数据仓库心得(6)数仓分层设计

简介: 数仓分层设计

  目前主流的数据仓库分层大多为四层,也有五层的架构,这里介绍基本的四层架构。 分别为数据贴源层(ods)、数据仓库明细层(dw)、多维明细层(dws)和数据集市层(dm)。

  下面是架构图:

图片.png

数据分层的目的是:减少重复计算,避免烟囱式开发,节省计算资源,靠上层次,越对应用友好,也对用户友好,希望大部分(80%以上)的需求,都用DWS,DW的表来支持就行,所以ODS层数据不能被DM层任务引用,需要抽取数据到DW,或者DWS。

  DWS汇总层应优先调用DW明细层。在调用可累加类指标计算时,DWS汇总层尽量优先调用已经产出的粗粒度汇总层,以避免大量汇总都直接从海量的明细数据层计算。

  DM层优先调用DWS,视情况小部分可以调用DW,禁止直接调用ODS数据,避免出现过度的ODS层引用、不合理的数据复制以及子集合冗余
DM层任务的深度不宜过大(建议不超过10层)。

总的来说,数据分层的目的如下:

清晰数据结构:让每个数据层都有自己的作用和职责,在使用和维护的时候能够更方便和理解
复杂问题简化:将一个复杂的任务拆解成多个步骤来分步骤完成,每个层只解决特定的问题
统一数据口径:通过数据分层,提供统一的数据出口,统一输出口径
减少重复开发:规范数据分层,开发通用的中间层,可以极大地减少重复计算的工作
数据贴源层(ods):用来储存原始数据,同步的脚本和数据的表,要和原始的表有一定的联系,用于方便数据治理,数据溯源等。一般,同步的脚本,和ods的表要体现源数据库表的特征,一般表名和字段名,字段格式,都和原始表保持一致,同步的形式包括增量同步和全量同步。

数据仓库明细层(dw):这一层存放的是一致的、准确的、干净的数据,即对源系统数据进行了清洗(去除了杂质)后的数据。一层一般来说是按照维度建模抽取的明细数据。通常是星形或雪花结构的数据。

多维明细层(dws):这一层存放的是DW层的,一些通用的汇总数据。一般是某个主题的某个维度的汇总数据,用于提供后续的业务查询,OLAP分析,数据分发等。一般来说,该层的数据表会相对较少,一张表会涵盖比较多的业务内容,由于其字段较多,因此一般也会称该层的表为宽表。

数据集市层(dm):该层主要是提供给数据产品和数据分析使用的数据,这层就是根据需求来抽取数据了。

一般来说,数据分层之后,还需要对开发数据的任务,进行规范,比如字段格式,字段名称拼写,主题划分等,不然单纯分层,是不足以建立好一个对开发友好,方便运维,方便取数的数仓的,这个分层就是一个货物仓库里面各个房间的划分,但是里面货物需要怎么放,放在哪个房间那个位置,我想要某个数据应该怎么找,这个就需要一整套数据开发规范,以及对应的数据地图,数据血缘关系系统的支持了。

总的来说,数据层是数仓的骨头支架,但是肌肉,心脏等这些器官,对建立一个好的数仓,也很关键。

相关实践学习
阿里云云原生数据仓库AnalyticDB MySQL版 使用教程
云原生数据仓库AnalyticDB MySQL版是一种支持高并发低延时查询的新一代云原生数据仓库,高度兼容MySQL协议以及SQL:92、SQL:99、SQL:2003标准,可以对海量数据进行即时的多维分析透视和业务探索,快速构建企业云上数据仓库。 了解产品 https://www.aliyun.com/product/ApsaraDB/ads
相关文章
|
8月前
|
数据采集 存储 安全
一文带你讲透数据仓库分层!
在数据处理中,常遇到数据混乱、指标不一致、开发排期长等问题,根源往往在于数据分层设计不合理。本文详解数据仓库分层(ODS、DWD、DWS、DM、APP等),阐述其在数据清洗、整合、管理及应用中的关键作用,帮助提升数据质量、减少重复开发、增强系统扩展性,从而高效支撑业务决策。
一文带你讲透数据仓库分层!
|
8月前
|
存储 SQL 机器学习/深度学习
一文辨析:数据仓库、数据湖、湖仓一体
本文深入解析数据仓库、数据湖与湖仓一体的技术原理与适用场景。数据仓库结构严谨、查询高效,适合处理结构化数据;数据湖灵活开放,支持多模态数据,但治理难度高;湖仓一体融合两者优势,实现低成本存储与高效分析,适合大规模数据场景。文章结合企业实际需求,探讨如何选择合适的数据架构,并提供湖仓一体的落地迁移策略,助力企业提升数据价值。
一文辨析:数据仓库、数据湖、湖仓一体
|
8月前
|
存储 机器学习/深度学习 数据采集
数据湖 vs 数据仓库:大厂为何总爱“湖仓并用”?
数据湖与数据仓库各有优劣,湖仓一体架构成为趋势。本文解析二者核心差异、适用场景及治理方案,助你选型落地。
数据湖 vs 数据仓库:大厂为何总爱“湖仓并用”?
|
人工智能 关系型数据库 MySQL
AnalyticDB MySQL版:云原生离在线一体化数据仓库支持实时业务决策
AnalyticDB MySQL版是阿里云推出的云原生离在线一体化数据仓库,支持实时业务决策。产品定位为兼具数据库应用性和大数据处理能力的数仓,适用于大规模数据分析场景。核心技术包括混合负载、异构加速、智能弹性与硬件优化及AI集成,支持流批一体架构和物化视图等功能,帮助用户实现高效、低成本的数据处理与分析。通过存算分离和智能调度,AnalyticDB MySQL可在复杂查询和突发流量下提供卓越性能,并结合AI技术提升数据价值挖掘能力。
499 16
|
存储 数据挖掘 BI
数据仓库深度解析与实时数仓应用案例探析
随着数据量的不断增长和数据应用的广泛深入,数据治理和隐私保护将成为数据仓库建设的重要议题。企业需要建立完善的数据治理体系,确保数据的准确性、一致性和完整性;同时加强隐私保护机制建设,确保敏感数据的安全性和合规性。
1242 55
|
SQL 消息中间件 OLAP
OneSQL OLAP实践问题之实时数仓中数据的分层如何解决
OneSQL OLAP实践问题之实时数仓中数据的分层如何解决
338 1
|
消息中间件 存储 大数据
大数据-数据仓库-实时数仓架构分析
大数据-数据仓库-实时数仓架构分析
839 1
|
存储 消息中间件 数据挖掘
数据仓库的深度探索与实时数仓应用案例解析
大数据技术的发展,使得数据仓库能够支持大量和复杂数据类型(如文本、图像、视频、音频等)。数据湖作为一种新的数据存储架构,强调原始数据的全面保留和灵活访问,与数据仓库形成互补,共同支持企业的数据分析需求。
|
存储 缓存 Cloud Native
MPP架构数据仓库使用问题之ADB PG云原生版本的扩缩容性能怎么样
MPP架构数据仓库使用问题之ADB PG云原生版本的扩缩容性能怎么样
MPP架构数据仓库使用问题之ADB PG云原生版本的扩缩容性能怎么样
|
SQL Cloud Native 关系型数据库
云原生数据仓库使用问题之分组优化如何实现
阿里云AnalyticDB提供了全面的数据导入、查询分析、数据管理、运维监控等功能,并通过扩展功能支持与AI平台集成、跨地域复制与联邦查询等高级应用场景,为企业构建实时、高效、可扩展的数据仓库解决方案。以下是对AnalyticDB产品使用合集的概述,包括数据导入、查询分析、数据管理、运维监控、扩展功能等方面。