7.阿里大数据——大数据建模

一、为什么需要数据建模

数据模型就是数据组织和存储方法,它强调从业务、数据存取和使用角度合理存储数据。
适合业务和基础数据存储环境的模型,大数据能获得以下好处:

  • 性能:良好的数据模型能够帮助我们快速查询所需要的数据,减少数据的I/O吞吐。
  • 成本:良好的数据模型能极大地减少不必要的数据冗余,也能实现计算结果服用,极大地降低大数据系统中的存储和计算成本。
  • 效率:良好的数据模型能极大地改善用户使用数据的体验,提高使用数据的效率。
  • 质量:良好的数据模型能改善数据统计口径的不一致性,减少数据计算错误的可能性。

大数据系统需要数据模型方法来帮助更好的组织和存储数据,以便在性能、成本、效率和质量之间取得最佳平衡。

二、关系数据库系统和数据仓库

不管是Hadoop、Spark还是阿里巴巴集团的MaxCompute系统,仍然在大规模使用SQL进行数据的加工和处理,仍然在用Table存储数据,仍然在使用关系理论描述数据之间的关系,只是在大数据领域,基于其数据存取的特点在关系数据模型的范式上有了不同的选择而已。

三、从OLTP和OLAP系统的区别看模型方法论的选择

  • OLTP(On-Line Transaction Processing 联机事务处理):面向的主要数据操作是随机读写,主要采用满足3NF的实体关系模型存储数据,从而在事务处理中解决数据的冗余和一致性问题。
  • OLAP(Online Analytical Processing 联机分析处理):面向的主要数据操作是批量读写,事务处理中的一致性不是OLAP所关注的,其主要关注数据的整合,以及在一次性的复杂大数据查询和处理中的性能,因此它需要采用一些不同的数据建模方法。

四、典型的数据仓库建模方法论

1.ER模型

从全企业的高度设计一个3NF模型,用实体关系(Entity Relationship,ER)模型描述企业业务,在范式理论上符合3NF。数据仓库中的3NF与OLTP中不同过,有以下特点:

  • 需要全面了解企业业务和数据
  • 实施周期非常长
  • 对建模人员对能力要求非常高

ER模型建设数据仓库的出发点是整合数据,为数据分析决策服务。建模步骤分为三个阶段:

  • 高层模型:高度抽象,描述企业的业务总体概况。
  • 中层模型:在高层模型基础上,细化主题的数据项。
  • 物理模型:在中层模型的基础上,考虑物理存储,同时基于性能和平台特点进行物理属性的设计,也可能做一些表的合并、分区的设计等。

2.维度模型

维度建模从分析决策的需求出发构建模型,为分析需求服务,因此它重点关注用户如何更快速地完成需求分析,同时具有较好的大规模复杂查询的响应性能。其典型代表事星形模型,以及在一些特殊场景下使用的雪花模型。其设计步骤如下:

  • 选择需要进行分析决策的业务过程:单个业务事件;某个事件的状态;一系列相关业务事件组成的业务流程。
  • 选择粒度:预判所有分析需要细分的程度,从而决定选择的粒度,粒度是维度的一个组合。
  • 识别维表:基于粒度设计维表,包括维度属性,用于分析师进行分组和筛选。
  • 选择事实:确定分析需要衡量的指标。

3. Data Vault 模型

它是ER模型的衍生,其设计的出发点也是为了实现数据的整合,但不能直接用于数据分析决策。它强调建立一个可审计的基础数据层,也就是强调数据的历史性、可追溯性和原子性,而不要求对数据进行过度的一致性处理和整合。该模型由一下几部分组成:

  • Hub:企业的核心业务实体,由实体key、数据仓库序列代理键、装载时间、数据来源组成。
  • Link:代表Hub之间的关系。这里与ER模型最大的区别是将关系作为一个独立的单元抽象,可以提升模型的扩展性。
  • Satellite:Hub的详细描述内容,一个Hub可以有多个Satellite。

Hub可以想象成人的骨架,那么Link就是连接骨架的韧带,而Satellite就是骨架上面的血肉。

4.Anchor模型

Anchor对Data Vault模型做了进一步规范化处理,设计的初衷是一个高度可扩展的模型,其核心思想是所有的扩展只是添加而不是修改,因此将模型规范到6NF,基本变成了k-v结构化模型。组成如下:

  • Anchors:类似于Data Vault的Hub,代表业务实体,且只有主键。
  • Attributes:类似于Data Vault的Satellite,但是更加规范化,将其全部k-v结构化,一个表只有一个Anchors的属性描述。
  • Ties:类似于类似于Data Vault的Link,描述Anchors的关系。
  • Knots:代表那些可能会在多个Anchors中公用的属性的提炼。

5.阿里巴巴数据模型实践综述

经历了多个阶段:

  • 第一个阶段:完全应用驱动的时代,第一代数据仓库系统构建在Orcale上,数据完全以满足报表需求为目的。这时候的数据架构只有两层,即ODS+DSS。

  • 第二个阶段:ER模型+维度模型方式,构建出一个四层的模型架构,即

    • ODL(操作数据层):和源系统保持一致。
    • BDL(基础数据层):引入ER模型,加强数据整合,构建一致的基础数据模型。
    • IDL(接口数据层):基于维度建模的方法构建集市层。
    • ADL(应用数据层):完成应用的个性话和基于展现需求的数据组装。
  • 第三个阶段:大数据技术快速发展的背景下,选择了维度建模为核心理念的建模方法论,同时对其进行了一定的升级和扩展,构建了阿里巴巴集团的公共层模型数据架构体系。
    下章详述

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,723评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,080评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,604评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,440评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,431评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,499评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,893评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,541评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,751评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,547评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,619评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,320评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,890评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,896评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,137评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,796评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,335评论 2 342

推荐阅读更多精彩内容