• 欢迎使用千万蜘蛛池,网站外链优化,蜘蛛池引蜘蛛快速提高网站收录,收藏快捷键 CTRL + D

运用特定的(特定的英文形容词)


为了提高数据质量、数据可用性及应用价值,我们需要进行数仓分层,那么,怎么理解数仓分层?这篇文章里,作者对数仓分层的重要性、分层原则、实施策略等方面进行了总结,一起来看一下。

假设将数仓中的表拍平,没有分层概念,只进行简单的数据清洗后直接应用于数据分析,会出现什么问题:

因此,进行数据仓库分层是为了解决这些问题,提高数据质量、可用性和应用价值。但是也可能存在以下一些不利影响:

当我们处理大量的数据时,数仓分层可以帮助我们更好地组织和管理这些数据。就像一个图书馆一样,我们把书籍按照不同的类型和主题分到不同的书架上,这样方便我们找到需要的书。

在数仓中,我们也需要对数据进行分类和整理。分层就像是给数据分类,并将其放在不同的存储位置。比如,底层是原始数据,这就相当于图书馆的藏书库房;然后上层是经过清洗和整理后的数据,就像图书馆的阅览室;再往上是加工过的数据,比如计算出的统计数据或者分析结果,就像图书馆的参考书区。

分层的好处是让我们更有效地使用数据。想象一下,如果所有的书都乱七八糟地堆在一起,我们要找一本特定的书会非常困难。但如果我们按照分类放置在不同的书架上,我们只需去对应的书架找就可以了。

同样地,当我们需要特定的数据时,分层让我们能够迅速定位到所需数据的位置。如果我们只需要原始数据,我们就去底层找;如果我们需要经过整理的数据,我们就去上层找;如果我们对数据做更深入的分析,我们就去更高层找。

总之,数仓分层帮助我们更好地组织和管理数据,使我们能够更轻松地找到需要的数据,而不必浪费时间去查找与我们目标无关的数据。这样我们可以更高效地进行数据分析和利用。

1. 贴源数据层:ODS(Operational Data Store)

ODS 层是位于原始数据源和数据仓库中间的一个层级。它主要用于接收和存储来自多个源系统的原始操作性数据。ODS 层的数据通常以粒度较细的形式存储,以支持实时或准实时的数据处理需求。数据从 ODS 层可以被抽取到 DWD 层进行进一步的加工和转换。

为了考虑后续可能需要追溯数据问题,因此对于这一层就不建议做过多的数据清洗工作,原封不动地接入原始数据即可,至于数据的去噪、去重、异常值处理等过程可以放在后面的DWD层来做。

落地方法:大多直接用数据同步工具直接抽取过去即可。例如:kettle、DataX、NIFI、阿里DTS、DataPipeline等等。这些工具通常支持增量抽取和全量抽取的方式,并提供数据质量控制和监控的功能。

DWD 层位于数据仓库架构的核心位置。它主要用于存储经过清洗、标准化和整合的事实数据和维度数据,以支持多维分析和报表查询等业务需求。DWD 层通常包含企业数据模型(Enterprise Data Model,EDM)或主数据模型(Master Data Model,MDM)的实现。DWD 层中的数据可以按照不同的业务主题进行建模,通过事实表和维度表的关联,构建多维查询和分析模型。

DWD 层的主要特点包括:

DWM 层是在 DWD 层之上的一个逻辑层级,它主要用于实现业务主题的汇总和聚合。DWM 层的数据通常以更高的粒度或经过预计算的形式存储,以提供更高效的数据查询和分析性能。DWM 层可以根据业务需求进行灵活的数据聚合和汇总,以满足不同层次和角度的数据分析需求。

在实际计算中,如果直接从DWD或者ODS计算出宽表的统计指标,会存在计算量太大并且维度太少的问题,因此一般的做法是,在DWM层先计算出多个小的中间表,然后再拼接成一张DWS的宽表。由于宽和窄的界限不易界定,也可以去掉DWM这一层,只留DWS层,将所有的数据再放在DWS亦可。

DIM 层是独立于事实表的维度信息存储层。它用于存储描述性数据或分类信息,如客户、产品、时间、地点等。DIM 层中的维度表可以与事实表进行关联,以支持多维查询和分析。DIM 层的数据通常比较稳定且经常被查询,可以作为 DWD 和 DWM 层的共享维度表。

5. 数据服务层:DWS(Data Warehouse Service)

DWS 层是位于数据仓库顶层的服务层,它主要用于向上层应用提供数据访问接口和服务。DWS层会基于DWD层上的基础数据整合,汇总,分析成某一主题域的服务数据,一般是宽表。

DWS 层可以提供数据抽取、报表查询、数据可视化、数据挖掘、数据科学模型服务等。DWS 层通常通过提供标准化的数据接口和服务,将数据仓库的功能和价值最大程度地展示给用户和应用系统。

6. 数据应用层:ADS(Application Data Store)

存放数据产品个性化的统计指标,根据明细层、汇总层及维表数据加工生成。

为了提高数据仓库的可维护性、可扩展性和数据一致性,同时也能为分析人员提供更简单、完整、集成的数据,优化数据分析的效率和准确性。数据分层应遵循以下原则:

数据仓库的不同层次可以根据需要提供不同粒度的数据,这样在开发应用时就不必重复构建相同的数据表。可以节省时间和资源,提高数据应用的效率。

eg:公司有多个部门需要使用相同的销售数据进行报告和分析。

如果没有数据仓库的分层架构,每个部门可能会独立地从原始数据中构建自己的报表和分析表。而有了分层架构,可以在底层的数据层构建一次报表,然后其他部门只需在上层的应用层基础上构建自己的应用表,避免了重复建设。

通过分层架构,数据在不同层次间有清晰的关系,当应用层数据出现问题时,我们可以追踪到它所关联的底层数据表,这样可以快速定位问题,避免像查找蜘蛛网一样费时费力。

eg:一个数据科学团队正在分析一家电商公司的用户购买行为数据。他们发现在数据仓库的应用层表中有一些异常数据,需要找到这些异常数据的来源。

通过数据仓库的分层架构,他们可以追溯到底层的原始数据表,查看数据的采集、转换和加载过程,最终可以快速确定异常数据的来源,并快准确决问题。

通过分层架构,数据仓库会对数据进行清洗、整合和汇总,确保数据的一致性和准确性。这样我们就可以放心地使用这些数据进行分析和决策。

eg:企业有多个分销渠道,每个渠道都会收集销售数据并报送给总部。

如果没有数据仓库的分层架构,总部可能会面临来自不同渠道的冲突或重复的数据。有了分层架构,可以在底层的数据层进行数据清洗和整合,确保每个渠道报送的数据经过验证和校准后才进入上层的汇总表或应用表,从而保证了数据的一致性和准确性。

不同层次的数据仓库可根据需求进行性能调优。底层原始数据层可以容纳大量数据并提供更低的延迟,而上层的汇总层和应用层可以提供更高的性能和更快的查询响应时间。

eg:金融机构需要对大量的交易数据进行实时风险监控和决策支持。

如果使用单一的大型数据表存储所有交易数据,查询可能变得非常耗时。而通过数据仓库的分层架构,可以将原始交易数据存储在底层的数据层,然后在上层的应用层构建针对风险监控和决策支持的汇总表。这样可以提高查询的性能和响应时间,使得风险监控和决策支持能够更加及时有效地进行。

通过分层架构,我们可以进行多维分析、数据挖掘和决策支持。应用层的表提供更高级别和精细化的数据指标和度量标准,帮助我们深入分析数据并做出明智的决策。

eg:零售企业需要分析销售数据以了解不同产品在不同地区和不同时间段的销售情况。

通过数据仓库的分层架构,可以在底层的原始数据层存储每个销售事务的细节,然后在上层的应用层构建多维聚合表,以便进行跨产品、地区和时间的分析。这样企业可以更好地了解销售趋势,优化供应链和销售策略。

数据仓库的分层结构使得不同团队和部门可以共享数据和结果。不同团队可以基于相同数据建立自己的应用表,方便数据共享和协作,避免了重复工作和独立运营的情况。

eg:医疗机构需要在临床、科研和管理等多个部门之间共享病例数据。

通过数据仓库的分层架构,可以在底层的数据层存储原始病例数据,然后在每个部门的应用层构建特定的分析表。这样不同部门可以共享数据,并且可以根据自己的需求定制应用表,促进部门间的数据共享和协作。

本文由 @数据产品探索家 原创发布于人人都是产品经理,未经授权,禁止转载

题图来自Unsplash,基于CC0协议

该文观点仅代表作者本人,人人都是产品经理平台仅提供信息存储空间服务。

本文链接:https://www.24zzc.com/news/169606596140621.html

相关文章推荐

    无相关信息