你真的需要一个向量搜索数据库吗?

主要观点:

  • 向量数据库在过去两年迅速发展,有开源和托管选项,如 Pinecone、Milvus、Qdrant 和 Weaviate 等,声称比传统搜索平台更具规模、灵活性和速度。
  • 设计 AI 检索系统时从基本原则出发,研究表明 Elasticsearch 在性能、成本、可操作性和长期可维护性之间达到了平衡,适合需求。
  • 分享了从内存检索到使用 Elasticsearch 的演进过程,包括初始系统的优缺点、需求和约束、对各种数据库的评估、基准测试、选择 Elasticsearch 的原因以及生产结果等。
  • 迁移到 Elasticsearch 带来了客户响应时间的改善,系统能吸收 10 倍的客户数据量和查询流量,且所有操作实践都基于之前的 Elasticsearch 经验。
  • 总结选择工具或基础设施的原则,如利用团队已有的知识、考虑权衡、不低估非基础设施成本等。

关键信息:

  • 初始系统为内存检索,存在 S3 下载和反序列化时间导致请求延迟的问题。
  • 设定的约束包括规模(1 亿以上 768 维嵌入)、成本、过滤支持等。
  • 评估了多种数据库,最终选择 Elasticsearch 是因为其运营熟悉度、可靠性、基础设施成本低、上线成本低、主题专业知识、可过滤混合搜索和未来可迁移到近似 KNN 等。
  • 生产结果显示规模远超预期,成本、索引、搜索等指标良好,且客户响应时间大幅改善,系统能应对大量数据和流量。
  • 具体架构包括数据节点、索引设置、摄入和查询方式等。

重要细节:

  • Elasticsearch 夜间向量搜索基准测试结果在 100ms 到 200ms 之间,在 ANN-Benchmarks 中处于中间水平。
  • 实际嵌入数量约 6 亿,成本与其他供应商相比至少低 3 倍。
  • 迁移后所有客户平均响应时间改善约 25%,大客户改善约 56%。
  • 利用 Elasticsearch 可复用大部分数据库运行工具,如灾难恢复、快照、复制等。
阅读 19
0 条评论