当前位置: 首页 > news >正文

大模型、实时需求推动湖仓平台走向开放

大模型、实时需求高涨

AGI 时代,以 ChatGPT、Midjourney 等为代表的大模型迅速应用加速了 AI 普及,越来越多的企业选择搭建自己的 AI 基础设施,训练行业大模型。

另一方面,企业为了在瞬息万变的市场环境中更快的做出商业决策,正在将数据平台从离线转向实时数据平台。“双十一 ”和春晚直播实时大屏、银行和证券交易行为实时监控、电商和短视频的实时个性化推荐等只是全行业在线化的冰山一角。


AI + 实时,俨然成为了企业数据平台无法避免的技术焦点。那么,如何让企业数据平台拥抱AI+实时的双重能力?
为什么难实现?

对于现阶段的大数据平台和传统数据仓库等企业数据平台,姑且不论同时整合 AI + 实时,单独的 AI 平台或者实时数据平台都不得不通过复杂架构,耗费大量资源和人力来实现。我们不妨先来分别看看现在的 AI 和实时架构是如何实现的。

AI 与数据平台

机器学习和人工智能的模型训练采用结构化数据和非结构化数据。结构化数据价值非常高,数据质量也非常好,因此有些 AI 问题主要基于结构化的数据建模。一个很典型的例子就是银行基于结构化数据,面向个人客户开发的信用评分卡,既有可解释性,又能满足实时的信用评估。

那么,传统数仓的大量结构化数据该如何被用于训练 AI 模型呢?常见的方式是,当机器学习平台需要访问数据集时,需要先通过 JDBC 或者外部表的形式把数据从数据仓库导出到分布式存储中,然后再并行处理这些数据,用以进行模型训练和分析。在大规模数据处理场景中,这种不断导出数据的方式显然是不现实的,因为导出 TB 或者 PB 级别的数据通常得花好几个小时甚至几天的时间,既费力又费时。

在过去几年中,在业界产生广泛影响力的机器学习和 AI 模型几乎都是从非结构化数据中获取的。尽管在传统数据仓库中,可以将非结构化数据视为简单的文本或二进制类型 (TEXT、VARCHAR、BLOB),然而通过这种方式训练AI模型效率低下,同样需要从数据仓库中导出数据后再做建模。

因此,企业逐渐选择数据湖这种更加开放的形态来训练 AI 模型。结构化数据和非结构化数据(文本和图像等)直接进入数据湖,以数据湖开放的存储格式存储,如 ORC 和 Parquet,使用开源工具去直接操作数据。传统数据湖平台通常由 Hadoop 实现,因为 Hadoop 的局限性,比如缺乏事务支持,缺乏很好的数据治理方法等等,数据湖都难免形成数据沼泽。

实时数据平台

传统数据平台不仅在 AI 模型的支持上出现了诸多问题,在实时数据处理方面也面临着极大挑战。

传统数据平台的数据处理流程一般是这样的。首先,从业务系统 CRM、ERP 或者其他数据源把这些业务数据收集过来,然后经过离线数据 ETL 对数据进行数据清洗、数据加工。在这个过程中会涉及数据建模和分层,最终会把加工后的数据提供给 BI 工具,或者写到数据库并推到一个在线服务系统,供用户进行访问,这些用户包括用户、运营人员或管理团队等等。

我们可以发现,即便在没有做实时数据处理的情况下,这样的数据处理链路就已经很冗长了。然而,当我们不解决既有离线问题的情况下就向实时转型,问题将更加复杂。

实时数据是如何处理的?

目前主要采用传统 Lambda 和 Kappa 架构。以 Lambda 架构的实现方法为例,Lambda 以传统的离线数仓为主,然后引入了实时数据的处理链路。T+1 数据仍然是走传统离线数仓链路,然后再加上一个实时的数据链路,再把这些实时数据和离线数据汇总到一起,然后再通过一个服务层提供数据服务,对外提供的服务可能是点查询,也可能是做复杂分析。

离线链路用 Hive/Spark,实时用 Flink。但在实际的落地中,如果需要引入实时查询,可能要再加上 ClickHouse/Drill/Presto;如果需要做数据的离线归档,还需要 Hive;为了满足一些高并发点查询需求,还要再引入了 HBase 和 MySQL。引入这么多产品组件,本质原因还是缺少一个在并发、性能和开放性兼顾的产品。

因此 Lambda 架构并没有从源头上解决传统离线数仓的问题,而是在传统离线数仓上加了一条链路,让整个系统变得更加复杂。数据可能会存两份或者存多份,实时链路和离线链路数据也不统一。除此之外,整个架构维护起来是非常复杂的,学习和开发成本比较高。


如何破局?

为了实现用更丰富的数据源训练 AI 模型,我们以极高的代价将数仓的数据导出后再并行处理;为了实现实时数据处理,我们不惜选择冗长的数据处理链路,造成多份数据和多个计算引擎烟囱林立。这些痛点都将我们引向对一个问题的思考:我们能不能只用一份数据,精简计算引擎?

答案是可以的

当下,存储和计算的数据无非是结构化、非结构化和流式数据。破局的第一步,就是在数据的存储方面采用开放格式的一份数据,如 Parquet、ORC、Hudi 等。各个计算引擎都使用开放的数据格式(如 ORC 或 Parquet 等),数据以开放文件格式被写入数据平台,之后就能被多个引擎多次直接读取和使用。

有了存储的开放性,在计算引擎方面,我们就可以尽量优化和减少计算引擎的数量,并针对结构化数据、非结构化数据和流式数据,选用各具优势的计算引擎:● 针对流数据的计算,采用常见的 Flink;● 针对非结构化数据机器学习,可以采用 Spark;● 针对结构化数据,需要兼容开放数据格式,兼顾实时查询、离线分析、高并发和高可用的分析引擎,比如偶数的 OushuDB。

至此,开放格式,一份数据,多个引擎的架构初步形成,这样的“一数多擎”架构形成了可以破局当前企业数据困境的方案——实时湖仓(Realtime Lakehouse)。

“一数多擎”是我们在多个行业的湖仓一体项目落地中不断迭代的最佳实践。企业在选择多个引擎时一定需要基于“化繁为简”和“扬长避短”原则,比如 OushuDB 可以完全实现Hive、Presto、ClickHouse、HBase 等引擎的功能,引入 OushuDB 后就不需要再依赖这些引擎,这样可以极大简化系统开发和运维的复杂度。Flink 擅长流处理,就使用 Flink 做流处理,而不是使用 Flink 来做 SQL 查询,Spark 擅长做机器学习,就使用 Spark 做机器学习,而不是使用 Spark 来做流处理和 SQL 查询。Hive 查询慢,就不必再保留 Hive,可以使用 OushuDB 取代。


开放的“一数多擎”
带来哪些价值?

●首先就是开放本身的价值,开放直接解决了当前数据平台在AI模型训练和实时数据处理过程中多份数据造成的数据冗余和数据不一致。同时,开放的格式让湖仓一体很容易获得最优的 SQL 引擎、ETL、流处理引擎和机器学习引擎的支持。●其次,一份数据整合了非结构化数据和结构化数据存储,图像、文本可以直接用于 AI 模型训练,结构化数据也无需被多次读取、复制和导出。●再次,“一数多擎”必然要求彻底的存算分离架构,让企业湖仓平台不受集群规模的限制,动态扩展集群规模。

● 另外,由于过往实时、离线数据处理链路极其冗长和复杂,造成数据建模、元数据管理、数据治理都难以高效的实施,“一数多擎”精简了不必要的引擎组件,整个架构变得简洁,既为数据建模、数据治理提供了平台基础,又让学习、开发和维护成本都大幅下降。


总结

IDC 调研显示,企业在数字化商业过程中更加关心利用数据和信息来创造自身竞争优势,因此实现底层统一的数据管理是进行上层资产管理和业务决策分析的关键。

以往,由于技术水平的制约和方案的局限性,我们难以实现底层统一的数据管理。因此,为了能用更丰富的数据源训练AI模型,我们以极高的代价将数仓的数据导出;为了实现实时数据处理,我们不惜选择冗长的数据处理链路,造成多份数据和多个计算引擎烟囱林立。

于是才有了我们现在讨论的问题及对应总结出的方案:基于开放的数据格式,存储一份数据,避免数据冗余,有针对性的精选优势引擎组件,通过具备“一数多擎”架构的实时湖仓方案,我们可以同时解决 AI 和实时数据处理在过去所面临的困境,逐步形成完整的企业数智生态。

相关文章:

大模型、实时需求推动湖仓平台走向开放

大模型、实时需求高涨 AGI 时代,以 ChatGPT、Midjourney 等为代表的大模型迅速应用加速了 AI 普及,越来越多的企业选择搭建自己的 AI 基础设施,训练行业大模型。 另一方面,企业为了在瞬息万变的市场环境中更快的做出商业决策&…...

Linux搭建文件服务器

搭建简单文件服务器 基于centos7.9搭建http文件服务器基于centos7.9搭建nginx文件服务器基于ubuntu2204搭建http文件服务器 IP环境192.168.200.100VMware17 基于centos7.9搭建http文件服务器 安装httpd [rootlocalhost ~]# yum install -y httpd关闭防火墙以及selinux [roo…...

跨境商城源码可以支持多种支付方式吗?

跨境商城源码是一种用于建立跨国界电商平台的程序代码。随着全球电商的繁荣发展,越来越多的商家开始寻找一种既安全可靠,又能满足用户需求的支付方式。那么,跨境商城源码是否能够支持多种支付方式呢?让我们深入探讨一下。 1. 支付宝支付 支付…...

机器学习中的核方法

一、说明 线性模型很棒,因为它们易于理解且易于优化。他们受苦是因为他们只能学习非常简单的决策边界。神经网络可以学习更复杂的决策边界,但失去了线性模型良好的凸性特性。 使线性模型表现出非线性的一种方法是转换输入。例如,通过添加特征…...

搜索问答技术学习:基于知识图谱+基于搜索和机器阅读理解(MRC)

目录 一、问答系统应用分析 二、搜索问答技术与系统 (一)需求和信息分析 问答需求类型 多样的数据源 文本组织形态 (二)主要问答技术介绍 发展和成熟度分析 重点问答技术基础:KBQA和DeepQA KBQA(…...

LeetCode2409——统计共同度过的日子数

博主的解法过于冗长,是一直对着不同的案例debug修改出来的,不建议学习。虽然提交成功了,但是自己最后都不知道写的是啥了哈哈哈。 package keepcoding.leetcode.leetcode2409; /*Alice 和 Bob 计划分别去罗马开会。给你四个字符串 arriveA…...

【MyBatisPlus】快速入门、常用注解、常用配置

🐌个人主页: 🐌 叶落闲庭 💨我的专栏:💨 c语言 数据结构 javaEE 操作系统 Redis 石可破也,而不可夺坚;丹可磨也,而不可夺赤。 MyBatisPlus 一、快速入门1.1 引入MyBatisP…...

【USRP】通信之:光通信

光通信: 光通信是使用光信号(通常是红外或可见光信号)在光纤或空气中传输信息的技术。由于光信号的特性,光通信具有非常高的数据传输率和长距离传输能力。以下是光通信的一些关键组件和概念: 光纤: 是由非常纯净的玻璃…...

bpf对内核的观测

目录 1 bpftrace常用命令1.1 列出bpftrace 相关命令的list1. 2bpftrace -e 是执行1.3 查看参数 -lv 2 bpftrace 可以用到的变量3 高级3.1 内置函数3.2 文件系统3.3 内核内存 栈3.4 Malloc 调用 统计3.5 系统调用 brk 的 统计3.6 脚本调用 4 应用5 怎么串联起来呢 bpftrace 总的…...

Tiktok shop api 调试

记录一下调试Tiktok shop api 踩坑记录。 主要是在按官网api上规则和加密生成sign时候一直通不过的问题: 官网地址:https://partner.tiktokshop.com/doc/page/63fd743e715d622a338c4eab 直接贴代码了 import lombok.extern.slf4j.Slf4j;import javax.cr…...

QFSFileEngine::open: No file name specified解决方案

问题 使用QFile类进行文件操作时,报错QFSFileEngine::open: No file name specified。 原因 QFile::open: No file name specified是Qt中的一个错误消息,提示没有指定文件名导致文件无法打开。这个错误通常出现在使用QFile::open()函数时没有提供有效…...

Flappy bird项目

一、功能分析 1、小鸟自动向右滑行 2、按下空格小鸟上升,不按下落 3、显示小鸟需要穿过的管道 4、管道自动左移和创建 5、小鸟和管道碰撞,游戏结束 6、技术 7、 项目框图 8、Ncurses 1)创建窗口界面,移动光标,产…...

高校教务系统登录页面JS分析——西安科技大学

高校教务系统密码加密逻辑及JS逆向 本文将介绍高校教务系统的密码加密逻辑以及使用JavaScript进行逆向分析的过程。通过本文,你将了解到密码加密的基本概念、常用加密算法以及如何通过逆向分析来破解密码。 本文仅供交流学习,勿用于非法用途。 一、密码加…...

Mysql 事务的实现原理

Mysql 里面的事务,满足 ACID 特性,所以Mysql 的事务实现原理,就是InnoDB 是如何保证 ACID 特性的。 ACID A 表示 Atomic 原子性,也就是需要保证多个 DML 操作是原子的,要么都成功,要么都失败。那么&#xf…...

使用vscode搭建虚拟机

首先vscode插件安装 名称: Remote - SSH ID: ms-vscode-remote.remote-ssh 说明: Open any folder on a remote machine using SSH and take advantage of VS Codes full feature set. 版本: 0.51.0 VS Marketplace 链接: https://marketplace.visualstudio.com/items?it…...

C# 使用 LibUsbDotNet 实现 USB 设备检测

国庆节回来后的工作内容,基本都在围绕着各种各样的硬件展开,这无疑让本就漫长的 “七天班” ,更加平添了三分枯燥,我甚至在不知不觉中学会了,如何给打印机装上不同尺寸的纸张。华为的 Mate 60 发布以后,人群…...

系统安全分析与设计

系统安全分析与设计(2分) 内容提要 对称加密与非对称加密 加密技术与认证技术 加密技术(只能防止第三方窃听) 讲解地址:对称加密与非对称加密_哔哩哔哩_bilibili 认证技术 骚戴理解:数字签名是用私钥签名…...

UE4 AI群集实现

逻辑就不用说了,就是计算对应图形位置让每个Pawn移动到该位置 因为有时候AI与AI会卡住 所以加上这个Bool为true,以及设置两个AI之间至少隔的距离,设置在一个合理的参数即可 有时候AI群集,AI与AI会比较紧密,可以将Caps…...

机器学习---CNN(创建和训练一个卷积神经网络并评估其性能)下

import numpy as np import matplotlib.pyplot as plt from cnn_operations import cnn_operations as cnn_opr convolutional_neural_network模块: 1. 卷积神经网络类 def __init__(self):# 网络的层数self.n_layers 0# list,网络中的各层self.layers…...

2021-arxiv-Prefix-Tuning- Optimizing Continuous Prompts for Generation

2021-arxiv-Prefix-Tuning- Optimizing Continuous Prompts for Generation Paper:https://arxiv.org/pdf/2101.00190.pdf Code:https://github.com/XiangLi1999/PrefixTuning 前缀调优:优化生成的连续提示 prefix-tunning 的基本思想也是想…...

大数据学习栈记——Neo4j的安装与使用

本文介绍图数据库Neofj的安装与使用,操作系统:Ubuntu24.04,Neofj版本:2025.04.0。 Apt安装 Neofj可以进行官网安装:Neo4j Deployment Center - Graph Database & Analytics 我这里安装是添加软件源的方法 最新版…...

django filter 统计数量 按属性去重

在Django中,如果你想要根据某个属性对查询集进行去重并统计数量,你可以使用values()方法配合annotate()方法来实现。这里有两种常见的方法来完成这个需求: 方法1:使用annotate()和Count 假设你有一个模型Item,并且你想…...

多模态商品数据接口:融合图像、语音与文字的下一代商品详情体验

一、多模态商品数据接口的技术架构 (一)多模态数据融合引擎 跨模态语义对齐 通过Transformer架构实现图像、语音、文字的语义关联。例如,当用户上传一张“蓝色连衣裙”的图片时,接口可自动提取图像中的颜色(RGB值&…...

spring:实例工厂方法获取bean

spring处理使用静态工厂方法获取bean实例,也可以通过实例工厂方法获取bean实例。 实例工厂方法步骤如下: 定义实例工厂类(Java代码),定义实例工厂(xml),定义调用实例工厂&#xff…...

【开发技术】.Net使用FFmpeg视频特定帧上绘制内容

目录 一、目的 二、解决方案 2.1 什么是FFmpeg 2.2 FFmpeg主要功能 2.3 使用Xabe.FFmpeg调用FFmpeg功能 2.4 使用 FFmpeg 的 drawbox 滤镜来绘制 ROI 三、总结 一、目的 当前市场上有很多目标检测智能识别的相关算法,当前调用一个医疗行业的AI识别算法后返回…...

Python Ovito统计金刚石结构数量

大家好,我是小马老师。 本文介绍python ovito方法统计金刚石结构的方法。 Ovito Identify diamond structure命令可以识别和统计金刚石结构,但是无法直接输出结构的变化情况。 本文使用python调用ovito包的方法,可以持续统计各步的金刚石结构,具体代码如下: from ovito…...

RabbitMQ入门4.1.0版本(基于java、SpringBoot操作)

RabbitMQ 一、RabbitMQ概述 RabbitMQ RabbitMQ最初由LShift和CohesiveFT于2007年开发,后来由Pivotal Software Inc.(现为VMware子公司)接管。RabbitMQ 是一个开源的消息代理和队列服务器,用 Erlang 语言编写。广泛应用于各种分布…...

LRU 缓存机制详解与实现(Java版) + 力扣解决

📌 LRU 缓存机制详解与实现(Java版) 一、📖 问题背景 在日常开发中,我们经常会使用 缓存(Cache) 来提升性能。但由于内存有限,缓存不可能无限增长,于是需要策略决定&am…...

Chrome 浏览器前端与客户端双向通信实战

Chrome 前端(即页面 JS / Web UI)与客户端(C 后端)的交互机制,是 Chromium 架构中非常核心的一环。下面我将按常见场景,从通道、流程、技术栈几个角度做一套完整的分析,特别适合你这种在分析和改…...

Elastic 获得 AWS 教育 ISV 合作伙伴资质,进一步增强教育解决方案产品组合

作者:来自 Elastic Udayasimha Theepireddy (Uday), Brian Bergholm, Marianna Jonsdottir 通过搜索 AI 和云创新推动教育领域的数字化转型。 我们非常高兴地宣布,Elastic 已获得 AWS 教育 ISV 合作伙伴资质。这一重要认证表明,Elastic 作为 …...