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

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

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

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

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

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

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

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

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

做好之后,再根据需求生成我们想要的派生指标等,或者抽取一些数据宽表,用于数据分析,这样我们就可以想要知道某个数据,就可以通过数据域->业务过程->相应的物理表->对应的指标,修饰词,时间周期等,通过这个分类,定位到我们的数据,这样也可以方便我们后续对数据地图,数据资产的管理,这个就有点像是图书馆对图书的分类,想定义大类,再细分,图书是根据类目划分,我们这里要根据业务行为过程,具体的业务划分。
上面的图是网络上某一个图书馆的图书分类,我们可以注意到,每一个图书分类前面都有一个字母,这个是每一个类目的代码,用于图书的编码记录,这里我们也是一样,需要对每一个数据域,也就是数据的分类,分配一个编码。这样用于表命名,最简单的就是作为前后缀,这样我们就可以简单的通过表名知道这个表是数据哪个数据域的,同样的道理我们需要对上面提到的业务过程,维度,修饰词等取一个统一的编码,用于对后续数据开发过程中,表命名,字段命名等,这样我们通过表名称,字段名称,就可以大概知道这张表是什么数据。

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

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

原文链接:数据仓库(7)数仓规范设计

数据仓库(7)数仓规范设计相关推荐

  1. 数据仓库(6)数仓分层设计架构

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

  2. 数据仓库(二) 数仓理论(重点核心)

    文章目录 数据仓库(二) 数仓理论(重点核心) 数仓分层 数据仓库分层 ODS层 DWD层 DWS层 DWT层 ADS层 数据仓库分层的好处 关系建模与维度建模 关系建模 维度建模 星型模型 雪花模型 ...

  3. 数仓维度建模系列-数仓规范篇

    本系列将持续更新数仓建模相关知识,将学习到的理论知识和工作实践结合起来,总结沉淀下来,积跬步成千里. 上一篇介绍了维度建模体系的搭建,这次来分享下搭建数据仓库涉及的各种规范. 分享我工作中遇到的一个小 ...

  4. 数据仓库(1)什么是数据仓库,数仓有什么特点

      本文原链接:什么是数据仓库,数仓有什么特点   数据仓库,简称数仓,英文名称为Data Warehouse,可简写为DW或DWH.数据仓库,是为企业所有级别的决策制定过程,提供所有类型数据支持的战 ...

  5. 网易严选如何打造数仓规范和评价体系

    数据为王的时代,数据量从最初的几十 G,慢慢沉淀到几十 T,甚至几十 PB 的量.数据工程师,也从最初的 ETL 工程师慢慢成长为数据全栈工程师:采集.同步.模型.离线.实时.规范.平台.工具.产品. ...

  6. 数据仓库(9)数仓缓慢变化维度数据的处理

      数据仓库的重要特点之一是反映历史变化,所以如何处理维度的变化是维度设计的重要工作之一.缓慢变化维的提出是因为在现实世界中,维度的属性并不是静态的,它会随着时间的流逝发生缓慢的变化,与数据增长较为快 ...

  7. 数据仓库(3)数仓建模之星型模型与维度建模

      维度建模是一种将数据结构化的逻辑设计方法,也是一种广泛应用的数仓建模方式,它将客观世界划分为度量和上下文.度量是常常是以数值形式出现,事实周围有上下文包围着,这种上下文被直观地分成独立的逻辑块,称 ...

  8. 数据仓库(5)数仓Kimball与Inmon架构的对比

    数据仓库主要有四种架构,Kimball的DW/BI架构.独立数据集市架构.辐射状企业信息工厂Inmon架构.混合Inmon与Kimball架构.不过不管是那种架构,基本上都会使用到维度建模. Kimb ...

  9. 网易严选打造数仓规范和评价体系实践

    数据仓库,是数据工程师的无形产品,不同于可视化.交互型产品的评价体系,数据仓库的评价自有它的独特性. 本次邀请了有多年数据领域工作经验,专注数据架构.模型设计和规范执行落地的专家,从概念-平台-规范的 ...

最新文章

  1. COGS 2353 2355 2356 2358 有标号的DAG计数
  2. portainer图形化监控
  3. 分布式事务之最终一致的Mq实现
  4. 福建省计算机初级职称,2019福建助理工程师职称评定条件材料及审核管理制度...
  5. Eclipse手动配置svn
  6. N点虚拟主机管理系统(For Windows2003/2008)功能及介绍
  7. 1.视频压缩编码综述
  8. fastjson.JSONObject之对象与JSON转换方法
  9. 如何根据原理图画封装_画了这么多年PCB,你真的了解原理图吗?
  10. Activity返回值
  11. 图片水印 之 二
  12. 机器人对话常用语模板_小a电话机器人免费咨询
  13. eXtremeComponents简单应用
  14. Office2010新体验-基于Office Visio 2010 图表绘制新体验
  15. 洛谷 P3403 跳楼机
  16. 《人类简史:从动物到上帝》读书活动策划
  17. 全双工和半双工的区别?
  18. SDN多控制器资源池的设计与实现
  19. edius7下载地址(需要注册会员的)
  20. 福岛第一核电站的辐射水平已明显下降

热门文章

  1. 一个正经的前端学习 开源 仓库(第3天)
  2. 如何计算两个矩形框的IoU
  3. Jetpack 简介
  4. 去除字符串首尾字符随笔纪要
  5. Ubuntu 安装百度云bcloud
  6. 链表--判断链表中是否有环
  7. 病毒木马查杀实战第002篇:熊猫烧香之手动查杀
  8. Revit中的族不能剪切构件怎么办?建模助手的一键剪切功能
  9. 兼容性测试主要测试那些方面
  10. 科技云报道:云巨头的中场战事:PaaS、SaaS成为关键破局点?