利用Data vault对数据仓库建模
简介
国内关于Data Vault的信息很少,所以决定写点什么,纯粹都是自己在这个行业10多年的摸爬滚打。不过为了效率,尽量做到简短,直接上干货。对于各个细节大家有不同的理解欢迎来讨论。
数据仓库建模的方法有哪些。
首先最经典的是数据仓库Inmon基于3NF的方法。这个方法知道概念的人很多,但是实际用的很少,也不建议你去了解更多,因为目前在国内的招聘网站上你会很少找到这个。
其次是Kimball的维度建模方法,这个基本上做过数据仓库的都用过,比如事实表和维度表,基于这种理论也可以构建数据立方体方便分析。其特点是简单快速,适合中小型数据仓库。招聘网站上九成以上关于数据仓库的招聘都会要求这个。
然后是Dan的Data Vault建模方法。这个国内知道的不多。不同于维度方法,它的基本表是LINK,HUB以及SAT表。这个方法论连Inmon都说好,只是圈子实在太小。这个方法论比较适合企业级数据仓库,以及大数据的场景。
为什么要Data Vault
关于DV的各种好处官方站点提了好多,但说得都很marketing。以下是我个人的理解:
- 适合企业级数据仓库。
- 适合大数据项目,是的,在大数据中你怎么去组织数据,直接扔那?还是用维度模型?是不是都不太合适?那你应该考虑Data Vault。
- 比较容易根据元数据系统去自动生成相应的代码。这个在下面我会介绍一些。
谁更爱DV?
这是一个很有意思的问题,同时你也可以看到这个话题在国内是多么冷门。
从我阅读到的文章观察到信息来看,首先是欧洲比较火热,其次是北美,然后是澳洲。
在欧洲,德国人似乎更爱这个话题,在海外网站偶尔能看到德国人写的文章以及在讨论相关的问题,所以,汽车领域会见到的比较多。开源的项目以及商业相关的项目,也大多数都是欧洲的公司。
在国内看到的讨论和文章真的是少之又少,目前我所观察到的是阿里有人在讨论,但是不确定是在哪个部门。
维度模型还是DV?
维度模型和DV的关系,我觉得他俩是不冲突的。在我自己参考别人的方法制定的规范中,核心层用的方法是DV,然后在集市层用到的方法就是维度模型和宽表。
如果你的前端有对应的OLAP Cube工具的话,那么维度模型确实是必要的。
在核心层,相比维度模型,DV就比较容易对各个系统的数据进行整合和关系的管理。
想知道关于Data Vault更多的信息?
首先你可以去都Dan的网站:
对英文多少有点要求,主要是他们的思路和文风有时候真的好飘逸。
其次是Roelant的网站:
里边的干货也很多,当然某些细节对大家的英语也是个挑战。他的博客里有好多细节的实现,其次他也有自己的开源项目可以作为不错的参考。
最后,也可以参考我正在翻译的DV规范:
https://github.com/microsoftbi/DWH-Standard-code-69/blob/master/DV2ModelingSpeci.md
这里面我按照英文-中文对照的方式,根据自己掌握的知识和理解去进行本地化的翻译。
进度很慢,但是如果你想要知道个大概的话那么看我中文翻译出来的部分基本就够了。
结合Data Vault我也自己编写了一个数据仓库的各方面标准:
https://github.com/microsoftbi/DWH-Standard-code-69/wiki/Data-Warehouse-standard--Code-Branch-69
Code name 69,我会不断加入更多项目的实施细节进去。
当然实际项目中会有很多实现的分支,比如对数据的变更处理,有SCD2等很多方法,在我的这个规范里就是insert only。
当然没有一个方法能适用所有场景,这个69规范也不见得就是最专业的,如果你的项目是start from zero的话,那么或许可以拿来做一个参考然后制作出自己的项目规范。
利用Data vault对数据仓库建模的更多相关文章
- 利用Data Vault对数据仓库进行建模(二)
写在前面 本篇先不讨论Data Vault其本身,因为不见得所有人都接受这个.但是里边有一些很不错的东西跟主流的数据仓库方法是有共同点的,所以这里主要讨论这些共同的方法,在笔者看来,无论是Kimbal ...
- Data Vault玩转数据仓库(三)
在Data Vault 2.0版本里,其不只是针对数据仓库的建模,同时也包含了架构,方法论以及实现.这篇挑几个概念,附上我个人对其的理解.同时也把这个系列的名字改成<Data Vault玩转数据 ...
- 数据仓库之Data Vault模型总结
一,Data Vault模型有几个主要的组件,这里先总结一下: 1.Hub组件,是一个数据表,用于记录在业务应用中常用到的业务实体键值,如员工ID,发票号.客户编号.车辆号等. 表内包括几个关键字段: ...
- Data Vault 简介
Data Vault 简介 Data Vault 2.0 不仅是建模技术,也提供了一整套数据仓库项目的方法论.它能提供一套非常可行的方案来满足数据仓库项目中对于历史轨迹和审核两个方面的需求. 多年来, ...
- 大数据之路week07--day05 (一个基于Hadoop的数据仓库建模工具之一 HIve)
什么是Hive? 我来一个短而精悍的总结(面试常问) 1:hive是基于hadoop的数据仓库建模工具之一(后面还有TEZ,Spark). 2:hive可以使用类sql方言,对存储在hdfs上的数据进 ...
- 场景4 Data Warehouse Management 数据仓库
场景4 Data Warehouse Management 数据仓库 parallel 4 100% —> 必须获得指定的4个并行度,如果获得的进程个数小于设置的并行度个数,则操作失败 para ...
- 《BI那点儿事》数据仓库建模:星型模式、雪片模式
数据仓库建模 — 星型模式Example of Star Schema 数据仓库建模 — 雪片模式Example of Snowflake Schema 节省存储空间 一定程度上的范式 星形 vs.雪 ...
- Cross-Domain Security For Data Vault
Cross-domain security for data vault is described. At least one database is accessible from a plural ...
- 数据仓库建模与ETL实践技巧
数据分析系统的总体架构分为四个部分 —— 源系统.数据仓库.多维数据库.客户端(图一:pic1.bmp) 其中,数据仓库(DW)起到了数据大集中的作用.通过数据抽取,把数据从源系统源源不断地抽取出来, ...
随机推荐
- Js数据类型、Json格式、Json对象、Json字符串
数据类型,从结构上看,所有的数据最终都可以分成三种类型: 第一种类型是scalar(标量),也就是一个单独的string(字符串)或数字(numbers),比如“北京”这个单独的词. 第二种类型是se ...
- 使用scrapy实现去重,使用Redis实现增量爬取
面试场景: 要求对正在爬取的内容与mysql数据库中的数据进行比较去重 解决方式: 通过Redis来作为中间件,通过url来确保爬过的数据不会再爬,做到增量爬取. Redis数据库其实就是一个中间件, ...
- 让IE下载跟迅雷一样快?
网络上搜的没试过... 修改IE支持多线程即可: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settin ...
- web前端开发_文件/目录/样式/函数等命名规范
页面的命名规则 统一用翻译的英文命名(推荐) 统一用拼音命名(拼音的简化也可) 如果文件名过长,企业要提前约定一份缩写的规范,如pro—product 例如: 首页—index 产品列表—prolis ...
- tabBar配置和修改
1.tabBar(底部导航栏) 属性 默认值 描述 平台支持 color tab上未被选中时文字的颜色 selectedColor tab上被选中时文字的颜色 backgroundCo ...
- python三器一闭
前言:python三器一闭i 包含 迭代器.生成器.装饰器,闭包 迭代器 概念:迭代器是一种可以记录可迭代对象遍历的位置,迭代器从第一个元素开始访问,直到访问所有元素访问结束,迭代器只会往前,不会后退 ...
- element-ui(vue)upload组件的http-request方法的使用
element-ui(vue)upload组件的http-request方法的使用 官方文档: http-request方法有一个默认的参数 content content 是一个object对象:里 ...
- Scala 面向对象(三):package 包 (二)
1 包对象 基本介绍:包可以包含类.对象和特质trait,但不能包含函数/方法或变量的定义.这是Java虚拟机的局限.为了弥补这一点不足,scala提供了包对象的概念来解决这个问题. package ...
- redis(十七):Redis 安装,部署(WINDOWS环境下)
1.下载Redis安装文件, 我选择的是 3.0.504 版本,有zip或msi可供下载. 2.解压缩后,打开安装目录 双击redis-server.exe启动redis服务器,双击redis-c ...
- 数据可视化之DAX篇(二十四)Power BI应用技巧:在总计行实现条件格式
https://zhuanlan.zhihu.com/p/98975646 如何将表格或者矩阵中值的条件格式也应用于总计行? 目前PowerBI并不支持这种功能,无法在总计行或者小计行上应用条件格式, ...