写点什么

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

评论

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

网络攻防学习笔记 Day44

穿过生命散发芬芳

网络攻防 6月日更

常用消息队列对比

看山

MQ 6月日更

架构设计初识

编号94530

架构 系统设计 架构师

经济金融的数字化转型并没有消除风险,风险反而更加复杂

CECBC

(VMware)ubuntu 环境下搭建docker环境

逸少

Docker Docker-compose vmware Ubuntu20.04

算法之统计岛屿数量

Skysper

算法 深度优先搜索

架构实战营模块6作业

梦寐凯旋

#架构实战营

这可能是介绍Android UvcCamera最详细的文章了

小驰笔记

android 音视频 UvcCamera 引航计划

【Flutter 专题】104 图解自定义 ACEDropdownButton 下拉框

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 6月日更

代码操作中经常使用到设计模式之单例模式

良知犹存

设计模式

Redis - 哨兵

旺仔大菜包

redis sentinel

【译】Chrome 90 DevTools 中的新特性

KooFE

Chrome开发者工具 6月日更

ES2021 带来的新特性

KooFE

JavaScript 6月日更 ES2021

[译] Android 的 Java 8 支持

Antway

6月日更

JAVA笔记(一)--软件安装-MyEclipse

加百利

Java 6月日更

🌏【架构师指南】带你全面认识实现"三高"架构设计方案

洛神灬殇

架构师 高并发系统设计 架构师技能 6月日更

区块链具有美学特征

CECBC

LeetCode 每日一题「判定字符是否唯一」

陈皮的JavaLib

Java 算法 LeetCode

我在Dubbo源码里学到了如何保证虚拟节点均匀分布!

Kareza

dubbo dubbo源码

2020年度编程语言排行榜 C语言称霸,Java遭遇滑铁卢?

架构精进之路

编程语言 6月日更

setInterval 和 hooks 撞在一起,翻车了~

Viktor

踩坑经历 React Hooks

请求背后的守护者-拦截器

卢卡多多

SpringBoot 2 拦截器 请求拦截 6月日更

几行代码带你彻底搞懂Java内部类

若尘

java编程 6月日更

🏆【声网Agora】「Linux系统下实时音视频流速提升实现」

洛神灬殇

RTC 6月日更

拆分电商系统为微服务

chenmin

聊聊缓存模式

西门

CSS技巧 | 前端开发需要知道的 10 个 CSS 技巧

devpoint

CSS css3 CSS小技巧 6月日更

浅浅谈Redux

蛋先生DX

React Redux 6月日更

消息队列架构设计文档

chenmin

【Vue2.x 源码学习】第十三篇 - 生成 ast 语法树 - 正则说明

Brave

源码 vue2 6月日更

【21-6】PushGateway快速上手

耳东@Erdong

Prometheus 6月日更 PushGateway

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