《大数据之路》读书笔记:建模综述

《大数据之路-阿里巴巴大数据实践》,作者阿里巴巴数据技术及产品部,第八章“大数据领域建模综述”

阿里的这本书之前又翻看过,很多实践是很棒的,也学习应用过一些规范,最近比较闲(失业在家),整理一下。最近搬家,有好多书,哎,有些书看完就处理掉吧,二手卖掉,要不搬家太痛苦了。

这一章是概述,主要介绍了关于建模相关的一些基础知识点,下面就总结下,算是对知识的回顾了。

为什么需要数据建模

记得面试的时候,有被问到过这个问题,也问过别人,考虑这个问题,从几个点来看:什么是数据建模?用了的话,有什么好处?

  • 数据建模就是将数据进行有序、有结构的分类组织和存储,主要从业务、数据存取、使用三个角度考虑

通过数据建模,我们可以

  • 获得性能的提升,减少IO吞吐
  • 降低存储成本和计算成本,减少数据冗余,数据重用性高
  • 提高使用效率
  • 提高数据质量,统一数据口径,减少错误发生的可能

想写议论文一样,我们还可以通过类比来回答这一问题:

  • 数据就像图书馆里的书,图书馆里的书分门别类,查找借阅非常方便,没有经过建模的数据,就像是一堆一堆的书籍,想象一下,你找一本书要多久?
  • 数据就像一栋一栋建筑,整个城市的规划是需要设计的,你会把机场建在陆家嘴吗?
数据库和数据仓库

他们俩名字很像,外行人或者不了解的同学一开始会容易搞错,简单来说,数据库是用来存储数据的,而数据仓库也是需要建立的数据库之上的,它更多的是一种解决方案。
提到它俩的时候,兴许还会说说OLAP和OLTP,书中提到的一些点还是很好的。

  • OLTP主要是随机读写,通常要满足3NF,需要满足事务
  • OLAP主要是批量读写,不关注事务
建模方法

面试或者平时总会提到说怎么建模,用的谁谁的建模理论,说实话,我一直都记不住几位大师的名字,传统的建模方法一个是基于ER模型的,一个是基于维度建模的。书里总结的不错,让我们来学习下。

  • ER模型
    Bill Inmon,数据仓库之父提出的建模方法。需要从全企业的高度设计一套3NF模型,需要了解企业业务和数据;实施周期非常长;对建模人员的要求非常高。
    该模型主要是将数据进行整合,并不能直接用户分析决策

  • 维度模型
    Kimball大师倡导的建模方法。从需求分析角度出发,关注用户如何快速完成需求分析,使用星型模型、雪花模型。
    这是目前比较通用的方法,上手也很简单。

  • DataVault 模型 & Anchor模型
    这俩模型没怎么实践过,都是偏数据整合的,各有特点。

你可能感兴趣的:(《大数据之路》读书笔记:建模综述)