OLTP 与 OLAP

OLTP 联机事务处理

OLTP是传统关系型数据库的主要应用,主要用于日常事物、交易系统的处理

1、数据量存储相对来说不大

2、实时性要求高,需要支持事物

3、数据一般存储在关系型数据库 (oracle 或 mysql 、postgresql中)

OLAP 联机分析处理

OLAP是数据仓库的主要应用,支持复杂的分析查询,侧重决策支持

1、实时性要求不是很高, ETL 一般都是 T+1 的数据;

2、数据量很大;

3、主要用于分析决策;

清晰数据结构:每一个数据分层都有它的作用域,这样我们在使用表的时候能更方便地定位和理解

脏数据清洗:屏蔽原始数据的异常

屏蔽业务影响:不必改一次业务就需要重新接入数据

数据血缘追踪:简单来讲可以这样理解,我们最终给业务呈现的是能直接使用的一张业务表,但是它的来源有很多,如果有一张

来源表出问题了,我们希望能够快速准确地定位到问题,并清楚它的危害范围。

减少重复开发:规范数据分层,开发一些通用的中间层数据,能够减少极大的重复计算。

把复杂问题简单化。将一个复杂的任务分解成多个步骤来完成,每一层只处理单一的步骤,比较简单和容易理解。便于维护数据

的准确性,当数据出现问题之后,可以不用修复所有的数据,只需要从有问题的步骤开始修复。

逻辑分层

数仓分层,一般按ods->dw->dm整体架构。不同的企业,不同的业务场景,有衍生出不同的分层架构模式。例如经典四层架构:ods->dwd->dws-ads,bdl->fdl->gdl->adl等。

分层依据

分层的依据在ods、da、dim层一般无歧义,关键在dw层的分层依据,也是数据仓库分层建设的核心。

每层划分的依据如下:

ods层:存放原始数据信息,原则上不进行任何的数据清晰,和数据源保持一致。

dw层:数据公共层,是数仓建设的重点,一般是日志子表和一些宽表,主要完成数据的清洗、转换等

dm层:数据集市层,是最直接体系数据资产的层,一般是汇总数据,现在已经逐步弱化,面向挖掘、数据分析等

da层:数据应用层,高度汇总数据,主要用于报表展示。

技术选型,传统数仓一般以Oracle、greenplum、teradata 等,互联网数仓一般以Hadoop生态圈为主,离线以Hive为核心,准实时以spark为核心,实时以flink为核心构建。

数据调研

业务调研,业务侧对齐,遵循关系型数据库建模方式,从概念模型(cdm)->逻辑模型(ldm)->物理模型(pdm)建模套路,是一个从抽象到具体的一个不断细化完善的分析,设计和开发的过程。

需求调研,现有BI报表需求,统计需求,用户画像,推荐系统等数据应用。

数据库调研,了解数据库表数据结构、数据形态,全局把握业务流程数据流向,做到真正业务流程和数据结构结合。

04. 主题域划分

业务高度抽象,可先确定企业业务bu模块,然后可根据概念模型(cdm)进行一级主题划分,确定一致性维度和事实流程,构建总线矩阵。

图片来源 Kimball《The Data Warehouse Toolkits,- 3rd Edition》

按照kimball大师经典建模四步骤:选择业务过程->声明粒度->确定维度->确定事实 进行维度建模。

数仓规范

构建企业级数据仓库,必不可少的就是制定数仓规范。包括命名规范,流程规范,设计规范,开发规范 等。无规矩不成方圆,建设数仓也是这样。

开发规范 示例:

离线数据仓库技术组件

数据仓库物理分层_数据仓库逻辑分层相关推荐

  1. 数据治理系列:数据仓库物理分层_数据仓库逻辑分层

    OLTP 与 OLAP OLTP 联机事务处理 OLTP是传统关系型数据库的主要应用,主要用于日常事物.交易系统的处理 1.数据量存储相对来说不大 2.实时性要求高,需要支持事物 3.数据一般存储在关 ...

  2. 数据仓库dw层_数据仓库分层之辩

    前言,这篇文章最早见过是在2009年的某一个论坛上并保存了下来, 今天发出来读了一遍,不禁思考本质上这些年我们到底进步了什么? 数据仓库的分层可以算是数据仓库架构的子话题.在前段时间参与的一次讨论中, ...

  3. 数据仓库—stg层_数据仓库之Hive快速入门 - 离线实时数仓架构

    数据仓库VS数据库 数据仓库的定义: 数据仓库是将多个数据源的数据经过ETL(Extract(抽取).Transform(转换).Load(加载))理之后,按照一定的主题集成起来提供决策支持和联机分析 ...

  4. 数据仓库—stg层_数据仓库(一):认识数据仓库

    刚接触数据仓库是在我的第一份实习工作--数据中心数据管理系统开发,它是一个B/S架构的应用,与一般的项目不同的是,系统是以数据仓库来进行数据存取的,这是我第一次听说数仓这个词,感觉它庞大而且神秘,不知 ...

  5. 数据仓库 桥接表_数据仓库经验总结

    1.使用代理键而不是自然键作为主键 因为业务系统产生的自然键容易变化重复,而专门生成的整数的代理键可以屏蔽业务系统的不规范 2.使用一致性维度,企业总线架构,而不是数据集市烟囱式架构 3.注重多个系统 ...

  6. 数据仓库物理分层_大数据之数据仓库分层

    大数据之数据仓库分层 什么是数据分层? 数据分层的好处 一种通用的数据分层设计 举例 各层会用到的计算引擎和存储系统 分层实现 数据分层的一些概念说明 7.大数据相关基础概念 1. 什么是数据分层? ...

  7. 数据仓库知识点总结(数仓分层建模、维度建模等)

    数据仓库知识点总结 推荐学习<华为数据之道><数据仓库工具箱-维度建模权威指南>两本书. 此文档是数据仓库建模的知识点总结文档,在持续更新中(2021-10-13). 文章目录 ...

  8. 数据仓库—stg层_马蜂窝数据仓库的架构、模型与应用实践

    (马蜂窝技术原创内容,公众号ID:mfwtech) 一.马蜂窝数据仓库与数据中台 最近几年,数据中台概念的热度一直不减.2018 年起,马蜂窝也开始了自己的数据中台探索之路. 数据中台到底是什么?要不 ...

  9. 同时更改一条数据_数据仓库amp;面试总结

    一.数据仓库分为几层?负责什么职责?为什么要分层? 1.数据仓库分为4层: ODS层 (原始数据层) DWD层 (明细数据层) DWS层 (服务数据层) ADS层 (数据应用层) 2.主要负责职责,如 ...

最新文章

  1. 3dsMax插件V-Ray建筑可视化三维渲染细节技术学习教程
  2. HTTP协议详解 转自小坦克
  3. python 爬虫 scrapy 和 requsts 哪个快_Python爬虫:Scrapy研读之Request/Reponse
  4. 预测数值型数据:回归 源码分析(2)
  5. apache配置证书后 tomcat无法访问_给你的项目配置个https吧
  6. 进化之路:线程池来帮忙,却好心办坏事
  7. 大批量文件处理的7条建议
  8. python制作自动回复脚本_python itchat实现微信自动回复的示例代码
  9. Shell脚本案例:批量新增用户
  10. Chapter 12 外观模式
  11. php安装了openssl扩展,php如何安装openssl扩展?
  12. 从数学到SQL Server,对集合论的快速介绍
  13. Web入门-namp的下载与使用
  14. 个人学习笔记附Markdown格式下载
  15. Visio画UML类图
  16. C#(同步调用、异步调用、异步回调)
  17. 分享小黄人商务唯美通用PPT模板
  18. html中字体大写怎么写,CSS 字体属性
  19. photo-sphere-viewer 全景图Vr 720全景查看(原生js)
  20. sqlserver计算两个日期之间的工作日(剔除周末及法定节假日)

热门文章

  1. tree命令生成目录树
  2. Latex符号、公式
  3. oracle rman备份时间,Oracle RMAN备份还原方案
  4. Ansys Zemax / SPEOS | 3片式LCD投影仪的设计与仿真
  5. 人工智能原理复习 | 课程背景
  6. 变年轻特效是什么软件?快把这些软件收好
  7. 莫烦python教程部分代码
  8. 纯js导出Excel文件(无需引入插件)
  9. Apollo学习笔记(24)基于采样的路径规划算法
  10. 傅里叶变换的理解----计算幅值和相位