实时数仓应用价值(上)

欢迎关注WX公众号:数据运营入表资产化服务

获取更多算法源码材料

2023数据资源入表白皮书,推荐系统源码下载-CSDN博客

浅析研发支出费用化和资本化的区别-CSDN博客

商业银行数据资产估值白皮书,推荐系统源码下载-CSDN博客

用友BIP数据资产入表解决方案白皮书,推荐系统源码下载-CSDN博客


 

一、实时数仓架构解决了什么问题

二、离线数仓如何分层以及每个层级的用途

三、数仓分层的必要性

四、Lambda架构

五、Kappa架构

六、具体五种方案的解析

七、选型建议

八、分享

九、结语&延伸思考

一、实时数仓架构解决了什么问题

传统数据仓库主要处理T+1数据,即今天产生的数据分析结果明天才能看到,这已经无法满足企业对实时数据处理的需求。因此,实时数仓架构应运而生,其能够提供实时数据处理的能力,以满足企业对于数据实时性的迫切需求。

实时数仓架构可以提高数据处理的速度和效率,使企业能够更快地获取数据洞察,从而更好地支持决策和业务运营,为企业提供更好的数据支持。

二、离线数仓如何分层以及每个层级的用途

在介绍实时数仓前,我们先回顾下离线数仓的分层架构,这将对我们后面理解实时数仓架构设计具有很大帮助。

数仓一般分为以下几层:

  1. ODS层(操作数据层):这一层是数仓的最底层,主要存储原始数据,保持数据原貌不做任何修改,起到备份数据的作用。数据采用压缩,减少磁盘的存储空间。
  2. DWD层(数据仓库明细层):这一层需要对ODS层的数据按照主题进行加工和划分,构建最细粒度的明细事实表。同时,它需要保持数据的原子性,也就是说每条数据记录都必须有对应的源系统记录。DWD层是构建其他数据层的基础,需要保证其数据质量。
  3. DWS层(数据仓库汇总层):这一层主要对DWD层的数据进行汇总,以构建更高级别的汇总表。这些汇总表可以提供更快速的数据访问和更高效的数据分析。DWS层的表通常按照不同的主题和维度进行组织,例如时间、地区、产品等。
  4. ADS层(应用数据服务层):这一层主要提供数据服务和应用功能,例如报表、查询、分析等。它直接支持企业的各种数据应用,如报表制作、决策支持、商业智能等。

三、数仓分层的必要性

数仓分层的必要性主要体现在以下几个方面:

  1. 清晰数据结构:分层可以使得数据结构更加清晰,每一层都有其特定的作用域,方便用户理解和使用数据。
  2. 数据血缘追踪:通过分层,可以追踪数据的来源和去向,快速定位问题,并清楚了解问题的危害范围。
  3. 数据复用,减少重复开发:规范数据分层,开发一些通用的中间层数据,能够减少重复计算,避免每个数据开发人员都重新从源系统抽取数据进行加工,节省了用户的开发时间和精力。
  4. 把复杂问题简单化:通过分层,可以把一个复杂的任务分解成多个步骤来完成,每一层只处理单一的一个步骤,便于维护数据的准确性。
  5. 屏蔽原始数据和业务的影响:分层可以屏蔽原始数据和业务的影响,提高数据稳定性和连续性。同时,通过规范和屏蔽源头业务系统的复杂性,保证下游数据用户使用数据的便捷和规范。
  6. 提高数据管理效率:分层使得数据在整个仓库中的流转更为清晰,方便掌握数据的生命周期,每一层负责特定的职责,便于使用者理解使用,提高了数据管理效率。

四、Lambda架构

Lambda架构将数据分为实时数据和离线数据。

针对实时数据使用流式计算引擎进行计算(例如Flink),针对离线数据使用批量计算引擎(例如Spark)计算。然后分别将计算结果存储在不同的存储引擎上对外提供数据服务。

这种架构的优点是离线数据和实时数据各自计算,既能保障实时为业务提供服务,又能保障历史数据的快速分析。它分别结合了离线计算引擎与流式计算引擎二者的优势。

但是有一个缺点是离线数据和实时数据的一致性比较难保障,一般在离线数据产生后会使用离线数据清洗实时数据来保障数据的强一致性。

五、Kappa架构

这种架构将数据源的数据全部转换为流式数据,并将计算统一到流式计算引擎上。

这种方式的特点使架构变得更加简单,但是不足之处是需要保障数据都是实时的数据,如果数据是离线的话也需要转化为流式数据的架构进行数据处理,具体架构可结合这张图来看。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/308755.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机网络【EPoll原理】

预备知识:内核poll钩子原理 内核函数poll_wait 把当前进程加入到驱动里自定义的等待队列上 ; 当驱动事件就绪后,就可以在驱动里自定义的等待队列上唤醒调用poll的进程; 故poll_wait作用:可以让驱动知道事件就绪的时…

笔记1:基于锚框(先验框)的目标检测

一、边缘框(bounding box) 1.1 定义 边缘框:真实标注的物体位置 2.1 表示方式 1、(x1,y1)和(x2,y2) 2、(x1,y1)和w,h 二、锚框(anchor box)/先验框(prior bounding box) 2.1 定义 对边缘…

DDC和PLC的区别

前言 PLC与DDC控制器的比较,一直以来在相关领域内受到广泛关注。每个人站在不同的角度分析,都会有不同的结论,我们今天聊聊这个话题。 基本定义和功能 可编程控制器PLC与直接数字控制器DDC,两者都由CPU模块、I/O模块、显示模块…

Python 内置高阶函数练习(Leetcode500.键盘行)

Python 内置高阶函数练习(Leetcode500.键盘行) 【一】试题 (1)地址: 500. 键盘行 - 力扣(LeetCode) (2)题目 给你一个字符串数组 words ,只返回可以使用在…

可移动磁盘上的文件删除了怎么恢复?详细教程介绍

在我们的日常生活和工作中,可移动磁盘作为一种便携式的存储设备,经常被用来备份和传输数据。然而,有时候由于误操作或不小心的删除,导致可移动磁盘上的文件丢失。这些文件可能包含重要的工作资料、个人照片、视频等,一…

小天使的生命之源:新生儿补充铁剂的细致关怀与注意事项

引言: 新生儿是生命的奇迹,而良好的营养对于他们的健康成长尤为关键。铁是新生儿生命早期阶段发育所必需的重要元素之一,然而,在补充铁剂时,家长需要特别注意一系列细节。本文将深入探讨铁的作用、补充时机&#xff0…

在线尺码计算

在线衣服尺码计算 尺码不确定的话,可以填写身高、体重生成可以参考的尺码还是不错的 工具简介 选购时请综合参考尺码表中的各项参数,这有助您选择到更好的尺码。 该尺码计算工具仅供参考,测量脚时请注意用适当力度轻踩水平面上。因测量方法不…

【每日一题】一周中的第几天

文章目录 Tag题目来源解题思路方法一:模拟 写在最后 Tag 【模拟】【数学】【2023-12-30】 题目来源 1185. 一周中的第几天 解题思路 方法一:模拟 思路 题目中的日期是在 1971 到 2100 年之间的有效日期,即 1971-01-01 到 2100-12-31 范围…

软件测试/测试开发丨Windows系统chromedriver安装与环境变量配置

一、selenium 环境配置 1、chrome 浏览器的安装与配置 目前比较常用的浏览器是 Google Chrome 浏览器,所以本教程以 chrome 为主,后面简介一下其他浏览器的环境配置。 (1)chrome 下载: www.google.cn/chrome/ (2&a…

【Linux系统编程二十五】:线程概念(Linux中的轻量级进程)

【Linux系统编程二十五】:线程概念(Linux中的轻量级进程) 一.线程的概念1.地址空间是资源窗口 二.线程初步理解1.进程执行分支(内部运行)2.执行粒度更细3.重构进程概念:系统资源分配的基本实体4.重构线程概念:系统调度的基本单位5…

Gin 源码深度解析及实现

介绍 什么是 gin ? 一个轻量级高性能 HTTP Web 框架。 Introduction | Gin Web Framework (gin-gonic.com) Gin 是一个用 Go (Golang) 编写的 HTTP Web 框架。 它具有类似 Martini 的 API,但性能比 Martini 快 40 倍。 为什么使用 gin ? In…

修改源码,element的el-table合并,处理合并产生的hover样式问题

1、确认自己element-ui的版本号 2、此element-ui下的lib包是修改过hover样式的包,如何替换自己文件下的node_modules中的包 修改后将lib文件夹中文件替换你项目中/node_module/element-ui/Lib中的文件问题??如果替换开发环境中的node_module的包无法升级到测试环境,因为nod…