AISubHub/AI 资讯
开发者

深度解读 · 约 6 分钟阅读

OpenAI 详解 Habitat 存储改造:共享容量、区域缓存与有条件的12倍读取提升

OpenAI 介绍 Cosmos DB 多租户、CDC 缓存失效和 Rust 改造;中位读取延迟改善来自多项变化的组合。

本站发布
原文发布
核实时间

OpenAI 在10月23日的工程文章中,说明 Habitat 如何调整 Azure Cosmos DB 存储及读取链路。文章讨论运行取舍与厂商报告的数据,并非新模型发布或面向公众的存储产品上线。

听读资讯

朗读当前文章,或连续收听资讯。

OpenAI 详解 Habitat 存储改造:共享容量、区域缓存与有条件的12倍读取提升

正在准备听读…

设备语音

朗读由浏览器或设备处理,AISubHub 不向音频 API 发送文本。可用语音及锁屏播放能力因设备而异。

继续播放时可能重复一小段。

一分钟速览

  • OpenAI 将全球读取 p50 从约120毫秒降至约10毫秒,归因于数据布局、区域缓存及 Rust 重写的组合;最慢的未命中请求仍可能访问远端存储。
  • Habitat 从共享容器转向隔离容器,再与 Azure 联合改造后恢复默认共享;另一个 EB 级存储系统仍在开发。

共享数据库为何会限制无关功能

OpenAI 称,Habitat 管理超过500 PB数据,支持在40个地理区域服务超过10亿用户的产品。这是作者描述的规模,不能当独立用户统计,也不是本次新增用户公告。真正的问题是:怎样共享容量,又不让一个功能拖垮另一个。起初每个 Cosmos DB 账户使用一个默认容器,客户端直接选择逻辑分区键;常用标识在不同业务间碰撞,就会共同消耗同一个键的额度。

RU/s 是每秒请求单位,不是固定查询次数。早期方案依赖逻辑键标称10,000 RU/s上限产生背压,但限额实际由物理分区执行,同处一分区的无关键也会竞争。另一陷阱是“弱分区”:总吞吐配置不变时,数据增长导致物理分区分裂,每个子分区分得的吞吐下降。因此,请求量稳定,偏大对象的业务仍可能受限。文中示意图解释机制,图形比例不代表生产实测。

隔离解决了什么,又增加了什么负担

独立容器让关键业务拥有不同物理分区,缩小噪声邻居的影响范围;团队还按物理分区数量调整配置吞吐,缓解弱分区。但每个业务边界都增加容量规划责任。由内部试用突然转向大规模公开流量时,小型独立容器可能被压满,而同样增量对大型共享池影响很小。隔离改变故障边界,没有消除上线前预测需求的工作。

最终,Habitat 恢复默认共享,并加入热键优先限流、批量任务低优先级和与 Azure 共建的 serverless 变体。文章对比原先每物理分区5,000 RU/s限制与定制版最高10,000 RU/s,以及同时按RU使用和存储量触发分裂。这是特定合作方案,不能推导所有 Azure 客户都能开启。本站分析:只有交互请求得到保护、容量控制能随需求响应,共享的余量优势才有可靠基础。

托管服务为何仍需联合验证故障

OpenAI 称,最大 Cosmos DB 账户存储数十 PB,每秒处理超过2,000万次查询。2024年底的一次停电,以及约一个月后的回切事故,暴露了规模假设:一次停电后,最大账户切换到备用区域需要数小时;约一个月后回切时,客户端在物理分区尚未全部迁回前集中连接原区域,压垮其网关。这是不同恢复阶段的两起事故,不是一次持续不间断的故障。

应对措施超出扩容:两方联合监控各层,在接近生产规模的非生产账户测试,共同迭代SDK并建立直接工程升级通道;还改进网关元数据缓存、负载保护、连接复用及关键与离线任务隔离。本站据此建议,既测试故障切换,也测试恢复回切,并使测试规模接近真实负载。数据库由供应商托管,不代表客户的连接行为、恢复耗时和故障范围已被自动验证。

12倍读取改善包含哪些变化

据 OpenAI,超过90%的 Habitat 请求是读取。优化先在容量允许时把数据靠近用户,再广泛复制少量对延迟敏感的小数据集,其他热点对象和边由近端 Valkey 缓存服务。某些关键账户复制到全部40个服务区域,不代表所有数据全球全量复制。区域电力、散热和空间还需在存储与推理计算间分配,数据就近始终受产品及容量取舍约束。

缓存失效通过 Cosmos DB 变更流驱动:CDC消费者在更新后使本地副本失效,下次读取再回填。作者称全球传播在数秒内完成,因此不必只靠TTL过期维持新鲜度,但这不等于瞬时一致。Rust重写也降低服务开销。组合变化使全球读取p50由约120毫秒降至约10毫秒;图表分别标出近区复制、区域缓存、Rust三阶段。12倍不能独归Rust,也不能外推为写入延迟或用户整次ChatGPT响应提速。

CDC扩展与已部署、开发中系统的边界

CDC还支撑二级索引、迁移流水线和分析。作者报告,每秒数百万变更来自数千容器及数百万容器分区,经超过一百个Kafka主题传输。控制平面安排读取区域和工作进程,以副本读取及低优先级保护交互流量;流间隔离、租约处理、死信队列和区域故障后切换读者分别处理不同问题。死信避免永久失败的投递阻塞后续流,不证明所有下游已同步到最新。

实际应用仍需保留边界:慢速缓存未命中会访问远端,文章没有受控实验逐项拆分增益,也没有通用尾延迟保证。OpenAI正在开发EB级系统,以Rockset的RocksDB Cloud内核配合Raft复制,保持Cosmos式文档模型,用存算分离和物理复制减少闪存需求,代价是较低峰值QPS;它尚未完成替换。本站阅读了本篇及读取延迟图,未独立核验链接中的第一篇、SDK源码或服务保证。

有什么影响

基础设施团队可以据此比较隔离边界、共享容量余量和运维责任,同时分别验收缓存新鲜度、故障切换及尾延迟。

限制与可用性

这些是 OpenAI 的工程主张,本站未复现,也不是 Azure 服务保证。文章不能证明定制 serverless 配置向所有客户开放,亦不涉及新会员权益或全应用延迟保证。

来源与证据

OpenAI

原文发布: · 核实时间:

AI 辅助采编,依据所列一手来源核实。厂商自报结论注明归属,收录不代表背书。