Milvus 再上新!支持 Upsert、Kafka Connector、集成 Airbyte,助力高效数据流处理

a211d207ea914a25116e97b4f203c75a.png

Milvus 已支持 Upsert、 Kafka Connector、Airbyte!

在上周的文章中《登陆 Azure、发布新版本……Zilliz 昨夜今晨发生了什么?》,我们已经透露过 Milvus(Zilliz Cloud)为提高数据流处理效率, 先后支持了 Upsert、 Kafka Connector、Airbyte,而这些功能的作用都是简化数据处理和集成流程,为开发人员提供更高效的工具来管理复杂的数据,今天我们将向大家一一介绍。

01.

Upsert:简化数据更新流程

Upsert 功能上线以前,在 Milvus 中的更新数据需要两个步骤:删除数据,然后再插入新数据。虽然这种方法也可行,但无法确保数据原子性,且操作过于繁琐。Milvus 2.3 版本发布了全新的 Upsert 功能。(Zilliz Cloud 海外版也已上线 Upsert 功能 Beta版)。

可以说,Upsert 功能重新定义了数据更新和管理方式。使用 Upsert 时,Milvus 会判断数据是否已经存在。如果数据不存在则插入数据,如果已存在则更新数据。这种具有原子性的方法对 Milvus 这样单独管理插入和删除数据的系统中尤为重要。

Upsert 具体的顺序为:先插入数据,然后删除重复数据。这样可以确保了操作期间的数据仍然可见。

此外,Upsert 功能还特别考虑了修改主键的场景。在数据更新过程中无法更改主键列。这与 Milvus 根据主键哈希跨分片(shard)管理数据的原则一致。这种限制避免了跨 Shard 操作带来的复杂性和潜在的数据不一致性。

Upsert 使用方法简单,类似于插入操作。用户可以轻松将 Upsert 集成到现有的工作流程中,无需对原有流程进行大改。在 Pymilvus 等 SDK 中,Upsert 命令调用和插入命令完全一致。熟悉 Milvus 的用户使用起来没有任何难度,可以获得一致和丝滑的用户体验。

a37026ce2505270dead68d74c2d38b4e.png

执行命令时,Upsert 会提供关于操作成功与否以及受影响的数据的反馈,进一步增加了开发者的使用便利性。这种易于使用且稳定的功能能够助力数据管理。更多详情,请查看 Upsert 文档。

但是使用 Upsert 功能时还需要考虑以下两点:

  • AutoID 限制:使用 Upsert 功能的前提条件是将 AutoID 设置为 false。如果 Collection Schema 中将 AutoID 设置为 true,则无法执行 Upsert 操作。我们设置了这个限制的主要考量是,Upsert 也包含数据更新操作,更新的数据需要有新的主键值。如果用户提供的主键值与 AutoID 自动生成的主键值发生冲突,那可能会导致数据被覆盖。所以,已经开启了 AutoID 的 Collection 不可使用 Upsert 功能。后续新版本中我们可能会取消这一限制。

  • 性能开销:Upsert 可能会导致性能成本。Milvus 使用 WAL 架构,过多删除操作可能会导致性能下滑。Milvus 中的删除操作不会立即清除数据,而是为数据打上删除标记。随后在数据压缩过程中才会根据这些标记真正清除数据。因此,频繁的删除操作可能会导致数据膨胀,影响性能。我们建议不要太过于频繁地使用 Upsert 功能,以确保最佳性能。

02.

Kafka Connector:赋能实时数据处理

近期,Milvus 和 Zilliz Cloud 接入了 Kafka Sink Connector,向量数据可以无缝丝滑地通过 Confluent/Kafka 实时导入 Milvus 或 Zilliz Cloud 向量数据库中。本次集成能够进一步释放向量数据库潜能,助力实时生成式 AI 应用,尤其是使用 OpenAI GPT-4 这种大模型的场景。

如今,我们所获取的信息中,非结构化数据已占据 80% 以上,且这类数据还在呈爆炸式增长。Zilliz 与 Confluent 的合作标志着非结构化数据管理和分析的重大进步,我们能够更高效存储、处理实时向量数据流,将其转化为易于搜索的数据。

Kafka Connector + Milvus / Zilliz Cloud 的常见用例包括:

  • 增强生成式 AI:为 GenAI 应用提供最新的向量数据,从而确保生成的准确性和及时性。这两点对于金融和媒体等领域尤为重要,因为都需要实时处理各种来源的流式数据。

  • 优化电商推荐系统:电商平台需要实时根据库存和客户行为动态调整其推荐商品或内容以提升用户体验。

在 Zilliz Cloud 中使用 Kafka Connector 的步骤也十分简单:

  • 从 GitHub 或 Confluent Hub 下载 Kafka Sink Connector。

  • 配置 Confluent 和 Zilliz Cloud 账号。

  • 阅读在 GitHub 仓库中提供的指南并配置 Kafka Connector。

  • 运行 Kafka Connector,将实时流数据导入 Zilliz Cloud。

如需更深入了解如何设置 Kafka Connector 和相关用例,请前往 GitHub 仓库或访问此网页。

03.

集成 Airbyte:数据处理更高效

近期,Milvus 与 Airbyte 团队合作,在 Milvus 中集成 Airbyte,增强了大语言模型(LLM)和向量数据库中的数据获取和使用流程。本次集成能增强开发者存储、索引和搜索高维向量数据的能力,大大简化生成式聊天机器人和产品推荐等应用搭建流程。

本次集成的主要亮点包括:

  • 数据传输更高效:Airbyte 能够无缝将数据从各种来源传输到 Milvus 或 Zilliz Cloud,即时将数据转化为 Embedding 向量,简化了数据处理流程。

  • 搜索功能更强大:此次集成增强了向量数据库的语义搜索能力。基于 Embedding 向量,系统可以自动识别并搜索出语义相似性高的相关内容,能够为需要高效检索非结构化数据的应用赋能。

  • 设置过程更简单:设置 Milvus 集群和配置 Airbyte 同步数据的步骤十分简单。如果需要使用 Streamlit 和 OpenAI Embedding API 构建应用也是同样的设置步骤。

此次集成简化了数据传输和处理,释放实时 AI 应用的无限可能性。例如,在客户支持系统中,使用 Milvus 或 Zilliz Cloud 集成 Airbyte 可以创建基于语义搜索的智能技术支持工单系统,从而为用户提供即时、有用的信息,减少人工干预,提升用户体验。

Zilliz 始终致力于提升非结构化数据管理和处理能力和技术,本次推出的 Upsert、Kafka Connector、Airbyte 等工具的集成都展现了这一点。后续,我们将进一步优化数据获取和数据 Pipeline 功能,敬请期待!

推荐阅读

0fa9a98b94407179c1078a4468884827.jpeg

fad04bdceaffafef12bfc70752673086.png

f8db52b02f12cc8a31b069966ddcac5a.png

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

HostHunter虚拟主机发现

HostHunter虚拟主机发现 1.HostHunter2.安装3.参数解释4.实例1.HostHunter HostHunter 一种工具,用于有效发现和提取提供大量目标 IPv4 或 IPv6 地址的主机名。HostHunter 利用简单的 OSINT 和主动协调技术将 IP 目标与虚拟主机名进行映射。这对于发现组织的真正攻击面特别有…

[ROS2] --- ROS2安装

ROS2安装到Ubuntu2204系统中,安装步骤如下: 1 设置编码 $ sudo apt update && sudo apt install locales $ sudo locale-gen en_US en_US.UTF-8 $ sudo update-locale LC_ALLen_US.UTF-8 LANGen_US.UTF-8 $ export LANGen_US.UTF-82 添加源 $…

深入探讨网络抓取:如何使用 Scala 和 Dispatch 获取 LinkedIn 图片

网络抓取是一种从互联网上获取数据的技术,它可以用于各种目的,例如数据分析、信息检索、竞争情报等。网络抓取的过程通常包括以下几个步骤: 发送 HTTP 请求到目标网站解析响应的 HTML 文档提取所需的数据存储或处理数据 在本文中&#xff0…

从声纹模型到语音合成:音频处理 AI 技术前沿 | 开源专题 No.45

facebookresearch/audiocraft Stars: 16.6k License: MIT AudioCraft 是一个用于音频生成的 PyTorch 库。它包含了两个最先进的 AI 生成模型 (AudioGen 和 MusicGen) 的推理和训练代码,可以产生高质量音频。该项目还提供了其他功能: MusicGen&#xf…

MySQL语法回顾

数据库操作语言包括DDL、DML、DQL和DCL,分别用于定义、操作、查询和控制数据库。 DDL(Data Definition Language)数据定义语言: DDL用于定义数据库、表、列、索引、视图、存储过程、触发器等对象,包括CREATE、ALTER、…

golang之net/http模块学习

文章目录 开启服务开启访问静态文件获取现在时间按时间创建一个空的json文件按时间创建一个固定值的json文件 跨域请求处理输出是json 开启服务 package mainimport ("fmt""net/http" )//路由 func handler(w http.ResponseWriter, r *http.Request){fmt.…

通过网线连接的局域网电脑怎么实现上网功能

在机床里面的工控机有时候需要进行联网操作,但是又没有无线网或者外网网线,这时候可以通过笔记本的无线wifi功能实现上网功能. 通过网络适配器-找到wifi对应适配器-共享-1 打勾-2选中与工控机连接的网口-既可. 工控机端,将网口设置为自动获取IP

.NET Core6.0 MVC+layui+SqlSugar 简单增删改查

HTML部分: {ViewData["Title"] "用户列表"; } <!DOCTYPE html> <html> <head><meta charset"utf-8"><title>用户列表</title><meta name"renderer" content"webkit"><meta …

DevOps搭建(三)-Git安装详细步骤

前面两篇文章我们讲了如何安装swappiness安装和虚拟机。这篇我们详细讲下如何安装Git。 1、YUM源更改为阿里云镜像源 1.1、备份CentOS-Base.repo 先备份原有的 CentOS-Base.repo 文件 sudo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup…

C# 热键注册工具类

写在前面 介绍一个验证过的热键注册工具类&#xff0c;使用系统类库user32.dll中的RegisterHotkey函数来实现全局热键的注册。 代码实现 [Flags]public enum KeyModifiers{Alt 1,Control 2,Shift 4,Windows 8,NoRepeat 0x4000}public static class HotKeyHelper{[DllImp…

十五、机器学习进阶知识:K-Means聚类算法

文章目录 1、聚类概述2、K-Means聚类算法原理3、K-Means聚类实现3.1 基于SKlearn实现K-Means聚类3.2 自编写方式实现K-Means聚类 4、算法不足与解决思路4.1 存在的问题4.2 常见K值确定方法4.3 算法评估优化思路 1、聚类概述 聚类&#xff08;Clustering&#xff09;是指将不同…

菜鸟学习日记(python)——运算符

我们进行运算时&#xff0c;需要两类数据&#xff0c;操作数和运算符&#xff0c;例如&#xff1a;ab就是一个运算&#xff0c;它的操作数是a和b&#xff0c;运算符是‘’ 在python中运算符包括以下几大类&#xff1a; 算数运算符比较&#xff08;关系&#xff09;运算符赋值…

【云原生 | Docker】Docker核心概念 应用上手最佳流程

&#x1f935;‍♂️ 个人主页: AI_magician &#x1f4e1;主页地址&#xff1a; 作者简介&#xff1a;CSDN内容合伙人&#xff0c;全栈领域优质创作者。 &#x1f468;‍&#x1f4bb;景愿&#xff1a;旨在于能和更多的热爱计算机的伙伴一起成长&#xff01;&#xff01;&…

ubuntu 下载编译 opencv4.2.0并检验

如有帮助点赞收藏关注&#xff01; 如需转载&#xff0c;请注明出处&#xff01; ubuntu 的opencv4.2.0下载与编译 下载依赖开始编译安装配置OpenCV编译环境检验* 完成 下载 首先下载opencv源码网址&#xff1a; https://opencv.org/releases/page/3/ 下载成zip后&#xff0c;…

Linux常用快捷键

1. tab 键补全 1)当我们忘记了一些指令怎么写时&#xff0c;可以双击tab键&#xff0c;查看所有指令&#xff0c;显示出来后可以按enter键往下翻&#xff0c;想要取消命令可以按ctrl c。 2)知道开头怎么写&#xff0c;后面的忘了&#xff0c;也可以双击tab键查询开头排列的指令…

Liunx系统使用超详细(三)

本篇内容开始逐渐描述有关liunx的各种命令的使用方法&#xff01; 目录 一、目录和文件区别 1.1目录&#xff1a; 1.2文件&#xff1a; 1.3总结&#xff1a; 二、Linux命令的写法 三、linux命令清屏 四、pwd命令 五、ls命令 5.1 ls&#xff1a; 5.2 ls -l&#xff1a…

HTML CSS JavaScript的网页设计

一、网页界面效果&#xff1a; 二、HTML代码&#xff1a; <!DOCTYPE html> <!-- 声明文档类型--> <html lang"en"> …

代码随想录第二十一天(一刷C语言)|回溯算法组合

创作目的&#xff1a;为了方便自己后续复习重点&#xff0c;以及养成写博客的习惯。 一、回溯算法 1、种类 排列、组合、分割、子集、棋盘问题 2、回溯步骤 &#xff08;0&#xff09;回溯抽象 回溯法解决的问题均可以抽象为树形结构&#xff08;N叉树&#xff09; &…

acwing-Linux学习笔记

acwing-Linux课上的笔记 acwing-Linux网址 文章目录 1.1常用文件管理命令homework作业测评命令 2.1 简单的介绍tmux与vimvimhomeworktmux教程vim教程homework中的一些操作 3 shell语法概论注释变量默认变量数组expr命令read命令echo命令printf命令test命令与判断符号[]逻辑运算…

等保测评报价相差很大,里面有什么门道

等保测评报价的差异主要源于以下几点&#xff1a; 服务质量评估标准不同&#xff1a;不同的测评机构在测评过程中所提供的服务范围、深度、细节等方面可能存在差异&#xff0c;因此导致报价有所不同。一些机构可能提供全面且细致的测评服务&#xff0c;致力于提供高质量的等保测…