
Perplexity 已构建内部键值数据库 CobbleDB,用于在其搜索基础设施中检索预处理网页数据,以替代 AWS DynamoDB。该公司透露,CobbleDB 由两名工程师与数百个持续运行的 AI 编程代理协作,在两个月内开发完成。
Perplexity CEO Aravind Srinivas 表示,迁移至该内部基础设施每年可为公司节省高达 1 亿美元的成本。尽管尚未公布具体发布时间,但 Perplexity 计划将 CobbleDB 开源。
性能显著提升,成本大幅降低
据官方数据,CobbleDB 能将生产环境中的批量读取延迟降低约五倍,并将预估存储成本至少降低 20%。该系统专门存储预处理的网页内容,包括段落文本及用于检索的元数据。
Perplexity 指出,新架构将文档存储、更新管理和搜索检索分离,允许对各模块独立调优。此前,处理后的页面直接写入 DynamoDB,导致大规模重新处理任务常与实时搜索争夺资源。
新系统引入名为 Pillar 的组件跟踪文档版本,并通过 Lorry 将更新分组为批次,由 CobbleDB 独立应用。这一机制确保较慢的机器也能跟上进度,避免拖慢整体系统。此外,CobbleDB 将高频请求内容保留在内存中,其余数据存入本地存储;路由层可将请求定向至持有相关数据的机器,若某节点响应缓慢,则自动切换至其他副本。
实测延迟大幅下降
Perplexity 将该系统描述为“专为重复批量读取预处理页面记录这一特定工作负载定制”。迁移后,中位数批量读取延迟从 31.4 毫秒降至 5.60 毫秒;P90 延迟从 56.7 毫秒降至 9.77 毫秒;P99 延迟从 123 毫秒降至 24.2 毫秒。
上述测量基于每秒约 20 万次请求、平均载荷 50 KB、每批次约 10-15 个键的生产环境流量。负载测试显示,系统在每秒 50 万次请求下仍未出现性能下降。需要注意的是,性能对比基于不同时间段的实时生产流量,而非同时运行的相同请求。Perplexity 还使用类似批次大小和载荷进行了合成基准测试,成本估算显示,在各承诺层级下,CobbleDB 的成本均比 DynamoDB 低至少 20%。