写点什么

谷歌云为 Valkey 和 Redis 集群的 Memorystore 添加了可扩展的向量搜索

作者:Mohit Palriwal

  • 2024-11-20
    北京
  • 本文字数:1613 字

    阅读完需:约 5 分钟

谷歌云为 Valkey 和 Redis 集群的 Memorystore 添加了可扩展的向量搜索

谷歌云(Google Cloud)为 Valkey 和 Redis 集群的 Memorystore 引入了可扩展的向量搜索功能。该更新允许开发人员以超低的延迟在数十亿个向量上执行向量搜索。


这种增强对于依赖于生成式人工智能的应用程序来说特别有益,例如检索增强生成(RAG)、推荐系统和语义搜索。


该更新利用了在集群中跨节点划分向量索引进行分区的能力。每个节点都包含一个索引分区,该分区与其键空间部分相对应,可使集群能够处理数十亿个向量,同时保持个位毫秒数的延迟和 99% 以上的召回率。这种架构不仅在添加节点时线性地加速了索引的构建时间,而且优化了搜索性能——对分层可导航小世界(hierarchical navigable small-world,HNSW)搜索进行对数优化,对暴力搜索进行线性优化。


开发人员可以使用这些新功能将他们的集群扩展到 250 个分片,在单个实例中存储数十亿个向量。这种可扩展性对于需要在大量数据集上执行语义搜索的企业应用程序来说至关重要。


除了可扩展性之外,此次更新还引入了对混合查询(Hybrid Query)的支持。混合查询使开发人员能够将向量搜索与数字和标签字段上的过滤器相结合。该功能对于基于特定条件微调搜索结果来说特别有用。例如,在线服装零售商可以使用混合搜索来推荐类似的商品,同时根据服装类型和价格范围过滤结果。


为了实现混合查询,开发人员可以创建一个新的向量索引,其中包含用于过滤的其他字段:


FT.CREATE inventory_index SCHEMA embedding VECTOR HNSW 6 DIM 128 TYPE FLOAT32 DISTANCE_METRIC L2 clothing_type TAG clothing_price_usd NUMERIC
复制代码


这将创建一个索引’investory_index’,其中包含一个向量字段’embedment’,用于服装条目的语义嵌入;一个标签字段“clothing_type”,用于服装类目表示(例如“连衣裙”或“帽子”);以及一个数字字段’clothing price_usd’,用于服装的价格表示。


要对“investory_index”执行混合查询,可执行如下操作:


FT.SEARCH inventory_index “(@clothing_type:{dress} @clothing_price_usd:[100-200])=>[KNN 10 @embedding $query_vector]“ PARAMS 2 query_vector “...” DIALECT 2
复制代码


该查询检索了 10 条结果,这些结果按服装类型为“连衣裙”、价格范围在 100-200 之间进行过滤,并结合了向量相似性搜索。


一些社区成员警告说,如果组织内尚未部署 Redis 的向量搜索技术,则不要采用该技术。例如,Reddit 上的 marr75 表示:


不过,更好的建议可能是坚持使用占主导地位的数据持久和查询技术。如果是 RediSearch,那就坚持用下去。如果不是,不要因为它的向量搜索支持而选择它,这很好,但不是同类中最好的或最先进的。


谷歌云还通过将其向量搜索功能捐赠给了 Valkey 键值数据存储,为开源社区做贡献。该计划旨在使 Valkey 的开发人员能够利用向量搜索来创建高级的生成式人工智能应用程序。


在谷歌最近发布的一篇公告博客中,SanjieMo 的首席分析师、前 Gartner 的副总裁 Sanjeev Mohan 分享了他对谷歌贡献的看法:


Valkey 对于继续推进社区主导的以提供功能丰富的开源数据库替代品的努力来说非常重要。在 Memorystore 中推出 Valkey 支持是谷歌致力于为用户提供真正开放且可访问的解决方案的又一例证。他们对 Valkey 的贡献不仅使寻求灵活性的开发人员受益,而且还加强了更广泛的开源生态系统。


快速和精确的向量搜索与电子商务等行业息息相关,在这些行业中,了解客户偏好并提供量身定制的建议可能会大有裨益。

作者介绍

Mohit Palriwal 是奈飞(Netflix)的高级软件工程师,也是 Netflix 可观测性团队的重要成员。Netflix Atlas 项目团队的一员,该项目是一个开源的多维时间序列数据库,旨在处理大规模需求。在加入 Netflix 之前,Mohit 是 Salesforce 的首席软件工程师,在那里他与人合作构建了 AWS 上的可观测云。Mohit 的经验还延伸到了亚马逊网络服务(AWS),在那里他花了四年多的时间开发并推出了基于无服务器架构的 AWS Pinpoint。


查看原文链接:

https://www.infoq.com/news/2024/10/vector-search-memorystore/

2024-11-20 08:029778

评论

发布
暂无评论
发现更多内容

浅谈AI机器学习及实践总结 | 社区征文

张浩_house

机器学习 数据工程 机器学习算法 新春征文

实战领域驱动设计开篇

worry

领域驱动设计 DDD 领域驱动 Domain Driven Design

基于 Kyma 的企业级云原生应用的扩展案例分享 | 社区征文

汪子熙

Kubernetes 云原生 新春征文 2月月更 Kyma

浅析PHP伪协议在CTF的应用

喀拉峻

网络安全

模块八作业

Geek_e6f7f6

架构实战营

阿里云张献涛:自主最强DPU神龙的秘诀

阿里云弹性计算

阿里云 神龙架构 DPU

裁员,降薪,大牛出走:AI大退却的始末缘由

脑极体

RTE2021 回顾丨实践中的摸爬滚打,AI OPS 落地之路

声网

人工智能 算法 Ops

第十节:SpringBoot中的日志管理

入门小站

spring-boot

验收测试驱动开发后记

Bruce Talk

敏捷 Agile User Story

DC系列靶机知识点总结

网络安全学海

网络安全 信息安全 渗透测试 WEB安全 安全漏洞

Linux系统编程-(pthread)线程通信(自旋锁)

DS小龙哥

自旋锁 2月月更

架构实战营模块二作业-微信朋友圈复杂度分析

炎彬

「架构实战营」

欧拉的奇异之旅·风暴来临与欧拉初诞

脑极体

电商直播选品该怎么做?有没有好用的工具?

优秀

带货 直播 低代码开发

Linux系统编程-Shell脚本基本使用(变量、运算符、语句等)

DS小龙哥

shell脚本编写 2月月更

网络安全kali渗透学习 web渗透入门 如何进行基于ping命令的探测

学神来啦

【架构训练营模块二作业】分析一下微信朋友圈的高性能复杂度

yhjhero

#架构训练营

基于云开发的健身房预约小程序平台

CC同学

Linux系统编程-(pthread)线程通信(信号量)

DS小龙哥

信号量 2月月更

Web Components 系列(五)—— 关于 Templates

编程三昧

前端 组件化 2月月更

区块链+体育发展提速 区块链球员数据系统预计上半年投入使用

CECBC

区块链通证经济:通往未来十年财富分配的新格局

CECBC

iOS开发·备战2022金三银四-runtime原理与实践: 消息转发详解篇

iOSer

ios runtime iOS面试 ios开发 金三银四跳槽

项目遇到突发问题,如何给上级做汇报?

石云升

项目管理 项目经理 2月月更

关于 docker-compose stop 和 docker-compose start 的误解

liuzhen007

容器 云服务 2月月更

玉米可流转数字仓单标准的落地 将加速行业的资产数字化进程

CECBC

Kotlin语法手册(一)

寻找生命中的美好

android kotin

在线ASCII Banner艺术字生成工具

入门小站

工具

Web Components 系列—— 详解 Slots

CRMEB

Apache APISIX 存在改写 X-REAL-IP header 的风险公告(CVE-2022-24112)

API7.ai 技术团队

IP 漏洞 Apache APISIX APISIX 网关

谷歌云为 Valkey 和 Redis 集群的 Memorystore 添加了可扩展的向量搜索_Google_InfoQ精选文章