主要观点:
- 向量数据库在过去两年迅速发展,有开源和托管选项,如 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 可复用大部分数据库运行工具,如灾难恢复、快照、复制等。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。