快速扩展在线存储以服务超过10亿ChatGPT用户(第二部分)
内容摘要
OpenAI的Habitat是其在线存储平台,服务40个地理区域的超过10亿用户,存储数据达500 PB。本系列第二部分详述了OpenAI如何通过与Microsoft的Azure团队紧密合作来扩展对Azure Cosmos DB的使用。文章分为三个阶段:第一阶段依赖Azure Cosmos DB的基本原理,如逻辑分区键,但这导致热键吞吐量冲突、物理分区间的噪声邻居干扰,以及随着存储增长单分区容量缩小。第二阶段尝试通过单租户容器实现工作负载隔离,虽然解决了隔离问题,但带来了预配开销、不稳定的聚合增长以及产品团队沉重的容量规划负担。第三阶段回归默认多租户,采用共同管理的容器设计,利用Azure Cosmos DB的新功能:热键限流、服务质量请求分级,以及具有基于RU使用量拆分功能的改进无服务器模式。文章还讨论了与Azure的联合工程(共享仪表板、测试和联合事件响应)以及2024年一次区域性中断,该中断揭示了OpenAI规模下未经验证的故障转移行为。最后,文章涵盖性能优化工作:针对延迟关键型数据集的多区域复制、使用变更数据捕获(CDC)进行失效的集成分布式缓存,以及将Habitat服务用Rust重写,使全球读取p50延迟从约120毫秒降至约10毫秒。展望未来,OpenAI正在构建一个定制的内部EB级在线存储系统,结合Rockset的RocksDB Cloud与基于Raft的复制,以应对未来的复制挑战。
(来源:OpenAI)