大数据-221 离线数仓 - 数仓 数据集市 建模方法 数仓分层 ODS DW ADS ...

打印 上一主题 下一主题

主题 833|帖子 833|积分 2499

点一下关注吧!!!非常感谢!!持续更新!!!

现在已经更新到了:



  • Hadoop(已更完)
  • HDFS(已更完)
  • MapReduce(已更完)
  • Hive(已更完)
  • Flume(已更完)
  • Sqoop(已更完)
  • Zookeeper(已更完)
  • HBase(已更完)
  • Redis (已更完)
  • Kafka(已更完)
  • Spark(已更完)
  • Flink(已更完)
  • ClickHouse(已更完)
  • Kudu(已更完)
  • Druid(已更完)
  • Kylin(已更完)
  • Elasticsearch(已更完)
  • DataX(已更完)
  • Tez(已更完)
  • 数据挖掘(已更完)
  • Prometheus(已更完)
  • Grafana(已更完)
  • 离线数仓(正在更新…)
章节内容

上节我们完成了如下的内容:


  • 基本概念 数仓特性
  • 数据库举行对比

数据集市

数据堆栈(DW)是一种反映主题的全局性数据组织,但全局性数据堆栈每每太大,在实际应用中他们按部分或业务分别建立反映各个子主题的局部性数据组织,即数据集市(Data Mart),有时也称它为数据堆栈。
数据集市:是按照主题域组织的数据集合,用于支持部分级的数据分析与决策。如在商品销售的数据堆栈中可以建立多个不同主题的数据集市:


  • 商品采购数据集市
  • 商品库存数据集市
  • 商品销售数据集市
数据集市仅仅是数据堆栈的某一部分,实行难度大大降低,并且能够满足企业内部部分业务部分的迫切需求,在初期得到了较大的乐成。但随着数据集市的不停增多,这种架构的缺陷也逐步显现。企业内部独立建设的数据集市由于遵循不同的尺度和建设原则,以至于多个数据集市的数据杂乱和不同等,形成众多的数据孤岛。
业务发展到一定阶段,出现多个事业部分。每个事业部分都有各自的数据,事业部之间的数据每每都是各自存储的,各自定义的。每个事业部的数据就像一个个孤岛一样无法(或者极其困难)和企业内部的其他数据举行毗连互动,如许的情况被称为数据孤岛,简单来说就是数据间缺乏关联性,相互无法兼容。
建模方法

数据模型就是数据组织和存储方法,它强调业务、数据存取和使用角度合理存储数据。有了适合的基础数据存储情况的模型,能得到以下长处:


  • 性能:良好的数据模型能够帮助我们快速查询所必要的数据,镌汰数据的I/O吞吐
  • 成本:良好的数据模型能极大的镌汰不必要的数据冗余,也能实现盘算效果复用,极大的降低数据系统中的存储和盘算成本。
  • 效率:良好的数据模型能极大的改善使用使用数据的体验,提高使用数据的效率
  • 质量:良好的数据模型能够改善数据统计口径不同等性,镌汰数据盘算错误的可能性。
大数据系统必要数据模型的方法来帮助更好的组织和存储数据,以便在性能、成本、效率和质量之间取得最佳的平衡。
ER模型

数据堆栈之父Bill Inmon提出的建模方法是从全企业的高度计划一个3NF模型,用实体关系(Entity RelationShip,ER)模型形貌企业业务,在范式理论上符合3NF。数据堆栈中的3NF与OLTP系统中的3NF的区别在于,它是站在企业角度面向主题的抽象,而不是针对某个详细业务流程的实体对象的抽象。其详细有以下几个特点:


  • 必要全面的了解整个企业业务和数据
  • 实行周期非常的长
  • 对建模人员的能力要求非常高
采取ER模型建设数据堆栈模型的出发点是整合数据,将各个系统中的数据以整个企业角度按主题举行相似性组合和合并,并举行同等性处理,为数据分析决策服务,但是并不能直接用于分析决策,其建模步骤分为三个阶段:


  • 高层模型:一个高度抽象的模型,形貌主要的主题以及主题间的关系,用于形貌企业的业务总体概况
  • 中层模型:在高层模型的基础上,细化主题的数据项
  • 物理模型(也叫底层模型):在中层模型的基础上,考虑物理存储,同时基于性能宁静台特点举行物理属性的计划,也可能做一些表的合并、分区的计划等等
维度模型

维度模型是数据堆栈范畴的Palph Kimball 大家所倡导的,他的《数据堆栈工具箱》是数据堆栈工程范畴最流行的数据堆栈建模经典。
维度模型从分析决策的需求出发构建模型,为分析需求服务,重点关注用户如何更快的完成需求分析,同时具有较好的大规模复杂查询的相应性能。其典型的代表是星型模型,以及在一些特殊场景下的雪花模型。
其计划主要分为以下步骤:


  • 选择必要举行分析决策的业务过程,业务过程可以是:单个业务变乱,好比交易的付出、退款的。某个变乱的状态,好比当前的账户余额等。一系列干系业务变乱构成的业务流程。
  • 选择数据的粒度,在变乱分析中,我们要预判全部分析必要细分的水平,从而决定选择的粒度。
  • 辨认维表,选择好粒度之后,就必要基于此粒度计划维度表,包括维度属性,用于分析时举行分组和筛选。
  • 选择事实,确定分析必要衡量的指标
当代企业业务变革快、人员流动频仍、业务知识功底不敷全面,导致ER模型计划产出周期长。大多企业实行数据堆栈的履历阐明:在不太成熟、快速变革的业务面前,构建ER模型的风险非常大,不太适合去构建ER模型。而维度建模对技术要求不高,快速上手,灵敏迭代,快速交付,更快速完身分析需求,有较好的大规模复杂查询的相应性能。
数仓分层

数据堆栈更多代表的是一种对数据的管理和使用的方式,它是一整套包括了数据建模、ETL(数据抽取、转换、加载)、作业调理等在内的完备的理论体系流程。数据堆栈在构建过程中通常必要举行分层处理。业务不同,分层的技术处理手段也不同。
分层的主要原因是在管理数据的时候,能对数据有一个更加清晰的掌控。详细来讲,主要有下面几个原因:


  • 清晰的数据结构:每一个数据分层都有它的作用域,在使用表的时候能更方便的定位和理解。
  • 将复杂的问题简单化:将一个复杂的任务分解成多个步骤来完成,每一层只处理单一的问题,比较简单和容易理解,而且便于维护数据的准确性,当数据出现问题之后,可以不用修复全部的数据,只必要从有问题的地方开始修复。
  • 镌汰重复开发:规范数据分层,开发一些通用的中间层数据,能够极大镌汰重复盘算
  • 屏蔽原始数据的非常:屏蔽业务的影响,不必改一次业务就重新接入数据
  • 数据血缘的追踪:最终给业务出现的是一个能直接使用业务表,但是它的来源许多,假如有一张来源表出问题了,借助血缘最终能够快速准确的定位到问题,并清楚它的危害范围。
数仓的常见分层一样平常为3层,分别为:


  • 数据操作层
  • 数据堆栈层
  • 应用数据层(数据集市层)。
固然根据研究人员履历或者业务,可以分为更多不同的层,只要能达到流程清晰,方便查数即可。

ODS

ODS(Operation Data Store 数据预备区),数据堆栈源头系统的数据表通常会原封不同的存储一份,这称为ODS层,也称为预备区。它们是后续数据堆栈加工数据的来源。ODS层数据的主要来源包括:


  • 业务数据库,可用DataX、Sqoop等工具来抽取,天天定时抽取一次,在实时的应用中,可用Canal监听MySQL Binlog,实时接入变动的数据。
  • 埋点日志,线上系统会打入各种日志,这些日志一样平常以文件的情势生存,可以用Flume定时抽取
  • 其他数据源,从第三方购买的数据,或是网络爬虫的数据
DW

DW(Data WareHouse 数据堆栈层),包含DWD、DWS、DIM层,由ODS层数据加工而成,主要完成数据加工与整合,建立同等性的维度,构建可复用的面向分析和统计的明细事实表,以及汇总公共粒度的指标。


  • DWD(Data WareHouse Detail 细节数据层),是业务与数据堆栈的隔离层,以业务过程为建模驱动,基于每个详细的业务过程特点,构建细粒度的明细层事实表。可以结合企业的数据使用特点,将明细事实表的某些紧张维度属性字段做适本地冗余,也即宽表化处理。
  • DWS(Data WareHouse Service 服务数据层),基于DWD的基础数据,整合汇总身分析某个主题域的服务数据。以分析的主题为建模驱动,基于上层的应用和产物的指标需求,构建公共粒度的汇总指标事实表。
  • 公共维度层(DIM):基于维度建模理念思想,建立同等性维度
  • TMP层:暂时层,存放盘算过程中暂时产生的数据
ADS

ADS(Application Data Store)应用数据层,基于DW数据,整合汇总成主题域的服务数据,用于提供后续的业务查询等。
简单总结

数据堆栈条理的划分不是固定不变的,可以根据实际需求举行得当裁剪或者是添加,假如业务相对简单和独立,可以将DWD、DWS举行合并。


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

曹旭辉

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表