发布时间:2023-03-15 08:00
分层的主要原因是在管理数据的时候,能对数据有一个更加清晰的掌控,详细来讲,主要有下面几个原因:
每一个数据分层都有它的作用域,这样我们在使用表的时候能更方便地定位和理解。
简单来说,我们最终给业务呈现的是一个能直接使用业务表,但是它的来源有很多,如果有一张来源表出问题了,我们希望能够快速准确地定位到问题,并清楚它的危害范围。
规范数据分层,开发一些通用的中间层数据,能够减少极大的重复计算。
将一个复杂的任务分解成多个步骤来完成,每一层只处理单一的步骤,比较简单和容易理解。而且便于维护数据的准确性,当数据出现问题之后,可以不用修复所有的数据,只需要从有问题的步骤开始修复。
屏蔽业务的影响,不必改一次业务就需要重新接入数据
数据分层每个企业根据自己的业务需求可以分成不同的层次,但是最基础的分层思想,理论上数据分为三个层,数据运营层 数据仓库层和数据服务层。基于这个基础分层之上添加新的层次,来满足不同的业务需求。
Operate data store,操作数据存储,是最接近数据源中数据的一层,数据源中的数据,经过抽取 洗净 传输,也就说传说中的ETL之后,装入本层。本层的数据,总体上大多是按照源头业务系统的分类方式而分类的。
例如:MySQL里面的一张表可以通过sqoop之间抽取到ODS层
Data warehouse,数据仓库层。在这里,从ODS层中获得的数据按照主题建立各种数据模型。例如以研究人的旅游消费为主题的数据集中,便可以结合航空公司的登机出行信息,以及银联系统的刷卡记录,进行结合分析,产生数据集。在这里,我们需要了解四个概念:维(dimension) 事实(Fact) 指标(Index)和粒度( Granularity)。
该层主要是提供数据产品和数据分析使用的数据,一般会存放在ES MySQL等系统中供线上系统使用,也可能会存在Hive或者Druid中供数据分析和数据挖掘使用。
例如:我们经常说的报表数据,或者说那种大宽表,一般就放在这里。
功能
建模方式及原则:
功能:
建模方式及原则:
功能:
建模方式及原则:
功能:
建模方式及原则:
功能:
一般情况下表分为两个类型,分别维度表和事务表
维度表,一般是指对应一些业务状态,代码的解释表。也可以称之为码表。比如地区表,订单类型,支付方式,商品分类等等。
维度表可以分为两类:一般维度表和固定维度表
一般维度表的数据是不断增加和变化的
固定维度表的数据是不变的
事实表分为两类:事务型事实表和周期型事实表
事务型事实表,一般指随着业务发生不断产生的数据。特点是一旦发生不会再变化。 一般比如,交易流水,操作日志,出库入库记录等等。
周期型事实表,一般指随着业务发生不断产生的数据。与事务型不同的是,数据会随着业务周期性的推进而变化。
比如订单,其中订单状态会周期性变化。 再比如,请假 贷款申请,随着批复状态在周期性变化。
数仓中表的同步策略
可能会有变化的数据可以存储每日全量或者使用拉链表。(比如订单类型,审批状态,商品分类)
WPF 入门教程ContentTemplate和DataTemplate
PDF编辑工具 Acrobat Pro DC 2021中文版 (Win/mac)
修改mysql触发redis_redis作为mysql的缓存服务器(读写分离,通过mysql触发器实现数据同步)...
Python基础知识——程序流程的三大结构(顺序、选择、循环)
CTC Algorithm Explained Part 1:Training the Network(CTC算法详解之训练篇)
【论文阅读】Two-Stream Convolutional Networks for Action Recognition in Videos