数仓理论知识之数仓命名规范 |
您所在的位置:网站首页 › 数据命名规则 › 数仓理论知识之数仓命名规范 |
数据分层
数据运营层:ODS(Operational Data Store)
ODS层,最接近源数据层,为了考虑后续数据追溯,这一层不建议做过多的数据清洗工作,最好原封不动的接入原始数据。 数据仓库层:DW(Data Warehouse)数据仓库层是我们在做数据仓库时要核心设计的一层,在这里,要从ODS层提取数据建立各种数据模型,DW层又细分为DWD层,DWM层和DWS层。 DWD(Data Warehouse Detail) DWD层要做的是将数据清理、整合、规范化、脏数据、垃圾数据、规范不一致的、状态定义不一致的、命名不规范的数据整合成统一规格(粒度)。同时为了提高数据的易用性,要采用一些维度退化操作,将一些维度退化到事实内,减少事实表与维度表的关联。 另外,也要做一些数据聚合,将相同数据的表汇聚在一张表,提高数据可用性。 DWM(Data Warehouse Middle) DWM会在DWD层的基础上,对数据做轻度的聚合操作,生成一系列中间表,提升公共指标的复用性,减少重复加工。如果直接从DWD层直接把数据拉取到DWS层的话会因为计算力太大或维度太少造成资源消耗过大。 所以一般的解决方案是先从DWD层计算几个DWM表,然后直接拼接成DWS层,DWM层可以直接用完即删。 DWS(Data Warehouse Servce) DWS层为公共汇总层,会进行轻度汇总,粒度比明细数据稍粗,DWS层会整合汇总成分析某一个主题域的服务数据,一般是宽表。DWS层至少覆盖80%的应用场景,又称DM层。按照业务划分,如主题域–流量、订单、用户等,生成字段比较多的宽表,用于后续查询。 数据应用层:APP(Application)APP层主要用于提供数据产品和数据分析使用的数据,一般存放在ES、PostgreSQL、Redis等系统中供线上系统使用,也可以使用OLAP引擎供数据分析与数据挖掘使用,报表数据就来源于这里。 维度层DIM(Dimension)维度层包含两个部分: 高基数维度数据:一般是用户资料表、商品资料表类似的资料表,数据量可以上千万上亿。 低基数维度数据:一般是配置表,比如枚举值对应的中文含义,或者日期维度表,数据量大概在几千几万。
命名规范: 范围符号维度层dim数据集市层dm贴源数据层ods数据明细层dwd数据汇聚层dws日快照d增量i周w拉链表l非分区全量表a 常规表常规表是我们需要固化的表, 是正式使用的表,也就是需要投入精力去维护的表。 命名规范:分层前缀[dwd|dws|ods]_部门_业务域_主题域_XXX_更新周期|数据范围 业务域与主题域可以用词根的方式枚举清除,不断完善。 更新周期主要是时间粒度、日、月、年、周等。 中间表中间表一般存在于作业中,中间表的作用域只在当前Job执行过程中,Job一旦执行完毕,该表可以释放(一般情况下会保留几天来回溯)。 命名规范:mid_table_name_[0~9|dim] 以mid开头,接表名,最后以特定的词语或数字编号结尾,如果遇到需要补全维度的表,就以dim结尾。如果需要保留历史记录,name就要加上时间戳。 临时表临时表就是临时测试或查看数据用的表,可以随时删除。 命名规范:tmp_xxx 以tmp开头即可。 维度表维度表可以从ods层抽取出来,也可以手工维护。 命名规范:dim_xxx 以dim开头,表名与内容有关即可。 手工表(明细表)手工表是整个仓库的核心,一般都是一次初始化,然后就不会自由变动了,发生变动也是手动维护。 命名规范:dwd_业务域_manual_xxx dwd表示明细层,后接业务域,manual表示手工维护表,后接表名 数据处理方式 增量表增量数据是上次导出后的新数据。 记录每次增加的量,而不是总量只汇报变化量,无变化不汇报每天一个分区![]() 所有的数据。 全量表,有无变化都要报。每次上报的数据都是所有的数据只有一个分区![]() 按日分区,记录截止数据日期的全量数据。 快照表,有无变化,都要报每次上报的数据都是所有的数据一天一个分区![]() 记录截止日期的全量数据 记录一个事物从开始,一直到当前状态的所有变化的信息拉链表每次上报的都是历史记录的最终状态,是记录在当前时刻的历史总 量当前记录存的是当前时间之前的所有历史记录的最后变化量(总量)只有一个分区![]() |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |