随着人工智能驱动的应用程序从实验转向实时生产系统,对矢量相似性搜索的期望继续大幅上升,团队现在需要支持数十亿美元的数据集,高同步性,严格的p99延迟预算,以及降低架构负担而不是增加的操作简单程度。 ScyllaDB Vector Search 是用这些限制来构建的,它提供了一个统一的引擎来存储结构化数据,以及非结构化嵌入,它实现了超越管理数据库系统在规模上可提供的极限的性能。 建筑在一眼 为了在大规模的矢量集中实现低单毫秒性能,ScyllaDB采用了一个架构,将存储和索引责任分开,同时保持系统从用户的角度统一。ScyllaDB节点在同一分布式表中存储结构性属性和矢量嵌入。同时,一个专用的Vector Store服务 – 部署在Rust和由USearch引擎支持,优化以支持ScyllaDB的可预测的单位毫秒延迟 – 通过CDC从ScyllaDB消耗更新,并在内存中构建近邻(ANN)索引。 SELECT … ORDER BY vector_column ANN_OF ? LIMIT k; 然后,它们被内部路由到Vector Store,该商店执行相似性搜索并返回候选行. 此设计允许每个层独立扩展,优化其自己的工作负载特性,并消除资源干扰。 百万维克tor的基准 为了评估现实世界的性能,ScyllaDB 运行了 使用可供公众使用的 yandex-deep_1b 数据集,其中包含 96 个维度的 1 亿个矢量。设置包括六个节点:在 i4i.16xlarge 实例上运行的三个 ScyllaDB 节点,每个节点都配有 64 个 vCPU,以及在 r7i.48xlarge 实例上运行的三个 Vector Store 节点,每个节点都配有 192 个 vCPU。 严格的基准 完整的建筑深度潜水,包括图表,性能交换和更高维度数据集的扩展基准结果,可以在技术博客文章中找到。 这些额外的结果遵循了96维测试中看到的相同模式:异常低的延迟,高输出和稳定性在广泛的同时负载配置文件。 构建 ScyllaDB 的低延迟矢量搜索引擎 构建 ScyllaDB 的低延迟矢量搜索引擎 场景 # 1 - 超低延迟与中等回忆 第一个场景是为推荐引擎和实时个性化系统等工作负载设计的,其中主要的目标是极低的延迟,召回可以适度放松,我们使用索引参数m = 16,ef-construction = 128,ef-search = 64和Euclidean距离。 在大约70%的召回和30次同时搜索的情况下,该系统保持了p99延迟只有 1.7 毫秒和p50 只有 1.2 毫秒,同时支持每秒 25,000 个查询。 在扩展输出窗口时(仍然保持p99延迟低于10毫秒),集群达到60,000 QPS for k = 100 with a p50 latency of 4.5毫秒,和252,000 QPS for k = 10 with a p50 latency of 2.2毫秒。 场景 #2 — 高回忆率与略高延迟 第二个场景针对需要近乎完美的召回的系统,包括高可靠性语义搜索和检索增加的生成管道. 在这里,索引参数显著增加到m = 64、ef-construction = 512和ef-search = 512。 随着 50 次同时搜索和召回接近 98%,ScyllaDB 保持 p99 延迟低于 12 毫秒,p50 约为 8 毫秒,同时提供 6500 QPS. 当将焦点转移到最大持续的输出量,同时保持 p99 延迟低于 20 毫秒和 p50 低于 10 毫秒时,系统达到了 16,600 QPS。 详细结果 下表概述了一些代表性的同步水平的结果。 统一的矢量搜索没有复杂性 将 Vector Search 与 ScyllaDB 集成的一大优点是,它提供了显著的性能和网络成本优势。 Vector Store 靠近数据,在同一个可用性区域中仅有一次网络跳跃与嵌入式存储之间的跳跃。这个位置,与 ScyllaDB 的零部件核心执行模型相结合,使系统能够提供实时延迟和巨大的输出量,即使在负荷下。 除了快速的规模外,ScyllaDB 的 Vector Search 也更容易操作,其主要优点是它能够在单一数据集中统一结构化和非结构化检索的能力,这意味着您可以将传统属性和矢量嵌入一起存储,并表达将语义搜索与常规搜索相结合的查询。例如,您可以要求数据库“找到五大最相似的文档,但只有属于该特定客户的文档,并且在过去 30 天内创建”。 这也意味着没有ETL流动和没有双写风险,而不是将嵌入物发送到单独的矢量数据库,同时在交易存储中保留元数据,ScyllaDB将一切整合到一个系统中。 ScyllaDB在操作上简化了整个检索堆栈,因为它是建立在ScyllaDB的经过验证的分布式架构之上,该系统高度可用,可横向扩展,在可用区和区域之间具有弹性,而不是运行两个或三个不同的技术 - 每个都有自己的监控,安全配置和故障模式 - 您只能管理一个。 路线图 该产品现在处于一般可用性阶段,包括云门户配置、按需计费、全方位的实例类型以及额外的性能优化。计划在第一季度进行自助扩展,到第一季度结束时,我们将引入原生过滤功能,允许矢量搜索查询将ANN结果与传统的预测相结合,从而实现更精确的混合检索。 展望未来,路线图包括支持尺度和二进制量化以减少内存使用,TTL功能用于矢量数据的生命周期自动化,以及结合ANN与BM25的综合混合搜索,以实现统一的语法和语义相关性。 结论 ScyllaDB 已经证明,它能够在大规模范围内提供业界领先的矢量搜索性能,处理 1 亿个矢量数据集, p99 延迟低达 1.7 毫秒,传输量高达 252,000 QPS. 这些结果验证了 ScyllaDB 矢量搜索作为一个统一的高性能解决方案,通过组合结构化数据和非结构化嵌入来简化实时 AI 应用程序的操作复杂性。 随着即将到来的路线图中计划的改进,包括规模量化和切割,这些性能限制将在明年增加,然而,即使现在,该功能也已准备好运行延迟关键工作负载,如欺诈检测或推荐系统。