数据仓库(07)数仓规范设计

本文涉及的产品
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
云原生数据仓库AnalyticDB MySQL版,基础版 8ACU 100GB 1个月
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
简介: 所谓的规范的定义,简单理解,如果把数据当作货物,那就是货物的分类,以及对应相关的属性,比如生产日期,某个原料的含量等,我们可以把相近或者相同货物,按照一定的规律,放在一起,方便入库与出库,需要某个货物按照这些规律就可以,以比较快的速度拉取出来。 一般的规范设计包含一下几个方面:划分和定义数据域、业务过程、维度、度量 原子指标、修饰类型、修饰词、时间周期、派生指标。

规范设计在这里取《大数据之路:阿里巴巴大数据实践》中的定义,这里记录一下本人对这一块自己的理解。

规范定义指以维度建模作为理论基础 构建总线矩阵,划分和定义数据域、业务过程、维度、度量 原子指标、修饰类型、修饰词、时间
周期、派生指标。

所谓的规范的定义,简单理解,如果把数据当作货物,那就是货物的分类,以及对应相关的属性,比如生产日期,某个原料的含量等,我们可以把相近或者相同货物,按照一定的规律,放在一起,方便入库与出库,需要某个货物按照这些规律就可以,以比较快的速度拉取出来。

一般的规范设计包含一下几个方面:划分和定义数据域、业务过程、维度、度量 原子指标、修饰类型、修饰词、时间周期、派生指标。

数据域:指面向业务分析,将业务过程或者维度进行抽象的集合。其中,业务过程可以概括为一个个不可拆分的行为事件,如买家下单事件,买家是维度。数据域需要抽象提炼,并且长期维护和更新,不可轻易变动。划分数据域时,既要能涵盖当前所有的业务需求,又能在新业务进入时无影响地被包含进已有的数据域和扩展新的数据域。
业务过程:指企业的业务活动,如下单、支付等,业务过程是一个不可拆分的行为事件。
时间周期:用来明确数据统计的时间范围或者时间点,如最近30天、自然周、截至当日等。
修饰类型:是对修饰词的一种抽象划分。修饰类型从属于某个业务域,如日志域的访问终端类型涵盖无线端、PC端等修饰词。
度量/原子指标:原子指标和度量含义相同,基于某一个业务事件行为下的度量,是业务定义中不可再拆分的指标,具有明确业务含义的名词,如支付金额。
维度:维度是度量的环境,用来反映业务的一类属性,这类属性的集合构成一个维度,也可以称为实体对象。维度属于一个数据域,如地理维度、时间维度。
维度属性:维度属性隶属于一个维度,如地理维度里面的国家名称、国家ID、省份名称等属于维度属性。
派生指标:派生指标=一个原子指标+多个修饰词(可选)+时间周期。可以理解为对原子指标统计范围的圈定。如原子指标:支付金额,最近1天海外买家支付金额则为派生指标(最近1天为时间周期,海外为修饰词,买家作为维度,而不作为修饰词)。

这里说说对上面的理解,上面的定义,实际上就是对数据的分类,以及对指标统一口径,统一命名的过程。首先,我们需要划分数据域,这个是业务过程的集合,所以这个是对数据的一个大的分类,这个很重要,因为会影响到后续我们的数据怎么开发和存储,以及我们后续需要数据时,怎么查询,从哪里查询。

数据仓库-7-001数据仓库规范定义.png

数据域是一个业务过程+维度的集合,也就是我们在建立规范定义的时候,需要先定义目前以及未来将有的业务过程,这个需要和业务一起定义讨论,因为这一块要贴近业务,一般的开发人员不够业务人员对业务理解深入。确定好业务过程之后,再看看目前的业务过程有哪些维度,抽取出来,做好维度总线矩阵,维护好一致性维度。一个业务过程属于一个数据域,但是一个维度可以属于多个数据域。

定义好业务过程和维度之后,就要对业务过程和维度分类了,看看每一个数据域都有哪些内容,做好划分。

分类好了之后,就是确定,每一个业务过程,有哪些原子指标,以及对应的修饰词,时间周期。

做好之后,再根据需求生成我们想要的派生指标等,或者抽取一些数据宽表,用于数据分析,这样我们就可以想要知道某个数据,就可以通过数据域->业务过程->相应的物理表->对应的指标,修饰词,时间周期等,通过这个分类,定位到我们的数据,这样也可以方便我们后续对数据地图,数据资产的管理,这个就有点像是图书馆对图书的分类,想定义大类,再细分,图书是根据类目划分,我们这里要根据业务行为过程,具体的业务划分。

数据仓库-7-002图书馆分类.png

上面的图是网络上某一个图书馆的图书分类,我们可以注意到,每一个图书分类前面都有一个字母,这个是每一个类目的代码,用于图书的编码记录,这里我们也是一样,需要对每一个数据域,也就是数据的分类,分配一个编码。这样用于表命名,最简单的就是作为前后缀,这样我们就可以简单的通过表名知道这个表是数据哪个数据域的,同样的道理我们需要对上面提到的业务过程,维度,修饰词等取一个统一的编码,用于对后续数据开发过程中,表命名,字段命名等,这样我们通过表名称,字段名称,就可以大概知道这张表是什么数据。

这里举一个简单电商的例子,比如交易数据域(transaction),业务过程属于下单(order),支付金额(pay_amount),时间周期为最近1天(1d),按照上面的逻辑就是表和字段的逻辑表示为transaction_order.pay_amount_1d,这里为一个伪代码,帮助了解,具体以共同的约定为准。

需要数据仓库资料可以点击这个领取数据仓库(13)大数据数仓经典最值得阅读书籍推荐

参考资料:

  1. 数据仓库(01)什么是数据仓库,数仓有什么特点
  2. 数据仓库(02)数仓、大数据与传统数据库的区别
  3. 数据仓库(03)数仓建模之星型模型与维度建模
  4. 数据仓库(04)基于维度建模的数仓KimBall架构
  5. 数据仓库(05)数仓Kimball与Inmon架构的对比
  6. 数据仓库(06)数仓分层设计
  7. 数据仓库(07)数仓规范设计
  8. 数据仓库(08)数仓事实表和维度表技术
  9. 数据仓库(09)数仓缓慢变化维度数据的处理
  10. 数据仓库(10)数仓拉链表开发实例
  11. 数据仓库(11)什么是大数据治理,数据治理的范围是哪些
  12. 数据仓库(12)数据治理之数仓数据管理实践心得
  13. 数据仓库(13)大数据数仓经典最值得阅读书籍推荐
相关实践学习
AnalyticDB MySQL海量数据秒级分析体验
快速上手AnalyticDB MySQL,玩转SQL开发等功能!本教程介绍如何在AnalyticDB MySQL中,一键加载内置数据集,并基于自动生成的查询脚本,运行复杂查询语句,秒级生成查询结果。
阿里云云原生数据仓库AnalyticDB MySQL版 使用教程
云原生数据仓库AnalyticDB MySQL版是一种支持高并发低延时查询的新一代云原生数据仓库,高度兼容MySQL协议以及SQL:92、SQL:99、SQL:2003标准,可以对海量数据进行即时的多维分析透视和业务探索,快速构建企业云上数据仓库。 了解产品 https://www.aliyun.com/product/ApsaraDB/ads
相关文章
|
1月前
|
6天前
|
存储 数据采集 大数据
数据仓库建模规范思考
本文介绍了数据仓库建模规范,包括模型分层、设计、数据类型、命名及接口开发等方面的详细规定。通过规范化分层逻辑、高内聚松耦合的设计、明确的命名规范和数据类型转换规则,提高数据仓库的可维护性、可扩展性和数据质量,为企业决策提供支持。
49 10
|
2月前
|
SQL
数仓规范之sql编写规范
编写SQL时,应遵循以下规范:所有关键字小写,表别名按a, b, c...顺序使用,复杂逻辑多行书写,提高可读性。SELECT字段需逐行列出,避免使用*,GROUP BY字段同样处理。WHERE条件多于一个时,每条件一行。JOIN子表推荐使用嵌套查询方式1,明确关联条件,避免笛卡尔积。关键逻辑需注释,INSERT SELECT后最外层字段加注释说明用途。示例中展示了推荐的JOIN替代子查询的写法,以提高代码的可读性和维护性。
86 1
|
5月前
|
存储 数据挖掘 BI
数据仓库深度解析与实时数仓应用案例探析
随着数据量的不断增长和数据应用的广泛深入,数据治理和隐私保护将成为数据仓库建设的重要议题。企业需要建立完善的数据治理体系,确保数据的准确性、一致性和完整性;同时加强隐私保护机制建设,确保敏感数据的安全性和合规性。
620 55
|
4月前
|
消息中间件 存储 大数据
大数据-数据仓库-实时数仓架构分析
大数据-数据仓库-实时数仓架构分析
155 1
|
6月前
|
Cloud Native 数据管理 OLAP
云原生数据仓库AnalyticDB产品使用合集之是否可以创建表而不使用分区
阿里云AnalyticDB提供了全面的数据导入、查询分析、数据管理、运维监控等功能,并通过扩展功能支持与AI平台集成、跨地域复制与联邦查询等高级应用场景,为企业构建实时、高效、可扩展的数据仓库解决方案。以下是对AnalyticDB产品使用合集的概述,包括数据导入、查询分析、数据管理、运维监控、扩展功能等方面。
412 2
云原生数据仓库AnalyticDB产品使用合集之是否可以创建表而不使用分区
|
6月前
|
Cloud Native 关系型数据库 MySQL
《阿里云产品四月刊》—云原生数据仓库 AnalyticDB MySQL 版 新功能
阿里云瑶池数据库云原生化和一体化产品能力升级,多款产品更新迭代
112 3
|
5月前
|
存储 消息中间件 数据挖掘
数据仓库的深度探索与实时数仓应用案例解析
大数据技术的发展,使得数据仓库能够支持大量和复杂数据类型(如文本、图像、视频、音频等)。数据湖作为一种新的数据存储架构,强调原始数据的全面保留和灵活访问,与数据仓库形成互补,共同支持企业的数据分析需求。
|
6月前
|
SQL Cloud Native 关系型数据库
云原生数据仓库AnalyticDB产品使用合集之如何进行一键诊断
阿里云AnalyticDB提供了全面的数据导入、查询分析、数据管理、运维监控等功能,并通过扩展功能支持与AI平台集成、跨地域复制与联邦查询等高级应用场景,为企业构建实时、高效、可扩展的数据仓库解决方案。以下是对AnalyticDB产品使用合集的概述,包括数据导入、查询分析、数据管理、运维监控、扩展功能等方面。
426 7
|
6月前
|
存储 SQL Cloud Native
云原生数据仓库AnalyticDB产品使用合集之热数据存储空间在什么地方查看
阿里云AnalyticDB提供了全面的数据导入、查询分析、数据管理、运维监控等功能,并通过扩展功能支持与AI平台集成、跨地域复制与联邦查询等高级应用场景,为企业构建实时、高效、可扩展的数据仓库解决方案。以下是对AnalyticDB产品使用合集的概述,包括数据导入、查询分析、数据管理、运维监控、扩展功能等方面。
123 4

热门文章

最新文章

下一篇
DataWorks