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

本文主要是介绍支持Upsert、Kafka Connector、集成Airbyte,Milvus助力高效数据流处理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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 的用户使用起来没有任何难度,可以获得一致和丝滑的用户体验。

alt

执行命令时,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 功能,敬请期待!

本文由 mdnice 多平台发布

这篇关于支持Upsert、Kafka Connector、集成Airbyte,Milvus助力高效数据流处理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/446727

相关文章

Debezium 与 Apache Kafka 的集成方式步骤详解

《Debezium与ApacheKafka的集成方式步骤详解》本文详细介绍了如何将Debezium与ApacheKafka集成,包括集成概述、步骤、注意事项等,通过KafkaConnect,D... 目录一、集成概述二、集成步骤1. 准备 Kafka 环境2. 配置 Kafka Connect3. 安装 D

Spring AI集成DeepSeek的详细步骤

《SpringAI集成DeepSeek的详细步骤》DeepSeek作为一款卓越的国产AI模型,越来越多的公司考虑在自己的应用中集成,对于Java应用来说,我们可以借助SpringAI集成DeepSe... 目录DeepSeek 介绍Spring AI 是什么?1、环境准备2、构建项目2.1、pom依赖2.2

定价129元!支持双频 Wi-Fi 5的华为AX1路由器发布

《定价129元!支持双频Wi-Fi5的华为AX1路由器发布》华为上周推出了其最新的入门级Wi-Fi5路由器——华为路由AX1,建议零售价129元,这款路由器配置如何?详细请看下文介... 华为 Wi-Fi 5 路由 AX1 已正式开售,新品支持双频 1200 兆、配有四个千兆网口、提供可视化智能诊断功能,建

轻松上手MYSQL之JSON函数实现高效数据查询与操作

《轻松上手MYSQL之JSON函数实现高效数据查询与操作》:本文主要介绍轻松上手MYSQL之JSON函数实现高效数据查询与操作的相关资料,MySQL提供了多个JSON函数,用于处理和查询JSON数... 目录一、jsON_EXTRACT 提取指定数据二、JSON_UNQUOTE 取消双引号三、JSON_KE

使用C++将处理后的信号保存为PNG和TIFF格式

《使用C++将处理后的信号保存为PNG和TIFF格式》在信号处理领域,我们常常需要将处理结果以图像的形式保存下来,方便后续分析和展示,C++提供了多种库来处理图像数据,本文将介绍如何使用stb_ima... 目录1. PNG格式保存使用stb_imagephp_write库1.1 安装和包含库1.2 代码解

Tomcat高效部署与性能优化方式

《Tomcat高效部署与性能优化方式》本文介绍了如何高效部署Tomcat并进行性能优化,以确保Web应用的稳定运行和高效响应,高效部署包括环境准备、安装Tomcat、配置Tomcat、部署应用和启动T... 目录Tomcat高效部署与性能优化一、引言二、Tomcat高效部署三、Tomcat性能优化总结Tom

Python利用自带模块实现屏幕像素高效操作

《Python利用自带模块实现屏幕像素高效操作》这篇文章主要为大家详细介绍了Python如何利用自带模块实现屏幕像素高效操作,文中的示例代码讲解详,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1、获取屏幕放缩比例2、获取屏幕指定坐标处像素颜色3、一个简单的使用案例4、总结1、获取屏幕放缩比例from

C#使用DeepSeek API实现自然语言处理,文本分类和情感分析

《C#使用DeepSeekAPI实现自然语言处理,文本分类和情感分析》在C#中使用DeepSeekAPI可以实现多种功能,例如自然语言处理、文本分类、情感分析等,本文主要为大家介绍了具体实现步骤,... 目录准备工作文本生成文本分类问答系统代码生成翻译功能文本摘要文本校对图像描述生成总结在C#中使用Deep

Spring Boot 整合 ShedLock 处理定时任务重复执行的问题小结

《SpringBoot整合ShedLock处理定时任务重复执行的问题小结》ShedLock是解决分布式系统中定时任务重复执行问题的Java库,通过在数据库中加锁,确保只有一个节点在指定时间执行... 目录前言什么是 ShedLock?ShedLock 的工作原理:定时任务重复执行China编程的问题使用 Shed

Redis如何使用zset处理排行榜和计数问题

《Redis如何使用zset处理排行榜和计数问题》Redis的ZSET数据结构非常适合处理排行榜和计数问题,它可以在高并发的点赞业务中高效地管理点赞的排名,并且由于ZSET的排序特性,可以轻松实现根据... 目录Redis使用zset处理排行榜和计数业务逻辑ZSET 数据结构优化高并发的点赞操作ZSET 结