网站建设所采用的技术,网站开发设计工程师职责简介,百度收录左侧带图片的网站,绿色在线网站模板层级 全拼 职责划分 ODS(源数据层) Operational DataStore ODS层存储最原始的数据#xff0c; 对数据不做任何加工处理#xff1b; 源数据主要来自业务数据库和日志#xff0c;这些数据是用户操作业务系统产生#xff0c;所以叫操作型数据(Operational Data) 。 DWD(… 层级 全拼 职责划分 ODS(源数据层) Operational DataStore ODS层存储最原始的数据 对数据不做任何加工处理 源数据主要来自业务数据库和日志这些数据是用户操作业务系统产生所以叫操作型数据(Operational Data) 。 DWD(明细层) Data Warehouse Detail DWD层的数据表是对ODS层数据表的关联、字段重命名、清洗、类型转换 一般不做汇总操作和指标计算。 DWM(汇总层) Data Warehouse Model DWM数据层的表是对ODS层或DWV的数据表进行汇总和指标计算 一般按业务主题组织轻度汇总数据产出通用、稳定的预处理数据尽可能多的满足数据需求避免后期重复计算。 DM(集市层) Data Mart DM层数据表按业务主题组织高度汇总数据产出统计报表 该层面向最终的业务数据需求复杂业务场景下可使用维度建模对该层做细化设计。 DIM(维度层) Dimension DIM层数据表主要存放维度数据 维度数据是一些基础配置数据比如城市表、类目表 维度是对具体分析对象的分析角度维度要具备丰富的属性历史信息的可追溯性对通用的维度要保持一致性避免产生二义性。
数仓中的数据分层
数据加载层ETL extract transform load 贯穿整个数仓
数据运营层 ODS operational data store
数据仓库层 DW data warehouse
数据明细层 DWD data warehouse detail
数据中间层 DWM data warehouse middle
数据服务层 DWS data warehouse server
数据应用层 APP Application
维表层 DIM dimension 一、数据运营层ODSOperational Data Store
“面向主题的”数据运营层也叫ODS层是最接近数据源中数据的一层数据源中的数据经过抽取、洗净、传输也就ETL 之后装入本层。本层的数据总体上大多是按照源头业务系统的分类方式而分类的。
一般来讲为了考虑后续可能需要追溯数据问题因此对于这一层就不建议做过多的数据清洗工作原封不动地接入原始数据即可至于数据的去噪、去重、异常值处理等过程可以放在后面的DWD层来做。
二、数据仓库层DWData Warehouse
数据仓库层是我们在做数据仓库时要核心设计的一层在这里从 ODS 层中获得的数据按照主题建立各种数据模型。DW层又细分为 DWDData Warehouse Detail层、DWMData WareHouse Middle层和DWSData WareHouse Servce层。
1. 数据明细层DWDData Warehouse Detail
该层一般保持和ODS层一样的数据粒度并且提供一定的数据质量保证。同时为了提高数据明细层的易用性该层会采用一些维度退化手法将维度退化至事实表中减少事实表和维表的关联。
另外在该层也会做一部分的数据聚合将相同主题的数据汇集到一张表中提高数据的可用性。
2. 数据中间层DWMData WareHouse Middle
该层会在DWD层的数据基础上对数据做轻度的聚合操作生成一系列的中间表提升公共指标的复用性减少重复加工。
直观来讲就是对通用的核心维度进行聚合操作算出相应的统计指标。
3. 数据服务层DWSData WareHouse Servce
又称数据集市或宽表。按照业务划分如流量、订单、用户等生成字段比较多的宽表用于提供后续的业务查询OLAP分析数据分发等。
一般来讲该层的数据表会相对比较少一张表会涵盖比较多的业务内容由于其字段较多因此一般也会称该层的表为宽表。
在实际计算中如果直接从DWD或者ODS计算出宽表的统计指标会存在计算量太大并且维度太少的问题因此一般的做法是在DWM层先计算出多个小的中间表然后再拼接成一张DWS的宽表。由于宽和窄的界限不易界定也可以去掉DWM这一层只留DWS层将所有的数据在放在DWS亦可。
三、数据应用层APPApplication
在这里主要是提供给数据产品和数据分析使用的数据一般会存放在 ES、PostgreSql、Redis等系统中供线上系统使用也可能会存在 Hive 或者 Druid 中供数据分析和数据挖掘使用。比如我们经常说的报表数据一般就放在这里。
四、维表层Dimension
最后补充一个维表层维表层主要包含两部分数据
高基数维度数据一般是用户资料表、商品资料表类似的资料表。数据量可能是千万级或者上亿级别。
低基数维度数据一般是配置表比如枚举值对应的中文含义或者日期维表。数据量可能是个位数或者几千几万。