Redis 查询引擎的革新:多线程技术助力向量数据库性能飞跃
前言
在生成式 AI 应用快速发展的背景下,向量数据库的重要性日益凸显。
作为内存数据结构存储系统的领军者,Redis 近期推出了其增强版查询引擎,通过引入多线程技术,显著提升了查询吞吐量,同时保持了低延迟的特性。
这一创新不仅解决了传统单线程架构的瓶颈,还为实时检索增强生成(RAG)应用提供了强有力的支持。
多线程技术的突破
Redis 的传统单线程架构在处理复杂查询时存在明显的局限性,尤其是在数据量达到数亿个文档时,查询吞吐量会受到严重限制。
为了解决这一问题,Redis 引入了多线程技术,允许查询并发访问索引,从而实现垂直扩展。
这种设计使得 Redis 能够在保持低延迟的同时,大幅提升查询吞吐量。
新的架构采用了一个三步流程:
首先,查询上下文在主线程上准备并排队到共享队列;
然后,各线程从队列中取出任务并并发执行查询管道;
最后,查询结果被发送回主线程。
这种设计不仅提高了查询效率,还确保了主线程能够继续处理其他 Redis 命令,从而提升了整体系统的响应速度和可扩展性。
性能基准测试
为了验证新查询引擎的性能,Redis 进行了广泛的基准测试,并与三类向量数据库提供商进行了比较:纯向量数据库、具备向量功能的通用数据库和完全托管的内存 Redis 云服务提供商(CSP)。
测试结果显示,Redis 的升级查询引擎在速度和可扩展性上均优于纯向量数据库,同时在整体性能上显著超过通用数据库和完全托管的内存 Redis CSP。
测试涵盖了数据摄取和搜索工作负载。
在数据摄取方面,Redis 使用了分层可导航小世界(HNSW)算法和近似最近邻(ANN)搜索进行索引;
在查询方面,专注于 K 最近邻(k-NN)搜索,测量了每秒请求数(RPS)和平均客户端延迟。
测试数据集包括 gist-960-euclidean
、glove-100-angular
、deep-image-96-angular
和 dbpedia-openai-1M-angular
确保了测试的全面性和可靠性。
向量数据库市场的挑战与机遇
近年来,向量数据库市场迅速增长,众多新产品涌入市场。
然而,市场饱和也带来了新的挑战。
行业专家指出,新产品很难在众多选项中脱颖而出,找到独特的价值主张。
向量检索不再是问题,真正的挑战在于如何围绕向量检索构建综合解决方案,以应对 AI 驱动的数据检索中的更广泛挑战。
实时 RAG 应用的需求
生成式 AI 应用,如依赖实时 RAG 的聊天机器人,对向量数据库的性能提出了更高的要求。
为了满足这一需求,开发者必须重新思考数据架构,以构建接近 100 毫秒规则的实时生成式 AI 应用。
Redis 的新查询引擎通过提升查询吞吐量和降低延迟,为实时 RAG 应用提供了强有力的支持。
未来展望
Vectera 的 Ofer Mendelevitch 指出,虽然向量数据库的性能很重要,但它只是 AI 应用开发更大技术图景的一部分。
RisingWave Labs 创始人吴英骏则建议,与其投资新的向量数据库项目,不如集中精力在现有数据库上,并探索用向量引擎增强它们的机会。
Redis 通过增强其现有基础设施,为开发者提供了更加集成和高效的解决方案,有望在未来继续引领市场。
结论
Redis 的新查询引擎通过引入多线程技术,显著提升了查询吞吐量和系统可扩展性,为生成式 AI 应用提供了强有力的支持。
在向量数据库市场日益饱和的背景下,Redis 的创新不仅解决了传统架构的瓶颈,还为开发者提供了更加高效和集成的解决方案。
未来,随着 AI 技术的不断发展,Redis 有望继续在市场中保持领先地位。