数仓分层级各层设计要点

合集下载

数据仓库的基本架构

数据仓库的基本架构

数据仓库的基本架构一、引言数据仓库是指用于支持决策制定和业务分析的数据存储和管理系统。

它的设计和构建需要考虑到数据的整合、存储、查询和分析等方面。

本文将介绍数据仓库的基本架构,包括数据仓库的概念、架构层次、数据模型和数据处理流程等内容。

二、数据仓库的概念数据仓库是一个面向主题的、集成的、稳定的、随时间变化的数据集合,用于支持管理决策。

它将来自多个异构数据源的数据进行整合,提供给决策者和分析师进行查询、分析和报告。

三、数据仓库的架构层次1. 数据源层:数据源层是数据仓库的基础,包括各种数据源,如关系型数据库、文件、Web服务等。

数据源层的数据需要进行抽取、清洗和转换,以满足数据仓库的需求。

2. 数据抽取层:数据抽取层负责从数据源层获取数据,并进行抽取、清洗和转换。

常见的数据抽取工具有Informatica、DataStage等,它们可以实现数据的增量抽取、数据清洗和数据转换等功能。

3. 数据存储层:数据存储层是数据仓库的核心组成部分,用于存储从数据源层抽取的数据。

常见的数据存储技术包括关系型数据库、列式数据库、NoSQL数据库等。

4. 数据集成层:数据集成层负责将来自不同数据源的数据进行整合,以便用户可以进行查询和分析。

数据集成层通常采用ETL(抽取、转换、加载)工具,将数据从数据存储层导入到数据集成层。

5. 元数据管理层:元数据是描述数据的数据,它描述了数据的结构、含义、关系等信息。

元数据管理层负责管理和维护元数据,以便用户可以了解数据的来源和含义。

6. 查询和分析层:查询和分析层是数据仓库的最上层,提供给用户进行查询和分析的界面。

常见的查询和分析工具有OLAP(联机分析处理)工具、数据挖掘工具等。

四、数据仓库的数据模型数据仓库的数据模型通常采用星型模型或雪花模型。

星型模型由一个事实表和多个维度表组成,事实表包含了与业务相关的度量指标,维度表包含了与事实表相关的维度信息。

雪花模型在星型模型的基础上,将维度表进一步规范化,以减少数据冗余和提高数据一致性。

数据仓库分层建设的基本思路

数据仓库分层建设的基本思路

数据仓库分层建设的基本思路
数据仓库分层建设的基本思路如下:
1. 数据源层:这是数据仓库的基础,包含了各种原始数据,来自不同的业务系统、数据库、文件等。

2. 数据存储层:数据经过抽取、转换和加载(ETL)过程后,被存储在这一层。

它可以是关系型数据库、列式存储、NoSQL 数据库或数据湖泊等。

3. 数据处理层:在这一层,对数据进行清洗、转换、脱敏、标准化等处理,以提高数据质量和可用性。

4. 数据集市层:根据不同的业务主题或部门需求,将处理后的数据组织成数据集市。

数据集市通常是针对特定主题或业务领域的数据集合。

5. 数据应用层:这是数据仓库的顶层,为用户提供各种数据分析和应用工具,如报表、仪表盘、数据挖掘、机器学习等。

6. 元数据管理层:元数据用于描述数据仓库中的数据、处理过程和数据模型等信息。

元数据管理层负责管理和维护元数据,确保数据的一致性和可追溯性。

7. 数据质量管理层:数据质量是数据仓库的关键要素之一。

这一层负责监控和管理数据质量,包括数据清洗、数据验证、数据监控等。

通过分层建设,数据仓库可以更好地组织和管理数据,提高数据的质量和可用性,满足不同用户的需求。

同时,分层结构也有利于数据仓库的扩展、维护和性能优化。

在实际建设过程中,可以根据具体业务需求和数据特点,对分层结构进行适当调整和优化。

数仓分层设计方案

数仓分层设计方案

数仓分层设计方案一、ODS层(原始数据层,Original Data Store)这层就像是数据的大仓库,不管是从哪儿来的数据,什么格式的,是数据库里导出来的,还是从文件里读出来的,一股脑儿全放在这儿。

就好比是把外面世界各种各样的原材料都堆到一个大院子里,先不管乱不乱,反正先存起来再说。

比如说从各个业务系统像销售系统、库存系统、客户管理系统里直接拉过来的数据,就原封不动地放在这儿,这个时候数据可能是各种各样的脏数据,就像刚从地里挖出来带泥的萝卜,但是没关系,这是第一步嘛。

二、DWD层(明细数据层,Detail Data Warehouse)从ODS层拿到数据之后,就开始在这层清理数据了。

把那些脏东西去掉,就像把萝卜上的泥洗干净一样。

对数据进行一些简单的处理,像数据格式的统一啊,把日期格式都搞成一样的,把一些明显错误的数据给修正或者标记出来。

这里的数据是按照业务主题来组织的,比如说销售相关的数据就放在一块儿,库存相关的放一块儿。

这层就像是把原材料初步加工分类,让数据变得稍微整齐一点,这样后面用起来就方便多啦。

三、DWS层(轻度聚合层,Data Warehouse Summary)到了这层,就开始做一些小的聚合操作了。

就像是把洗好切好的萝卜、青菜啥的,做一些简单的搭配组合。

比如按照地区统计销售总额、按照时间段统计库存的变化量。

这层的数据是从DWD层的数据聚合来的,它能让我们从更宏观一点的角度去看数据,但是还没有特别汇总,还保留了一定的明细信息,就像我们做的是几个小菜的拼盘,还能看到每个菜的大概样子。

四、ADS层(应用数据层,Application Data Store)这是最上面一层啦,这层的数据就是专门为了各种应用场景准备的。

比如说给领导看的报表数据,或者是给某个特定业务部门用的数据。

这层的数据就像是把前面那些加工好的菜,做成了精致的套餐,直接端到顾客(也就是使用数据的人)面前。

这个数据就是根据具体的需求高度定制的,比如说领导想要看每个季度不同产品线的利润情况,那在这层就把相关的数据按照要求整理好,让领导一眼就能看到他想看的东西。

hive数仓分层架构的理解。

hive数仓分层架构的理解。

hive数仓分层架构的理解。

Hive数仓分层架构的理解随着大数据时代的到来,企业面临着海量数据的挑战。

为了更好地管理和利用数据,数据仓库成为了企业的重要组成部分。

而Hive作为大数据生态系统中的一个重要组件,提供了数据仓库的解决方案。

在使用Hive构建数据仓库时,分层架构是一个重要的设计原则。

分层架构是将数据仓库按照不同的层次进行划分和组织,每个层次都有特定的功能和用途。

这种架构的设计可以提高数据仓库的可维护性、可扩展性和性能。

下面将介绍Hive数仓分层架构的四个主要层次。

1. 数据采集层数据采集层是数据仓库的基础层,用于收集和存储原始数据。

在Hive中,可以使用Flume、Kafka等工具进行数据的实时采集,也可以使用Sqoop等工具进行批量数据的导入。

在数据采集层,需要对原始数据进行初步的清洗和转换,以保证数据的质量和一致性。

2. 数据存储层数据存储层是数据仓库的核心层,用于存储经过清洗和转换后的数据。

在Hive中,可以使用HDFS(Hadoop分布式文件系统)作为数据存储层。

HDFS具有高容错性、高可靠性和高扩展性的特点,可以有效地存储大规模的数据。

此外,Hive还提供了表的分区和分桶功能,可以进一步提高查询性能。

3. 数据处理层数据处理层是数据仓库的计算层,用于对存储在数据存储层的数据进行处理和分析。

在Hive中,可以使用HiveQL(类似于SQL的查询语言)进行数据的查询和分析。

Hive将HiveQL查询转换为MapReduce任务,在集群上并行执行,从而实现高性能的数据处理。

此外,Hive还提供了UDF(用户自定义函数)和UDAF(用户自定义聚合函数)等扩展功能,可以满足更复杂的数据处理需求。

4. 数据展示层数据展示层是数据仓库的最上层,用于向用户展示数据分析的结果。

在Hive中,可以使用各种可视化工具(如Tableau、PowerBI等)对查询结果进行可视化展示。

此外,Hive还支持将查询结果导出为文件,以便用户进行进一步的分析和处理。

数仓的标准层

数仓的标准层

数仓的标准层
数仓的标准层通常分为以下四层:
1.ODS层(临时存储层):为接口数据的临时存储区域,为后一步的数据处理做准备。

一般来说,ODS层的数据和源系统的数据是同构的,主要目的是简化后续数据加工处理的工作。

2.PDW层(数据仓库层):数据应该是清洗后、准确且一致的数据。

这层的数据一般遵循数据库第三范式,其数据粒度通常和ODS的粒度相同。

3.MID层(数据集市层):这层数据是面向主题来组织数据的,通常是星形或雪花结构的数据。

从数据粒度来说,这层的数据是轻度汇总级的数据,已经不存在明细数据了。

4.APP层(应用层):这层数据是完全为了满足具体的分析需求而构建的数据,也是星形或雪花结构的数据。

从数据粒度来说是高度汇总的数据。

数仓的标准分层只是一个建议性质的标准,实际实施时需要根据实际情况确定数据仓库的分层,不同类型的数据也可能采取不同的分层方法。

数据仓库设计与建模的维度层级与维度属性的设计方法(三)

数据仓库设计与建模的维度层级与维度属性的设计方法(三)

数据仓库(Data Warehouse)是一种用来集成、存储和管理企业各个业务系统数据的中央库,提供高效的数据访问和分析能力。

而数据仓库的设计与建模则是数据仓库项目的关键一环。

本文将重点探讨数据仓库设计与建模中维度层级与维度属性的设计方法,来帮助读者更好地理解和应用数据仓库领域的相关知识。

一、维度层级的设计方法在数据仓库中,维度层级是指一个维度中不同层次之间的关系。

比如,在一个销售数据仓库中,时间维度可以按照不同的层级划分,如年、季度、月份、天等。

设计好的维度层级能够提供更多的数据分析和查询灵活性。

以下是一些常见的维度层级设计方法:1. 原始粒度:维度表的最低层级,包含最详细的数据信息。

在销售数据仓库中,原始粒度可以是每笔订单的具体日期,例如2022年1月1日。

2. 汇总层级:将原始粒度的数据进行聚合,以提供更高层次的数据分析。

例如,将销售数据按季度进行汇总,得到2022年第一季度的销售额。

3. 展开层级:将某个层级的数据展开到更低的层级上。

例如,将销售数据按年展开到月份,得到2022年1月、2月、3月等各月份的销售额。

4. 聚集层级:将某个层级的数据聚合到更高的层级上。

例如,将每日销售数据聚集到月份,得到每个月的销售额。

设计维度层级时需要综合考虑业务需求、查询分析的效率和数据存储的容量等因素。

合理的维度层级设计可以提高数据查询和分析效率,同时还能节省存储空间。

二、维度属性的设计方法维度属性是维度表中描述某个维度特性的列,如商品维度中的商品编号、商品名称、商品分类等。

维度属性的设计应当具备一定的一致性、完整性和可扩展性。

以下是一些常见的维度属性设计方法:1. 一致性:维度属性的命名应当具备一致性。

例如,在商品维度中将商品名称定义为"product_name",那么在其他相关的维度表中也应遵循相同的规范。

2. 完整性:维度属性的设计应当充分考虑业务的需求,确保维度表中包含所有必要的属性。

数据仓库开发规范

数据仓库开发规范

数据仓库开发规范目录数据仓库开发规范 (1)数据仓库框架 (2)数据库命名规范 (3)数据仓库框架数据据仓库框架为便于跟踪数据的处理过程、数据加载效率等方面因素的考虑,如数据仓库框架图所示,在报表平台及驾驶舱页面指标更新时,可以在对DW层及MID 层数据进行调整。

数据仓库框架采用ODS、DW、MID三层框架结构:1.ODS层ODS层获取从OA、EAS、流向、填报、EXCEL采集的数据,区分维表和事实表数据分类。

2.DW层DW层对ODS层的数据进行加工处理,该层处于ODS与MID层之间,在该层主要实现:1)联和主数据(日期、组织架构、产品、产品类型等维度)实现指标的数据归类处理;2)为MID层提供数据分类的梳理,主要根据建设主体的应用。

3.MID层(数据集市)数据集市层面向BI平台展示应用,指标逻辑计算实现在该层实现。

根据系统建设需要区分为客户档案、流向分析、财务经营效果表三个数据集市,目的在数据加载时根据数据应用主题能加快数据的加载效率。

数据库命名规范基本原则采用26个英文字母和0-9这十个自然数,加上下划线_组成,共36个字符,不出现其他字符。

采用英文单词或英文短语(包括缩写)作为名称,参照字典表给出的基础命名,没有的去翻译,不使用无意义的字符或汉语拼音。

英文字母全部大写。

一套系统中英文使用同一单词,并使用单数形式。

数据库对象命名规范数据库表命名规范数据库表字段命名基于基本原则,字段命名新增原则有:无意义的编码列如自增列、UUID等采用表名+ID 如DIM_CUSTOMER_ID 有业务意义的编码列如员工工号、机台编号等采用字段义+CODE 如EMPLOYEE_CODE标志字段统一采用字段义+FLAG,如CHECK_FLAG。

数据仓库层次结构规范(参考Word)

数据仓库层次结构规范(参考Word)

数据中心规范(征求意见稿)一.数据仓库层次结构规范1.1 基本分层结构系统的信息模型从存储的内容方面可以分为,STAGE接口信息模型、ODS/DWD信息模型,MID信息模型、DM信息模型、元数据信息模型。

在各个信息模型中存储的内容如下描述:1)STAGE层(对应原来数据模型的SRC接口层)信息模型:提供业务系统数据文件的临时存储,数据稽核,数据质量保证,屏蔽对业务系统的干扰,对于主动数据采集方式,以文件的方式描述系统与各个专业子系统之间数据接口的内容、格式等信息。

与该模型对应的数据是各个专业系统按照该模型的定义传送来的数据文件。

STAGE是生产系统数据源的直接拷贝,由ETL过程对数据源进行直接抽取,在格式和数据定义上不作任何改变。

与生产系统数据的唯一不同是,STAGE层数据具有时间戳。

STAGE层存在的意义在于两点:(1)对数据源作统一的一次性获取,数据仓库中其他部分都依赖于STAGE层的数据,不再重复进行抽取,也不在生产系统上作运算,减小生产系统的压力;(2)在生产系统数据已经刷新的情况下,保存一定量的生产系统的历史数据,以便在二次抽取过程中运算出错的情况下可以进行回溯。

2)ODS/DWD层(对应原模型的ODS和DW层)信息模型:简称DWD层是数据仓库的细节数据层,是对STAGE层数据进行沉淀,减少了抽取的复杂性,同时ODS/DWD的信息模型组织主要遵循企业业务事务处理的形式,将各个专业数据进行集中。

为企业进行经营数据的分析,系统将数据按分析的主题的形式存放,跟STAGE层的粒度一致,属于分析的公共资源。

3) MID 信息模型:轻度综合层是新模型增加的数据仓库中DWD层和DM层之间的一个过渡层次,是对DWD层的生产数据进行轻度综合和汇总统计。

轻度综合层与DWD的主要区别在于二者的应用领域不同,DWD的数据来源于生产型系统,并为满足一些不可预见的需求而进行沉淀;轻度综合层则面向分析型应用进行细粒度的统计和沉淀。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
简称数据集市层,该层次主要功能是加工多维度冗余的宽表 (解决复杂的查询)、多角度分析的汇总表
简称汇总数据层,面向分析主题的、统一的数据访问层,所有 的基础数据、业务规则和业务实体的基础指标库以及多维模型 都在这里统一计算口径、统一建模,大量基础指标库以及多维 模型在该层实现。该层级以分析需求为驱动进行模型设计,实 现跨业务主题域数据的关联计算或者轻度汇总计算,因此会有 大数据量的多表关联汇总计算
枚举值标准化,有些枚举值只有名称没有ID,有些枚举值在不同表中定义不一致,有些存在空值等情况,需要在DWD层
7
进行标准化转换和改写工作
4
专业 智享
让共享变的很简单
THANKS!
简称数据明显层,该层的主要功能是基于主题域的划分,面向 业务主题、以数据为驱动设计模型,完成数据整合,提供统一 的基础数据来源。在该层级完成数据的清洗、重定义、整合分 类功
简称维度层,该层主要存储简单、静态、代码类的维表,包括 从OLTP层抽取转换维表、根据业务或分析需求构建的维表以及 仓库技术维表如日期维表等
简称操作数据层,该层级主要功能是存储从源系统直接获得的 数据(数据从数据结构、数据之间的逻辑关系上都与源系统基 本保持一致)。实现某些业务系统字段的数据仓库技术处理、 少量的基础的数据清洗(比如脏数据过滤、字符集转换、维值 处理)、生成增量数据表
2
专业 智享
3 ODS层设计要点
让共享变的很简单
表名按照数据仓库ODS表名命名的规范进行统一命名,表名中表明数据采集周期,以及增量 or 全量; 1
5
低数据采集工作的复杂性。
3
专业 智享
4 ODS层设计要点
让共享变的很简单
1
表名按照数据仓库DWD表名命名的规范进行统一命名,表名中表明数据生成周期,以及增量 or 全量
2
清洗掉测试数据、软删除数据
删除完全没有统计意义的一些列 3
规范化字段命名,比如源数据不同表中,用户ID可能既有uid,也有 userid,user_id的命名,应该改为一致 4
屏蔽业务系统一些技术原因的变化,比如业务系统架构调整,存在新老两个版本的同一个订单表,DWD应该将其集成为 5
一个订单表,数据下游用户不需要了解业务无关的技术架构变更细节
屏蔽业务系统一些技术原因的变化,比如业务系统架构调整,存在新老两个版本的同一个订单表,DWD应该将其集成为
6
一个订单表,数据下游用户不需要了解业务无关的技术架构变更细节
如果线上对同一逻辑数据库表进行了分库分表,建议合并到同一个Hive ODS表; 2
如果是数据库数据源,将数据源的数据类型按照统一规范映射成Hive数据类型; 3
如果是数据库数据源,字段命名建议采用数据源字段名; 4
类json格式日志有数据变更灵活、频繁的特征,不建议在ODS层解析成一个一个字段,建议采用hive map格式存储,降
专业 智享
让共享变的很简单
数据仓库分层及各层设计要点
专业 智享
1 数据仓库层次结构
让共享变的很简单
专业 智享
2 数据仓库层次介绍
ቤተ መጻሕፍቲ ባይዱ
层次结构
APP层 DM层
DWM层
DWD层 DIM层 ODS层
让共享变的很简单
详细介绍
简称数据应用层,该层级的主要功能是提供差异化的数据服务、 满足业务方的需求;在该层级实现报表(数易、邮件报表)、 自助取数等需求
相关文档
最新文档