Redis多线程技术助力向量数据库性能飞跃

Redis 查询引擎的革新:多线程技术助力向量数据库性能飞跃

前言

在生成式 AI 应用快速发展的背景下,向量数据库的重要性日益凸显。

作为内存数据结构存储系统的领军者,Redis 近期推出了其增强版查询引擎,通过引入多线程技术,显著提升了查询吞吐量,同时保持了低延迟的特性。

这一创新不仅解决了传统单线程架构的瓶颈,还为实时检索增强生成(RAG)应用提供了强有力的支持。

多线程技术的突破

Redis 的传统单线程架构在处理复杂查询时存在明显的局限性,尤其是在数据量达到数亿个文档时,查询吞吐量会受到严重限制。

为了解决这一问题,Redis 引入了多线程技术,允许查询并发访问索引,从而实现垂直扩展。

这种设计使得 Redis 能够在保持低延迟的同时,大幅提升查询吞吐量。

新的架构采用了一个三步流程:

首先,查询上下文在主线程上准备并排队到共享队列;

然后,各线程从队列中取出任务并并发执行查询管道;

最后,查询结果被发送回主线程。

这种设计不仅提高了查询效率,还确保了主线程能够继续处理其他 Redis 命令,从而提升了整体系统的响应速度和可扩展性。

性能基准测试

为了验证新查询引擎的性能,Redis 进行了广泛的基准测试,并与三类向量数据库提供商进行了比较:纯向量数据库、具备向量功能的通用数据库和完全托管的内存 Redis 云服务提供商(CSP)。

测试结果显示,Redis 的升级查询引擎在速度和可扩展性上均优于纯向量数据库,同时在整体性能上显著超过通用数据库和完全托管的内存 Redis CSP。

测试涵盖了数据摄取和搜索工作负载。

在数据摄取方面,Redis 使用了分层可导航小世界(HNSW)算法和近似最近邻(ANN)搜索进行索引;

在查询方面,专注于 K 最近邻(k-NN)搜索,测量了每秒请求数(RPS)和平均客户端延迟。

测试数据集包括 gist-960-euclideanglove-100-angulardeep-image-96-angulardbpedia-openai-1M-angular

确保了测试的全面性和可靠性。

向量数据库市场的挑战与机遇

近年来,向量数据库市场迅速增长,众多新产品涌入市场。

然而,市场饱和也带来了新的挑战。

行业专家指出,新产品很难在众多选项中脱颖而出,找到独特的价值主张。

向量检索不再是问题,真正的挑战在于如何围绕向量检索构建综合解决方案,以应对 AI 驱动的数据检索中的更广泛挑战。

实时 RAG 应用的需求

生成式 AI 应用,如依赖实时 RAG 的聊天机器人,对向量数据库的性能提出了更高的要求。

为了满足这一需求,开发者必须重新思考数据架构,以构建接近 100 毫秒规则的实时生成式 AI 应用。

Redis 的新查询引擎通过提升查询吞吐量和降低延迟,为实时 RAG 应用提供了强有力的支持。

未来展望

Vectera 的 Ofer Mendelevitch 指出,虽然向量数据库的性能很重要,但它只是 AI 应用开发更大技术图景的一部分。

RisingWave Labs 创始人吴英骏则建议,与其投资新的向量数据库项目,不如集中精力在现有数据库上,并探索用向量引擎增强它们的机会。

Redis 通过增强其现有基础设施,为开发者提供了更加集成和高效的解决方案,有望在未来继续引领市场。

结论

Redis 的新查询引擎通过引入多线程技术,显著提升了查询吞吐量和系统可扩展性,为生成式 AI 应用提供了强有力的支持。

在向量数据库市场日益饱和的背景下,Redis 的创新不仅解决了传统架构的瓶颈,还为开发者提供了更加高效和集成的解决方案。

未来,随着 AI 技术的不断发展,Redis 有望继续在市场中保持领先地位。

相关推荐
陈阿土i3 小时前
SpringAI 1.0.0 正式版——利用Redis存储会话(ChatMemory)
java·redis·ai·springai
bing_1583 小时前
跨多个微服务使用 Redis 共享数据时,如何管理数据一致性?
redis·微服务·mybatis
寒山李白4 小时前
MySQL安装与配置详细讲解
数据库·mysql·配置安装
不凡的凡4 小时前
鸿蒙图片缓存(一)
缓存
多多*4 小时前
微服务网关SpringCloudGateway+SaToken鉴权
linux·开发语言·redis·python·sql·log4j·bootstrap
文牧之4 小时前
PostgreSQL 的扩展pg_freespacemap
运维·数据库·postgresql
deriva5 小时前
某水表量每15分钟一报,然后某天示数清0了,重新报示值了 ,如何写sql 计算每日水量
数据库·sql
HAPPY酷5 小时前
Kafka 和Redis 在系统架构中的位置
redis·kafka·系统架构
Leo.yuan6 小时前
数据库同步是什么意思?数据库架构有哪些?
大数据·数据库·oracle·数据分析·数据库架构
Kookoos6 小时前
ABP VNext 与 Neo4j:构建基于图数据库的高效关系查询
数据库·c#·.net·neo4j·abp vnext