引言:数据洪流中的基础设施挑战
随着 ChatGPT 迅速突破 10 亿用户大关,其背后的技术挑战也随之呈指数级上升。对于任何大型生成式 AI 应用而言,存储系统不仅是数据仓库,更是用户体验的基石。如果存储延迟过高,用户的每一次对话都会变得迟缓;如果架构不可扩展,随着用户量的增加,系统将面临崩溃的风险。近期,OpenAI 发布了第二篇技术博客,深入剖析了他们如何构建名为“Habitat”的存储系统,并利用 Azure Cosmos DB 实现了 12 倍的读取速度提升,成功支撑了这一庞大的用户基数。
Habitat:OpenAI 的存储引擎
在早期的开发阶段,OpenAI 使用的是传统的数据库解决方案,但随着用户规模的扩大,这些方案在处理高并发读写和复杂的数据隔离时显得力不从心。为了解决这一问题,OpenAI 开发并开源了名为 Habitat 的内部存储系统。Habitat 旨在为 ChatGPT 提供一个高可用、高性能且具备水平扩展能力的存储后端。它不仅要存储海量的对话历史,还要管理用户上下文、短期记忆以及复杂的元数据,其复杂程度远超传统 Web 应用。
核心架构:多租户与隔离
支撑 10 亿用户意味着系统必须具备强大的“多租户”能力。在 Habitat 的架构中,多租户不仅仅是简单的数据隔离,更是一种资源管理策略。每一个用户的会话、上下文和偏好都被视为一个独立的租户单元。通过精细化的多租户设计,OpenAI 确保了即使在高负载下,不同用户之间的数据也不会相互干扰,也不会因个别用户的异常操作(如产生海量数据)而影响其他用户的体验。这种隔离性对于维护系统稳定性至关重要,它确保了 ChatGPT 在全球范围内的一致性和安全性。
全球缓存:打破延迟瓶颈
为了应对全球 10 亿用户的地理分布,Habitat 引入了先进的全球缓存策略。在传统的存储架构中,用户请求往往需要绕行物理距离,导致延迟增加。通过在全球多个区域部署边缘缓存节点,Habitat 能够智能地将热门数据和用户最近访问的数据预取到离用户最近的节点上。这种“近端计算”模式极大地减少了数据传输的距离,不仅降低了网络带宽的消耗,更将读取延迟降至了最低。对于依赖实时交互的 AI 来说,毫秒级的延迟差异往往决定了用户体验的优劣。
Azure Cosmos DB:底层的坚实支撑
Habitat 的强大性能离不开底层数据库的支持。OpenAI 选择了 Microsoft Azure Cosmos DB 作为其核心存储服务。Cosmos DB 是一种全球分布、多模型数据库,它提供了原生的多区域复制和低延迟读取功能,这与 Habitat 的设计理念不谋而合。通过将 Habitat 的存储层构建在 Cosmos DB 之上,OpenAI 利用了云厂商在全球基础设施方面的优势,实现了数据的异地容灾和近乎实时的全球同步。这种组合使得系统能够处理每秒数百万次的写入请求,同时保持极高的可靠性。
性能飞跃:12 倍读取加速
架构优化的最终体现是性能指标的提升。通过上述的多租户隔离、全球缓存以及与 Cosmos DB 的深度集成,Habitat 实现了令人瞩目的 12 倍读取速度提升。这意味着在相同硬件资源下,系统能够处理更多的并发请求,或者以更低的延迟响应用户。对于 ChatGPT 而言,读取速度的提升直接转化为更流畅的对话体验——用户发送指令后,系统能够更快地检索到上下文并生成回复,从而消除了因网络或计算延迟带来的割裂感。
结语
OpenAI 在这篇技术分享中展示的,不仅仅是一个数据库的扩容案例,更是大规模分布式系统设计的缩影。通过自研 Habitat 系统并深度整合 Azure Cosmos DB,OpenAI 解决了从“可用”到“好用”的跨越。对于其他正在经历用户爆发式增长的技术公司来说,如何在保证数据一致性和隔离性的前提下,构建一个全球化的、高性能的存储层,依然是一个巨大的挑战。OpenAI 的这一实践无疑为行业提供了一个极具参考价值的范本。
来源:OpenAI Blog
链接:https://openai.com/index/scaling-storage-one-billion-users-part-two
信息来源:OpenAI News,原文链接:https://openai.com/index/scaling-storage-one-billion-users-part-two
封面图片来源:Unsplash / 摄影师 Levart_Photographer
