写点什么

谷歌云为 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:029883

评论

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

架构师训练营大作业一

子豪sirius

正则表达式

菜鸟小sailor 🐕

爬虫

为什么很多人不买iPhone?

北柯

第一周学习总结

Geek_Albert

【高并发】面试官:说说缓存最关心的问题?有哪些类型?回收策略和算法?

冰河

缓存 面试 引用 offer 回收

物流系统架构设计文档

莫莫大人

极客大学架构师训练营

全屋智能2020第十三届(南京)国际智能家居展览会

InfoQ_caf7dbb9aa8a

JDK15正式发布,新增功能预览!

王磊

Java

【高并发】面试官:Java中提供了synchronized,为什么还要提供Lock呢?

冰河

Java synchronized 同步 lock 锁机制

配置时间特性

小知识点

大数据 flink scal

甲方日常 16

句子

随笔杂谈

升级Php Curl扩展遇到的坑

心平气和

php curl php扩展

oeasy教您玩转linux 010216 随机诗词 fortunezh

o

招商2020第十三届(南京)智慧城市技术与应用产品展览会

InfoQ_caf7dbb9aa8a

python——dict常用方法

菜鸟小sailor 🐕

JDK15真的来了,一起来看看它的新特性

程序那些事

Java JDK15 JDK15新特性 java15新特性

Docker Swarm 集群管理利器核心概念扫盲

哈喽沃德先生

Docker Docker Swarm 容器

宁静的可贵

谷鱼

宁静

快讯2020第十三届亚洲国际物联网展览会-南京站

InfoQ_caf7dbb9aa8a

关于手机里的IP地址,你不得不知道的“秘密”

脑极体

架构师训练营 - 大作业(二)

张明森

我擦~字符串转字节切片后,切片的容量竟然千奇百怪

Gopher指北

后端 Go 语言

关于java使用JDBC连接数据库

谷鱼

Java JDBC

拓扑排序就这么回事

小齐本齐

数据结构 算法 数据结构和算法

windows平台python3使用impyla连接hive问题汇总

誓约·追光者

hive python3.x Windows 10

食堂就餐卡系统设计

Geek_Albert

食堂就餐卡系统设计

Spring 5 中文解析数据存储篇-理解Spring事物抽象

青年IT男

Spring5 数据存储

共享内存原理与VCS监控采集实战

vivo互联网技术

监控 中间件 架构设计 数据采集 埋点

手写一个抖音视频去水印工具,千万别刚一个程序员

程序员小富

Java springboot

网上赌博输了怎么办?上岸戒赌是唯一的选择

jdxj

网上赌博输了怎么办 网上赌博玩快三输了怎办 网上玩快三输了怎么回血 网赌输了怎么戒赌

IP网络

菜鸟小sailor 🐕

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