比较商务网站的营销策略,国外化工网站模板,借助网络,美食网页设计与制作数据分层 一、数据运营层#xff1a;ODS#xff08;Operational Data Store#xff09; “面向主题的”数据运营层#xff0c;也叫ODS层#xff0c;是最接近数据源中数据的一层#xff0c;数据源中的数据#xff0c;经过抽取、洗净、传输#xff0c;也就说传说中的 ETL…数据分层 一、数据运营层ODSOperational Data Store “面向主题的”数据运营层也叫ODS层是最接近数据源中数据的一层数据源中的数据经过抽取、洗净、传输也就说传说中的 ETL 之后装入本层。本层的数据总体上大多是按照源头业务系统的分类方式而分类的。
一般来讲为了考虑后续可能需要追溯数据问题因此对于这一层就不建议做过多的数据清洗工作原封不动地接入原始数据即可至于数据的去噪、去重、异常值处理等过程可以放在后面的DWD层来做。
二、数据仓库层DWData Warehouse 数据仓库层是我们在做数据仓库时要核心设计的一层在这里从 ODS 层中获得的数据按照主题建立各种数据模型。DW层又细分为 DWDData Warehouse Detail层、DWMData WareHouse Middle层和DWSData WareHouse Servce层。
数据明细层DWDData Warehouse Detail
该层一般保持和ODS层一样的数据粒度并且提供一定的数据质量保证。同时为了提高数据明细层的易用性该层会采用一些维度退化手法将维度退化至事实表中减少事实表和维表的关联。
另外在该层也会做一部分的数据聚合将相同主题的数据汇集到一张表中提高数据的可用性后文会举例说明。
数据中间层DWMData WareHouse Middle
该层会在DWD层的数据基础上对数据做轻度的聚合操作生成一系列的中间表提升公共指标的复用性减少重复加工。
直观来讲就是对通用的核心维度进行聚合操作算出相应的统计指标。
数据服务层DWSData WareHouse Servce
又称数据集市或宽表。按照业务划分如流量、订单、用户等生成字段比较多的宽表用于提供后续的业务查询OLAP分析数据分发等。
一般来讲该层的数据表会相对比较少一张表会涵盖比较多的业务内容由于其字段较多因此一般也会称该层的表为宽表。
在实际计算中如果直接从DWD或者ODS计算出宽表的统计指标会存在计算量太大并且维度太少的问题因此一般的做法是在DWM层先计算出多个小的中间表然后再拼接成一张DWS的宽表。由于宽和窄的界限不易界定也可以去掉DWM这一层只留DWS层将所有的数据在放在DWS亦可。
三、数据应用层APPApplication 在这里主要是提供给数据产品和数据分析使用的数据一般会存放在 ES、PostgreSql、Redis等系统中供线上系统使用也可能会存在 Hive 或者 Druid 中供数据分析和数据挖掘使用。比如我们经常说的报表数据一般就放在这里。
四、维表层Dimension 最后补充一个维表层维表层主要包含两部分数据
高基数维度数据一般是用户资料表、商品资料表类似的资料表。数据量可能是千万级或者上亿级别。
低基数维度数据一般是配置表比如枚举值对应的中文含义或者日期维表。数据量可能是个位数或者几千几万。
不同的层次中会用到什么计算引擎和存储系统
RDBMS(Relational Database Management System) 吐数 从能力范围来讲我们希望80%需求由20%的表来支持。直接点讲就是大部分80%以上的需求都用DWS的表来支持就行DWS支持不了的就用DWM和DWD的表来支持这些都支持不了的极少一部分数据需要从原始日志中捞取。结合第一点来讲的话就是80%的需求我们都希望以对应用很友好的方式来支持而不是直接暴露给应用方原始日志。