数据实时化是必要还是偏见?

数据实时化是必要还是偏见?

  • 一、前言
  • 二、数据仓库的起源
  • 三、数据架构的演进
  • 四、数据实时化的必要性
  • 五、总结

本文主要基于数据仓库的起源和数据架构的演进来聊聊,数据实时化是否真的必要?是"过度优化"、“实时偏见"还是"合理”!

一、前言

时常有小伙伴会问:

Q:实时数据仓库是否真的有必要?T+1处理数据也不是不可,为何一定要数据实时化?费时费力还费人!

A:存在即可能合理。

要不先来简单聊聊数据仓库的起源和数据架构的演进之路吧。

二、数据仓库的起源

数据仓库的起源可以追溯到20世纪70年代,当时企业中的数据处理和存储主要依靠传统的数据库系统。随着企业数据量的不断增长和复杂性的增加,传统的数据库系统开始无法满足企业对数据的分析和决策支持的需求。为了解决这些问题,数据仓库的概念应运而生。

数据仓库(Data Warehouse)的概念最早由比尔·恩门(Bill Inmon)在1991年提出。它被定义为一个面向主题、集成、非易失性的数据集合,用于支持管理层的决策制定过程。数据仓库的设计旨在提供一个统一的数据视图,使得企业能够从多个角度对数据进行分析,从而做出更加明智的业务决策。

在数据仓库的早期实施阶段,主要的挑战在于如何有效地将各个业务系统的数据进行整合,以及如何解决数据格式不兼容、数据质量不佳等问题。这个阶段的主要目标是建立一个稳定、可靠的数据仓库基础。

随着数据仓库技术的成熟,人们开始关注如何更深入地理解和利用数据仓库中的信息。这个阶段的发展带来了数据挖掘和数据分析等技术的兴起,帮助用户更深入地理解数据。

此外,随着实时数据处理技术的发展,实时数据仓库开始出现,其主要目标是让用户能够在任何时间点获取到最新的数据信息,以便做出更准确的决策。

数据仓库的发展历程是一个不断演进和创新的过程,它随着技术的发展和企业需求的变化而不断完善和扩展。如今,数据仓库已经成为企业进行决策的关键基础设施。

三、数据架构的演进

20世纪90年代,比尔·恩门(Bill Inmon)提出了数据仓库的概念,从而进入到经典数仓架构的阶段,相应的DB产品以OLTP主,例如Teradata、Vertica、Oracle等。

随着数据量的暴增、Google三大论文(大数据三驾马车:Google FS、MapReduce和BigTable)和开源文化的传播,逐渐盛行以Hadoop体系为主的离线数仓架构。

离线数仓虽然能够基于大量数据T+1地稳定跑批计算出结果,但是实效性不高。而这期间,双十一购物狂欢节推行。各方英豪已经不满足于隔天出报表,分别想法设法地祭出实时大屏,实时地展现自家营业额的猛势。既能zi嗨,又能带动网民们从众一购。

于是乎,Lambda架构来了。在原有离线数仓的基础之间,为了在处理大规模数据时,同时发挥流处理和批处理的优势,再开一条实时链路。通过批处理提供全面和准确的数据,通过实时流处理提供低延迟的数据从而达到平衡延迟、吞吐量和容错性的目的。

Lambda架构整体而言,是需要两份代码+两份存储,并且需要保证批和流的数据结果一致。成本颇高,且不易开发和维护,加上实时化的影响面越来越大,
随即Kappa架构被推行。

Kappa架构的原理即在Lambda的基础上进行了优化,删除了 Batch Layer 的架构,保留了速度层,并取名实时处理。简而言之就是去除Lambda架构中的离线批处理层,专注于实时流处理,提供了一种简化Lambda架构的方法。

但是,Kappa架构全部以流式数据进行处理,会导致开发维护成本高,较难统一处理数据变更。例如一些IoT场景,所有的高频数据都通过流式计算,即便通过加大并行度也很难适应数据查询响应的即时性要求,特别是对于历史数据的高吞吐量处理显得格外力不从心。

于是,以湖仓结合的混合架构盛行,基于Hudi/Iceberg/Data Lake/Paimon数据湖组件作为流和批的同意存储层,实现端到端的流批一体化。湖支撑数据并发写入和海量多元存储,仓进行查询加速。

然而,湖仓混合虽然优点诸多,但架构实施相对复杂。为去繁为简,又不失流批一体和高效性能,Doris这类全场景的MPP数据库应运而出,提供了一种平衡的解决方案。既能满足海量的流批数据存储,也能实现快速分析,可以作为新一代实时数据仓库建设的优选。

未来,数据架构又会如何演进?

四、数据实时化的必要性

如果把T+1的数据链路比做绿皮火车,那么数据实时化就是高铁。它们各有优劣:

1️⃣ 绿皮火车(普通火车):

  • 优点:

    • 成本低廉:相比高铁,绿皮火车票价更为经济实惠,适合预算有限的乘客。
    • 覆盖面广:绿皮火车网络覆盖了更多的小城市和乡村地区,方便偏远地区的居民出行。
    • 旅行节奏慢:适合欣赏沿途风景,对于不急于到达目的地的旅客来说,是一种放松的旅行方式。
  • 缺点:

    • 速度慢:相比高铁,绿皮火车的运行速度较慢,旅行时间较长。
    • 设施陈旧:车内设施相对落后,舒适度不如高铁。
    • 拥挤问题:在高峰时期,绿皮火车可能会比较拥挤。

2️⃣ 高铁:

  • 优点:

    • 速度快:高铁的运行速度远高于普通火车,大大缩短了旅行时间。
    • 准时率高:高铁通常具有很高的准点率,适合对时间要求严格的旅客。
    • 服务水平高:高铁提供高质量的服务,包括快速的检票、清洁的车厢和良好的乘务服务。
  • 缺点:

    • 票价较高:相比绿皮火车,高铁的票价较高,可能不适合预算有限的乘客。
    • 覆盖范围有限:高铁网络主要集中在大中型城市之间,对小城市和乡村地区的覆盖不足。
    • 旅行节奏快:由于速度快,乘客可能没有太多时间欣赏沿途风景。

总的来说,绿皮火车和高铁各有适用场景,我们可以根据自己的需求、预算和旅行目的选择最合适的,数据是否实时化亦是如此。

数据实时化的"优点"包括:

  • 快速响应:能够迅速对市场变化或用户行为做出反应;例如短视频智推行为,让你越刷越嗨,根本停不下来。
  • 提高效率:减少了数据处理和分析的时间,提高了整体运营效率;例如智能营销类系统,毫无隐私可言。
  • 增强用户体验:为用户提供更加个性化和及时的服务;例如网购实时精准推送,主打一个买买买。
  • 风险管理:实时监控可以帮助及时发现和应对潜在的风险;例如实时风控系统,高效一刀切。

然而,数据实时化也存在一些挑战和缺点:

  • 技术复杂性:实现数据实时处理需要复杂的技术支持,如流处理、内存计算等。
  • 成本问题:相比于传统的批处理,实时数据处理可能需要更高的计算资源和成本。
  • 数据质量问题:在高速处理数据的过程中,可能会遇到数据不准确或不完整的问题。
  • 系统稳定性:实时系统对稳定性要求更高,任何小的故障都可能影响整个系统的运行。

正如选择绿皮火车还是高铁一样,是否采用数据实时化技术,也需要根据具体的业务需求、资源状况和预期目标来做出决策。在某些场景下,传统的批处理可能更适合;而在其它情况下,实时数据处理则能带来更大的价值。

五、总结

随着人类文明的进步和科技的飞速发展,数据的实时化变得越来越重要。在许多行业和领域,如金融交易、社交媒体、在线广告、物联网((IoT)等,基于实时数据仓库提高分析实时性、能够提供即时的洞察和决策支持,从而增强竞争力和响应速度。

那么框啦啦有说了一堆,实时数据仓库、数据实时化是否真的有必要?我觉得还不到100%必要性,但确实越来越有必要!

未来实时数据处理将会变得更加普及和高效。那么,你觉得当下数据实时化是否真的必要?

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

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

相关文章

【数据结构】手写快速排序

一、理念 什么是快速排序&#xff1f; 首先确立pivot&#xff0c;比如下图位于末尾 然后i遍历3到6 在3的时候&#xff0c;j指向i前面一位 如果3<5(pivot)&#xff0c;那么j&#xff0c;同时将i与j指向的交换&#xff0c;第一次交换是原地不动 一直到遇见9&#xff0c;…

数据结构和算法(0-1)----递归

定义​ 递归是一种在程序设计中常用的技术&#xff0c;它允许一个函数调用自身来解决问题。递归通常用于解决那些可以被分解为相似的子问题的问题&#xff0c;这些问题的解决方式具有自相似性。在数据结构和算法中&#xff0c;递归是一种重要的解决问题的方法&#xff0c;尤其是…

处于群晖Docker中的HomeAssistant监控宿主机CPU温度

处于群晖Docker中的HomeAssistant监控宿主机CPU温度 解决方案 在configuration.yaml中添加&#xff1a; sensor: - platform: filename: "Host Temperature" # 可以自定义file_path: /sys/class/hwmon/hwmon0/temp1_inputvalue_template: "{{ int(value)/100…

taro小程序terser-webpack-plugin插件不生效(vue2版本)

背景 最近在做公司内部的小程序脚手架&#xff0c;为了兼容老项目和旧项目&#xff0c;做了vue2taro,vue3taro两个模板&#xff0c;发现terser-webpack-plugin在vue2和vue3中的使用方式并不相同&#xff0c;同样的配置在vue3webpack5中生效&#xff0c;但是在vue2webpack4中就…

sql monitoring 长SQL ASH AWR 都没有 未Commit or export to csv

Duration 4小时&#xff0c; Database Time 22.5&#xff0c; Session Inactive&#xff0c; 1.未Commit原因, 2.慢慢导出成csv文件&#xff1f; How is v$session status INACTIVE and v$sql_monitor status EXECUTING concurrently 2641811 Posts: 8 Jan 11, 2016 6:47P…

git安装使用gitlab

第一步&#xff1a;下载git 第二步&#xff1a;安装 第三步&#xff1a;配置sshkey 第四步&#xff1a;处理两台电脑的sshkey问题 第一步下载git 网址&#xff1a;Git点Downloads根据你的操作系统选择对应的版本&#xff0c;我的是Windows&#xff0c;所以我选择了Windows …

Apple Intelligence将如何重新定义iPhone上的Siri使用方式|TodayAI

经过多年的讨论和批评&#xff0c;苹果&#xff08;Apple&#xff09;终于在今年秋季承诺推出更智能版本的数字助理Siri。此次更新得益于苹果智能&#xff08;Apple Intelligence&#xff09;&#xff0c;这是公司推出的生成式AI产品&#xff0c;并与OpenAI合作开发。 Siri将迎…

css画半圆画圆弧

利用border-radius和border完成&#xff1a; <!DOCTYPE html> <html> <head> <meta charset"utf-8"> <title>test</title> <style> .semicircle {width: 100px;height: 50px;border-radius: 0 0 50px 50px;background:…

springboot系列教程(一):简介与入门案例(含源码)

一、SpringBoot简介 SpringBoot继承了Spring优秀的基因&#xff0c;上手难度小简化配置&#xff0c;提供各种默认配置来简化项目配置内嵌式容器简化Web项目&#xff0c;简化编码 Spring Boot 则会帮助开发着快速启动一个 web 容器&#xff0c;在 Spring Boot 中&#xff0c;只…

【性能测试】第二节.loadrunner工具介绍(LR)

文章目录 前言一、VUG&#xff1a;虚拟用户发生器 1.1 实现作用 1.2 创建一个新的性能测试脚本 1.3 打开LR自带的web系统 1.4 编写性能测试脚本流程方法 1.5 性能测试脚本的增强二、Controller 2.1 基础功能介绍 2.2 Design 2.3 Run三…

手把手教你在Overleaf的IEEE模板中用ref.bib加入引用

手把手教你在Overleaf的IEEE模板中用ref.bib加入引用 文章目录 1. 杂话2. 具体步骤2.1 创建ref.bib文件2.2 加入引用2.3 在tex文件中导入引用 1. 杂话 大伙儿应该都用过Latex和Overleaf吧&#xff0c;具体是个啥东西我就不说了哈。Overleaf上面的在这里IEEE 会议官方模板。之前…

安防监控视频平台LntonCVS视频融合共享平台智慧消防实现远程集中视频监控方案

近年来&#xff0c;电力系统内变电站着火事件频发&#xff0c;这对消防安全管理提出了严峻挑战。我国消防安全基础设施不完善、管理机制不健全、应急处置能力不足及公众消防安全意识淡薄等问题&#xff0c;严重制约了消防安全的提升。因此&#xff0c;加强变电站的消防安全管理…

【C++】 List 基本使用

C List 基本使用 基本概念 list 是一个序列容器&#xff0c;它内部维护了一个双向链表结构。与 vector 或 deque 等基于数组的容器不同&#xff0c;list 在插入和删除元素时不需要移动大量数据&#xff0c;因此在这些操作上具有较高的效率。然而&#xff0c;访问列表中的特定…

课程设计——Python+OpenCV数字图像处理[车牌识别]

Python opencv 车牌识别 数字图像处理课程设计作业Python3OpenCV使用tkinter搭建界面tmp/文件夹是数字图像处理过程chepai/文件夹是车牌图片pic/文件夹是程序界面图PPT文件是验收时要讲的程序是从网上学习的并自己弄的&#xff0c;不完善&#xff0c;识别率不高 开发环境配置…

使用MovaXterm连接VMware的centos

一、确认局域网ip 检查虚拟机分配的网段是否一致 二、确认centos的ip 输入 ip addr 获得设备ip为192.168.153.130 三、用MovaXterm建立ssh连接 有同行可能会问&#xff0c;直接使用VMware操作centos系统不行吗&#xff1f;为什么要再多一步。 理由&#xff1a;1、测试环境c…

【Navicat Premium Lite 17】无需破解、不在担心绿诗涵——官方的免费轻量级Navicat来了

Navicat Premium Lite 是 Navicat 的精简版&#xff0c;它包含了用户执行主要的基本数据库操作所需的核心功能。它允许你同时连接到各种数据库平台&#xff0c;包括 MySQL、PostgreSQL、SQL Server、Oracle、MariaDB&#xff0c;以及 Redis 和 MongoDB 等NoSQL 数据库&#xff…

MVC之 Controller 》》 ModelState ValidationMessageFor ValidationSummary

ModelState是Controller的一个属性&#xff0c;可以被继承自System.Web.Mvc.Controller的那些类访问。它表示在一次POST提交中被提交到服务器的 键值对集合&#xff0c;每个记录到ModelState内的值都有一个错误信息集。尽管ModelState的名字中含有“Model”&#xff0c;但它只有…

JVM监控及诊断工具-命令行篇-jstat命令介绍

JVM监控及诊断工具-命令行篇01-jstat&#xff1a;查看JVM统计信息 一 基本情况二 基本语法2.1 option参数1. 类装载相关的&#xff1a;2. 垃圾回收相关的-gc&#xff1a;显示与GC相关的堆信息。包括Eden区、两个Survivor区、老年代、永久代等的容量、已用空间、GC时间合计等信息…

jmeter-beanshell学习9-放弃beanshell

写这篇时候道心不稳了&#xff0c;前面写了好几篇benashell元件&#xff0c;突然发现应该放弃。想回去改前面的文章&#xff0c;看了看无从下手&#xff0c;反正已经这样了&#xff0c;我淋了雨&#xff0c;那就希望别人也没有伞吧&#xff0c;哈哈哈哈&#xff0c;放在第九篇送…

智慧商超-下

原文&#xff1a;https://blog.c12th.cn/archives/29.html 智慧商超-下 测试&#xff1a;笔记本原装操作系统&#xff1a;Windows 10 家庭中文版 资源分享链接&#xff1a;提取码&#xff1a;uya0 卸载SQL步骤&#xff1a; https://blog.csdn.net/qq1623803207/article/detail…