现代推荐模型已演变为消耗日益增长且属性丰富的用户历史记录。这种转变造成了显著的存储不对称:系统必须处理连续的小规模更新(流式工作负载),同时支持对历史数据的重复、大规模读取(批处理工作负载)。为了解决这一问题,字节跳动开发了 USDB,这是一种统一的序列存储实践,旨在通过在摄入、推理和训练过程中重用维护结果,来弥合这两个冲突要求的差距。

USDB 通过若干架构创新实现了这一目标。它采用基于时间的 'CascadeLSM' 压缩策略来实例化特定于应用程序的历史记录。通过使用共享持久文件的差异化副本,系统确保数据不会在不同工作负载中冗余存储。此外,USDB 利用混合列式格式来加速投影读取,允许系统通过结合捕获的近期状态和版本化的历史记录来重构推理输入。这些设计使系统能够在维护序列单一事实来源的同时,针对不同任务的特定访问模式进行优化。

生产迁移数据表明,与之前的生产设置相比,USDB 显著提高了效率,平均写入延迟降低了 85.8%,基础设施成本降低了 42.1%。在受控对比中,USDB 的表现优于经过优化的 RocksDB 序列基准,在各种客户端负载和投影下展示出更快的长历史记录读取速度。此外,该系统的聚合下推能力在受限的接收预算下,能够维持比普通读取高出 8.5 倍的吞吐量。虽然该系统针对推荐工作负载的特定不对称性进行了高度优化,但其性能是为这些特定用例量身定制的,而非通用的数据库操作。