关于数据仓库的自我认知

离线数据仓库 (T+1处理昨天的数据 )

  数据的生命周期:数据采集-数据处理-数据挖掘-数据分析-数据可视化

数据仓库系统的结构

从字义上看, “仓库”可以想像成一所大房子,高高的货架,合理的出入路线,是一种集中存储货物的地方,一般顾客是不来参观访问的; 而说到“集市”,就容易联想到空旷的场地,川流不息,大小商户摆出摊子,卖衣物的、卖烧饼及卖艺的,是让顾客来消费的地方。 具体来说,数据仓库仅仅是提供存储的,提供一种面向数据管理的服务,不面向最终分析用户;而数据集市是面向分析应用的,面向最终用户。

元数据
关于数据仓库的数据,指在数据仓库建设过程中所产生的有关数据源定义,目标定义,转换规则等相关的关键数据。同时元数据还包含关于数据含义的商业信息,所有这些信息都应当妥善保存,并很好地管理。为数据仓库的发展和使用提供方便。

操作数据存储ODS(Operational Data Store)
一般的数据仓库应用系统都具有非常复杂的数据来源,这些数据存放在不同的地理位置、不同的数据库、不同的应用之中,从这些业务系统对数据进行抽取并不是一件容易的事。
因此,ODS用于存放从业务系统直接抽取出来的数据,这些数据从数据结构、数据之间的逻辑关系上都与业务系统基本保持一致,因此在抽取过程中极大降低了数据转化的复杂性,而主要关注数据抽取的接口、数据量大小、抽取方式等方面的问题。数据仓库是一个面向主题、集成、相对稳定、反映历史变化的数据集合,用于支持用户的辅助决策分析。而ODS 则是一个面向主题的、集成的、可变的、反映当前细节的数据集合。它主要用于支持企业处理业务应用和存储面向主题的、即时性的集成数据,为企业决策者提供当前细节性的数据,通常作为数据仓库的过渡阶段

当今的数据处理大致可以分成两大类

On-Line Transaction Processing联机事务处理过程(OLTP)
OLTP是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,例如银行交易
表示事务性非常高的系统,一般都是高可用的在线系统,以小的事务以及小的查询为主,评估其系统的时候,一般看其每秒执行的Transaction以及Execute SQL的数量。
在这样的系统中,单个数据库每秒处理的Transaction往往超过几百个,或者是几千个,Select 语句的执行量每秒几千甚至几万个。
典型的OLTP系统有电子商务系统、银行、证券等,如美国eBay的业务数据库,就是很典型的OLTP数据库。

On-Line Analytical 联机分析处理(OLAP)
OLAP是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果
维(Dimension):是人们观察数据的特定角度,是考虑问题时的一类属性,属性集合构成一个维(时间维、地理维等)。
维的层次(Level):人们观察数据的某个特定角度(即某个维)还可以存在细节程度不同的各个描述方面(时间维:日期、月份、季度、年)。
维的成员(Member):维的一个取值,是数据项在某维中位置的描述。(“某年某月某日”是在时间维上位置的描述)。
度量(Measure):多维数组的取值。(2000年1月,上海,笔记本电脑,0000)。
OLAP的基本多维分析操作有钻取(Drill-up和Drill-down)、切片(Slice)和切块(Dice)、以及旋转(Pivot)等。
钻取:是改变维的层次,变换分析的粒度。它包括向下钻取(Drill-down)和向上钻取(Drill-up)/上卷(Roll-up)。Drill-up是在某一维上将低层次的细节数据概括到高层次的汇总数据,或者减少维数;而Drill-down则相反,它从汇总数据深入到细节数据进行观察或增加新维。
切片和切块:是在一部分维上选定值后,关心度量数据在剩余维上的分布。如果剩余的维只有两个,则是切片;如果有三个或以上,则是切块。
旋转:是变换维的方向,即在表格中重新安排维的放置(例如行列互换)。

数据仓库的关键技术-ETL

ETL分别代表Extract(抽取)、Transform(转换)、Load(加载)。

ETL作为构建数据仓库的一个重要环节,负责将分布的、异构数据源中的数据如关系型数据库、数据文件、非关系型数据库等抽取到临时中间层,然后经过清洗、转换,最后加载到数据仓库或数据集市中,成为联机分析处理、数据挖掘的数据基础。
两种方法:ETL工具、存储过程

数据抽取
各源系统按照规范生成统一标准的接口文件并提交到接口数据下载区,ODS对接口数据文件到达情况进行监控并采集,两种方式全量抽取、增量抽取。

增量:只抽取不一致的东西。
全量:全部的数据。


数仓所用表的类型


维度表1:星型模式一种使用关系数据库实现多维分析空间的模式

             维度表 
               |
 维度表 ---- 实体表 ---- 维度表 
               |
             维度表                     

维度表2:雪花模式不管什么原因,当星型模式的维度需要进行规范化时,星型模式就演进为雪花模式。

                      维度表  ----  实体表
                        |                     
 维度表 ----实体表 ----维度表 ----  实体表
                        |
                      维度表 
                        |
                      实体表

维度表和实体表举例:

月份     数量    区域
202002    5     杭州市
ods.t_person_table
mk.t_person_table

明细表-实体表 -个人信息基础表
20200222   张三   1  001  product 01    
20200223   张三   0  001  product 01
  
维度表
Area_city 
001 杭州市
002 北京市

维度表2
prodauct_code 
product 01 全球通
product 02 动感地带***

数仓的重要概念解释

数据转换

从数据源中抽取的数据不一定完全满足业务需求,例如数据格式的不一致、数据输入错误、数据不完整等,因此必须要对数据进行清洗和转换。
数据清洗:实际工作当中是把这些“脏”数据分类放到不同文件中,反馈给业务系统重新修正,然后再抽取。
数据转换:将各数据源不一致的数据、粒度和商务规则转换成统一格式。

数仓分层
ODS层,隔离数据仓库与业务系统 保留历史快照,防止因为源系统的更新导致无法追溯历史数据。
注意,数据抽过来,保留历史分区(快照), 抽取过来的表结构和业务要一摸一样。 类型要一摸一样,有异常数据也不修改。

数据明细层-DWD:单表的整合,把数据清洗成规范化的数据比如,多元整合,单表拆分,空间换时间,从ods层抽取的数据数据质量肯定有问题,比如统一性别,数据标准
编码转换,两个系统的数据类型性别可能分别是fm,12这就需要确认一个规范。
数据清洗,空数据,明显的错误,格式清洗,20200101.2020-01-01,200岁年龄。明显错误。

基础整合层-DWB:订单的基本信息,支付信息,整合成多张表。用户表记录基本信息,年龄手机,从订单表内相关的数据整合起来。
数据服务层-DWS:考虑更全面的业务需求,满足更多的人方便更多人使用,把所有的数据整合成一张宽表。用户的所有信息。
数据集市层-DM :根据职能部门决定的维度。做出表供调用。
公共数据层-DIM:该层提供企业一致性维度以及储存数仓临时数据、中间表。

**

数据仓库概念的拓展

**
数据质量,字面意义上的理解就是数据高可用性
数据资产, 数据的重要程度,
数据安全,不同的级别的权限
数据脱敏,一些敏感的字段需要加密 如身份证 371**********0000 *号的出现就是为了数据脱敏

---长度粗略表示表的适用范围
------明细表   
-------------------宽表 --轻度汇总
----  ----  -------数据集市 --分主题 

数据加工流程 etl 明细表 + 中间表1 中间表2 + 结果表

                            宽表       数据集市

版权声明:本文为qq_38326500原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。