数据仓库概念

数据仓库基本架构

数据集市概念

数据湖概念

数据仓库概念

数据仓库(Data Warehouse,DW)是一个面向主题的、集成的、非易失的、反映历史变化的、用来支持企业管理决策的数据集合。

数据仓库特点:

  • 面向主题的(Subject Oriented)

    • 主题是一个抽象的概念,是指用户使用数据仓库进行决策时所关心的重点方面,一个主题通常与多个操作型信息系统相关。
    • 数据仓库中的数据是按照一定的主题域进行组织。
    • 不同类型的企业,主题集合往往不同。
  • 集成(Integrated)
    • 数据仓库中的数据是来源于多个数据源的集成
    • 要整合成为最终的数据集合,需要从数据源经过一系列抽取、清洗、转换的过程。
    • 构建形式一致、语义一致的数据集合。
  • 非易失(Non-Volatile)
    • 数据一旦进入数据仓库,一般情况下会被长期保存。
    • 数据仓库中保存的数据是一系列历史快照,一般不做更新、删除。
    • 用户只能通过分析工具进行查询和分析。
  • 反映历史变化(Time Variant)
    • 数据仓库的数据是随时间而变化的,会定期接收新的集成数据,从而反映出最新的数据变化。
    • 但稳定的数据是以只读格式保存,且不随时间改变。

数据仓库 VS 数据库

  • 数据库是面向事务的设计,设计目的是为了捕获数据,一般存储在线交易数据,并且在设计时尽量避免冗余,常采用符合范式的规则来设计。
  • 数据仓库是面向主题设计的,设计目的是为了分析数据,一般存储的是历史数据,但在设计时有意引入冗余,采用反范式的方式来设计。
  数据库 数据仓库
面向 事务 分析
数据类型 细节、业务 综合、清洗过的数据
数据特点 当前的、最新的 历史的、跨时间维护
目的 日常操作 长期信息需求、决策支持
设计模型 基于ER模型、面向应用 星型/雪花模型,面向主题
操作 读/写 大多为读
数据规模 GB到TB >=TB

数据仓库基本架构

缓冲层
(数据接入层)
贴源层
(ODS层)
基础明细层
(DWD层)
轻度汇总层/数据中间层
(DWM层)
数据服务层
(DWS层)
数据集市
(DM)
  • 缓冲层(数据接入层)

    • 概念

      • 业务系统与贴源层之间的临时缓冲区,用于临时接入业务系统的原始细节数据。
      • 是否设立缓冲层,视情况而定。
      • 细粒度:与业务系统保持一致的原始细节数据,不做任何处理。
    • 作用
      • 当贴源层需做简单清晰,且数据导入速度较快时,缓冲层用于临时性快速接收业务数据。
  • 贴源层(ODS层)
    • 概念

      • ODS:Operational Data Store,操作数据存储,一个面向主题的、集成的、可变的、当前的细节数据集合,用于支持即时性、操作型、集成性的信息需求
      • 业务系统和基础明细层之间的过渡区,用于鵆业务系统的当前原始细节数据
    • 作用
      • 在业务系统和数据仓库之间形成一个隔离层
      • 转移一部分业务系统细节查询的功能
      • 完成数据仓库中不能完成的一些功能
  • 基础明细层(DWD层)
    • 概念

      • DWD:Data Warehouse Detail
      • 数据仓库中的中间层,从ODS层获取数据,按主题进行组织,经过清洗、校验、转换、合并等规范化处理,形成业务数据的完整视图
      • 一般采用维度建模,以星型模型为主
    • 作用
      • 为数据分析(宏观趋势性、在线交互式分析)提供最完整的基础明细数据支撑。
  • 轻度汇总层/数据中间层(DWM层)
    • 概念

      • DWM:Data Warehouse Middle
      • 面向业务分析需求,对基础明细层的细节数据进行轻度(细粒度)的聚合、汇总和统计。
      • 一般由明细层按照一定的业务需求生成轻度汇总表
    • 作用
      • 对细粒度的基础汇总指标进行预计算,减轻后期数据分析的压力。
  • 数据服务层(DWS层)
    • 概念

      • DWS:Data Warehouse Service
      • 针对企业级宏观主题,构建相关的多个主题域模型,多从基础明细/轻度汇总层中获取数据,按主题模型进行数据组织。
      • 通常为宽表
    • 作用
      • 为业务分析应用、数据集市构建提供直接的数据支撑
  • 数据集市(DM)
    • 概念

      • DM:Data Mart
      • 数据集市是面向单一业务主题域(如销售、财务等)、为特定业务部门构建的小规模数据集合。
      • 数据集市通常是数据仓库的子集。
    • 作用
      • 数据源可以是数据仓库(从属型数据集市),也可以是业务系统(独立型数据集市)
      • 用于在线交互式分析(秒级响应)

数仓分层的目的

  • 把复杂问题简单化。可以将一个复杂的任务分解成多个步骤来完成,每层只处理单一的步骤。
  • 减少重复开发。规范数据分层,通过使用中间层数据,可以大大减少重复计算量,增加计算结果的复用性。
  • 隔离原始数据。使真实数据与最终统计数据解耦。
  • 用空间换时间。通过大量的预处理来提升应用系统的用户体验、分析效率。

数据集市概念

数据集市(Data Mart)是一个针对某个主题、某个部门或者某些特殊用户而进行分类的数据集合,也称为“小数据仓库”或“部门级的数据仓库”

特点:

  • 满足特定部门或用户需求
  • 针对特定主题
  • 统一的高质量数据
  • 数据仓库的子集
  • 交互式分析、秒级返回

数据集市分类

独立型数据集市:自下而上开发
  • 从数据集市入手,就某一个特定的主题,先做独立数据集市,当数据集市达到一定规模,再从各个数据集市进行数据的整合建立企业级的数据仓库
  • 数据集市包含了能够从数据源获取的全部的明细数据
  • 是为了支撑某个业务流程而建立的维表集合
  • 数据集市是基于数据来源而非部门的视图
  • 优点:搭建快、成本低、风险小
  • 缺点:可能会导致信息孤岛的存在,不能以全局的视角去分析数据、可能会存在大量冗余数据
从属型数据集市:自上而下开发
  • 从属型数据集市采用自上而下的开发方式。首先建立企业级的数据仓库,然后从企业级的数据仓库中为各个部门抽取必要的数据建立部门级的数据集市
  • 数据仓库中保存了企业的颗粒化数据,可作为事实的唯一版本
  • 优点
    • 体系结构上更稳定
    • 可以提高数据分析的质量,保证数据的一致性
  • 缺点
    • 实施周期长、难度大、风险高

数据集市 VS 数据仓库

对比项 数据仓库 数据集市
范围 企业级 部门级或业务线
主题 企业主题 部门或特殊的分析主题
数据源 遗留系统、事务系统、外部数据等多个数据源 数据仓库或事务系统的少量数据源
数据粒度 较细的粒度 较粗的粒度
数据结构 通常是规范化结构(3NF) 星型模型、雪花模型或两者混合
历史数据 大量的历史数据 适度的历史数据

数据湖概念

Pentaho的CTO James Dixon在2010年提出了“Data Lake”的概念。数据“仓库”概念和数据湖的概念的重大区别是:数据仓库中的数据在进入仓库之前需要实现归类,以便于未来的分析。随着大数据技术的融合发展,数据湖的边界不断扩展,内涵也发生了变化。数据湖开始汇集各方面技术,逐步演进称为集多源异构数据统一储存、多范式计算分析及统一管理调用的大数据综合解决方案。它可以更加高效率低成本管理海量多源异构数据,打通数据孤岛,释放数据价值,助力新时代下各行企业的数字化转型

— TO  CONTINUED —

DW001 - 数据仓库理论知识的更多相关文章

  1. 商业智能BI-基础理论知识总结 ZT

    因为要加入一个BI项目,所以最近在研究BI相关的知识体系,由于这个方面的知识都是比较零散,开始都很多概念,不知道从何入手,网上找的资料也不多,特别是实战案例方面更少,这里还是先把理论知识理解下吧,分享 ...

  2. js中函数的一些理论知识

      函数的一些理论知识 1. 函数:                执行一个明确的动作并提供一个返回值的独立代码块.同时函数也是javascript中的一级公民(就是函数和其它变量一样). 2.函数的 ...

  3. 用VC进行COM编程所必须掌握的理论知识

    一.为什么要用COM 软件工程发展到今天,从一开始的结构化编程,到面向对象编程,再到现在的COM编程,目标只有一个,就是希望软件能象积方块一样是累起来的,是组装起来的,而不是一点点编出来的.结构化编程 ...

  4. 图形学理论知识 BRDF 双向反射分布函数(Bidirectional Reflectance Distribution Function)

    图形学理论知识 BRDF 双向反射分布函数 Bidirectional Reflectance Distribution Function BRDF理论 BRDF表示的是双向反射分布函数(Bidire ...

  5. TestNG学习-001-基础理论知识

    此 文主要讲述用 TestNG 的基础理论知识,TestNG 的特定,编写测试过程三步骤,与 JUnit4+ 的差异,以此使亲对 TestNG 测试框架能够有一个简单的认知. 希望能对初学 TestN ...

  6. [转] DDD领域驱动设计(三) 之 理论知识收集汇总

    最近一直在学习领域驱动设计(DDD)的理论知识,从网上搜集了一些个人认为比较有价值的东西,贴出来和大家分享一下: 我一直觉得不要盲目相信权威,比如不能一谈起领域驱动设计,就一定认为国外的那个Eric ...

  7. Winsock网络编程笔记(4)----基本的理论知识

    前面的笔记记录了Winsock的入门编程,领略了Winsock编程的乐趣..但这并不能算是掌握了Winsock,加深理论知识的理解才会让后续学习更加得心应手..因此,这篇笔记将记录一些有关Winsoc ...

  8. Android初级教程对大量数据的做分页处理理论知识

    有时候要加载的数据上千条时,页面加载数据就会很慢(数据加载也属于耗时操作).因此就要考虑分页甚至分批显示.先介绍一些分页的理论知识.对于具体用在哪里,会在后续博客中更新. 分页信息 1,一共多少条数据 ...

  9. Android初级教程理论知识(第四章内容提供器)

    之前第三章理论知识写到过数据库.数据库是在程序内部自己访问自己.而内容提供器是访问别的程序数据的,即跨程序共享数据.对访问的数据也无非就是CRUD. 内容提供者 应用的数据库是不允许其他应用访问的 内 ...

  10. 关于mpi的理论知识以及编写程序来实现数据积分中的梯形积分法。

    几乎所有人的第一个程序是从“hello,world”程序开始学习的 #include "mpi.h" #include <stdio.h> int main(int a ...

随机推荐

  1. CVE-2023-48409 Mali GPU 整数溢出导致堆越界写

    CVE-2023-48409 Mali GPU 整数溢出导致堆越界写 https://github.com/0x36/Pixel_GPU_Exploit 漏洞原语:假设分配的大小为 0x3004​, ...

  2. Redis应用—2.在列表数据里的应用

    大纲 1.基于数据库 + 缓存双写的分享贴功能 2.查询分享贴列表缓存时的延迟构建 3.分页列表惰性缓存方案如何节约内存 4.用户分享贴列表数据按页缓存实现精准过期控制 5.用户分享贴列表的分页缓存的 ...

  3. 双语对照的 PDF 翻译工具「GitHub 热点速览」

    在 OpenAI 举办的「12天12场」发布会上,ChatGPT 的多项新功能正式亮相,包括 GPT-o1 正式版和 ChatGPT Pro(200 美元/月).强化微调(Reinforcement ...

  4. 【C#】【平时作业】习题-11-ADO.NET

    目录 选择题 简述并举例说明 什么是ADO.NET? 什么是连接字符串? connection对象的作用? commmand对象的作用? dataAdapter对象的作用? DataReader对象的 ...

  5. Linux&shell通过正则表达式查找文件练习

    linux&shell编程中通过正则表达式来匹配查找文件极大的提高查找效率. 首先,解释一下下边出现的命令. linux部分: ls:查看文件夹内的命令. |:管道. grep:搜索后边匹配的 ...

  6. Knife4j文档请求异常 app.23f8b31d.js:1 SyntaxError: Unexpected token I in JSON at position 6820

    发现代码里example包含了特殊字符[] 去掉[]即可 @ApiModelProperty(value = "状态", example = "INIT, RUNNING ...

  7. Qt编写安防视频监控系统47-基本设置

    一.前言 一个系统中肯定有不少的配置参数存储在配置文件中,配置文件可以是ini文件,也可以是json文件,还可以是自定义格式的文本文件,本人比较推荐ini文件,读写节点极其方便,支持中文内容,各种Qt ...

  8. Qt开源作品19-通用数据库翻页查询

    一.前言 在Qt与数据库结合编程的过程中,记录一多,基本上都需要用到翻页查看记录,翻页有个好处就是可以减轻显示数据的表格的压力,不需要一次性将数据库表的记录全部显示,也基本上没有谁在一页上需要一次性显 ...

  9. Spring Data JPA中使用Example进行动态查询

    Spring Data JPA中使用Example进行动态查询主要涉及:实体对象.ExampleMatcher和Example等三种类类型.基于实例的动态查询所包含的三要素如下:1.实体对象:在ORM ...

  10. 网络编程入门从未如此简单(二):假如你来设计TCP协议,会怎么做?

    本文原题"你管这破玩意儿叫TCP?",由闪客sun分享,转载请联系作者. 1.引言 网络编程能力对于即时通讯技术开发者来说是基本功,而计算机网络又是网络编程的理论根基,因而深刻准确 ...