阿里平台上转的 数据模型架构规范
https://help.aliyun.com/document_detail/117432.html
数据层次的划分
数据分类架构
数据处理流程架构
数据划分及命名空间约定
数据模型
本文为您介绍数据模型架构规范。
声明
本文以及后续章节中介绍的非功能性规范均为建议性规范,产品功能无强制,仅供指导。
数据层次的划分
ODS:Operational Data Store,操作数据层,在结构上其与源系统的增量或者全量数据基本保持一致。它相当于一个数据准备区,同时又承担着基础数据的记录以及历史变化。其主要作用是把基础数据引入到MaxCompute。
CDM:Common Data Model,公共维度模型层,又细分为DWD和DWS。它的主要作用是完成数据加工与整合、建立一致性的维度、构建可复用的面向分析和统计的明细事实表以及汇总公共粒度的指标。
DWD:Data Warehouse Detail,明细数据层。
DWS:Data Warehouse Summary,汇总数据层。
ADS:Application Data Service,应用数据层。
具体仓库的分层情况需要结合业务场景、数据场景、系统场景进行综合考虑。
数据分类架构
该数据分类架构在ODS层分为三部分:数据准备区、离线数据和准实时数据区。在进入到CDM层后,由以下几部分组成:
公共维度层:基于维度建模理念思想,建立整个企业的一致性维度。
明细粒度事实层:以业务过程为建模驱动,基于每个具体业务过程的特点,构建最细粒度的明细层事实表。您可以结合企业的数据使用特点,将明细事实表的某些重要维度属性字段做适当的冗余,即宽表化处理。
公共汇总粒度事实层:以分析的主题对象为建模驱动,基于上层的应用和产品的指标需求,构建公共粒度的汇总指标事实表,以宽表化手段来物理化模型。
数据处理流程架构
数据划分及命名空间约定
请根据业务划分数据并约定命名,建议针对业务名称结合数据层次约定相关命名的英文缩写,这样可以给后续数据开发过程中,对项目空间、表、字段等命名做为重要参照。
按业务划分:命名时按主要的业务划分,以指导物理模型的划分原则、命名原则及使用的ODS project。例如,按业务定义英文缩写,阿里的“淘宝”英文缩写可以定义为“tb”。
按数据域划分:命名时按照CDM层的数据进行数据域划分,以便有效地对数据进行管理,以及指导数据表的命名。例如,“交易”数据的英文缩写可定义为“trd”。
按业务过程划分:当一个数据域由多个业务过程组成时,命名时可以按业务流程划分。业务过程是从数据分析角度看客观存在的或者抽象的业务行为动作。例如,交易数据域中的“退款”这个业务过程的英文缩写可约定命名为“rfd_ent”。
数据模型
模型是对现实事物的反映和抽象,能帮助我们更好地了解客观世界。数据模型定义了数据之间关系和结构,使得我们可以有规律地获取想要的数据。例如,在一个超市里,商品的布局都有特定的规范,商品摆放的位置是按照消费者的购买习惯以及人流走向进行摆放的。
数据模型的作用数据模型是在业务需求分析之后,数据仓库工作开始时的第一步。良好的数据模型可以帮助我们更好地存储数据,更有效率地获取数据,保证数据间的一致性。
模型设计的基本原则高内聚和低耦合一个逻辑和物理模型由哪些记录和字段组成,应该遵循最基本的软件设计方法论中的高内聚和低耦合原则。主要从数据业务特性和访问特性两个角度来考虑:将业务相近或者相关的数据、粒度相同数据设计为一个逻辑或者物理模型;将高概率同时访问的数据放一起,将低概率同时访问的数据分开存储。核心模型与扩展模型分离建立核心模型与扩展模型体系,核心模型包括的字段支持常用核心的业务,扩展模型包括的字段支持个性化或是少量应用的需要。在必须让核心模型与扩展模型做关联时,不能让扩展字段过度侵入核心模型,以免破坏了核心模型的架构简洁性与可维护性。公共处理逻辑下沉及单一底层公用的处理逻辑应该在数据调度依赖的底层进行封装与实现,不要让公用的处理逻辑暴露给应用层实现,不要让公共逻辑在多处同时存在。成本与性能平衡适当的数据冗余可换取查询和刷新性能,不宜过度冗余与数据复制。数据可回滚处理逻辑不变,在不同时间多次运行数据的结果需确定不变。一致性相同的字段在不同表中的字段名必须相同。命名清晰可理解表命名规范需清晰、一致,表命名需易于下游的理解和使用。
阿里平台上转的 数据模型架构规范相关推荐
- 近几年在淘宝及阿里云上的高可用架构演进
原文:架构之家 主要介绍了其近几年在阿里电商平台及阿里云上的高可用设计的经验,分为两个部分:第一部分主要包括传统的淘宝店铺稳定性体系的建设及相关的基础链路设计.缓存和容灾方案的设计及部署:第二部分主要 ...
- 医疗保障信息平台HASF应用系统技术架构名词解释技术选型架构图
下载地址: 医疗保障信息平台HASF应用系统技术架构规范.pdf下载-无极低码 HSAF 医疗保障应用框架(Healthcare Security Application Framework) Iaa ...
- 阿里又上美国“售假黑名单” 是被故意抹黑了吗
时隔四年,阿里又栽在了假货上.美国政府周三再次将这家电商巨头列入"恶名市场"(notorious market)名单,对于一直在努力洗刷售假恶名的阿里来说,无异于当头一棒.而这一次 ...
- 从阿里中台战略看企业IT架构转型之道(上)
此文是我阅读<企业IT架构转型之道>一书的学习笔记的上半部分,所有内容出自钟华老师的这本书. 零.为何阅读<企业IT架构转型之道> 在加入X公司后,开始了微服务架构的实践,也开 ...
- Terraform 学习总结(6)—— 基于阿里云平台上的 Terraform 实战
Terraform 是什么 Terraform(https://www.terraform.io/)是 HashiCorp 旗下的一款开源(Go 语言开发)的 DevOps 基础架构资源管理运维工具, ...
- 在英特尔® 架构平台上开发和优化基于 NDK 的 Android 游戏应用
作者:杜伟 Android 原生开发套件 (NDK) 是 Android SDK 的附带工具.借助该工具,您可以使用诸如 C 和 C++ 等本地代码语言实现部分应用. 您可以从以下网址下载该 NDK ...
- 线上故障等级和处理规范,看阿里测试工程师如何拿捏
一.前言 对于每一个测试人员来说,软件测试过程中有一个四字成语,真的是如噩梦一般的存在,会在你不注意的时候,就突然蹦出来,劳你筋骨.空乏你身.乱你心神.行拂乱你所为,那就是--线上故障. 线上故障顾名 ...
- 【架构设计】——k8s云平台上分布式应用架构浅谈
一.前言 这篇文章我其实写了很久,有小半年时间.迟迟没发,也是犹豫了很久,都不知道怎么取名,因为内容有点形而上的感觉,没贴出具体实现代码,所以干脆大言不惭的说这是架构设计吧. 二.系统架构 在基于k8 ...
- 阿里云上的高性能高并发高可用架构
云也不是全能全有的,有些东西还是要考虑. 我记得之前有个高手说,在云计算时代,传统的架构优化几板斧,包括什么负载均衡.数据缓存之类再也用不上了,因为云基本提供了一切. 果真如此吗? 云计算是一种基于互 ...
- Android平台上实现身份证识别(通过阿里云Api-印刷文字识别_身份证识别)
Android平台上实现身份证识别(通过阿里云Api-印刷文字识别_身份证识别) 一: 前言 继上一篇文章有段时间了,上一篇文章的身份证和银行卡的识别时通过本地的opencv库,tess-two库识别 ...
最新文章
- Linux数据报文接收发送总结4
- 苏宁大数据怎么运营_数据驱动经营 苏宁大数据用户标签入选2019TOP100全球软件案例...
- 在NIO.2中创建文件和目录
- Navicat premiu的导入和导出
- android layout 替换,LayoutInflater 后记--替换系统控件
- Unity面试题精选(2)
- VB:谁终结了我的程序
- html 页面缩放事件,浏览器缩放不触发window.onresize事件的BUG
- 无80端口情况下使用 CertBot 申请SSL证书 并实现自动续期
- Objective-C学习笔记(二)——OC基本语法概述
- Python实现登录注册系统
- WordPress自带TinyMCE编辑器增强技巧大全
- IPv4子网划分与聚合
- java洗衣店管理课程设计报告_课内资源 - 基于Java的洗衣店管理系统
- 无线传感网络在医疗领域的应用
- Task 03 python与word
- 20155305乔磊2016-2017-2《Java程序设计》第一周学习总结
- 百度api爬虫(2)json转excel表格
- 韩国何以成为电子竞技强国
- PS中性灰磨皮教程(上)
热门文章
- 10分钟带你光速入门运维工具之-Puppet
- Java进阶之路——从初级程序员到架构师,从小工到专家(转)
- Javascript 高级程序设计笔记 (cha5 引用类型)
- CentOS中自定义yum仓库和配置文件
- 令人蛋疼的错误提示 0xcdcdcdcd ,0xdddddddd ,0xfeeefeee ,0xcccccccc ,0xabababab
- Linux内核中的IPSEC实现(6)
- 卷积神经网络CNN原理以及TensorFlow实现
- android 多线程 handler使用方法
- MySQL正则表达式的问题
- Redis 锁的实现方案