--- title: "Curvine 云原生分布式缓存" created: 2026-04-19 updated: 2026-04-19 type: concept tags: [system-design, performance, tooling] sources: [raw/articles/oppo-multimodal-data-lake-2026.md] --- # Curvine 云原生分布式缓存 **开发者:** OPPO (已开源) · GitHub: https://github.com/curvineio/curvine ## 定义 Curvine 是 OPPO 自研并开源的云原生高性能分布式缓存文件系统,专为解决云上对象存储 IO 性能瓶颈而设计。 ## 解决的问题 1. **OSS 带宽配额瓶颈**:云厂商默认读带宽限制在大数据场景下易成瓶颈 2. **专线带宽压力**:混合云架构下,重复读取易打爆专线,影响其他业务 3. **计算节点磁盘闲置**:节点配置的云盘(如 2.5TB)主要用于 Shuffle,利用率常低于 20% ## 核心特性 - **双模式支持**: - 缓存模式:读写与 OSS 保持一致 - FS 模式:Curvine 管理元数据,支持完整 POSIX 语义,对象存储数据可作本地盘访问 - **协议兼容**:支持 S3、HDFS 协议,原生支持 Kubernetes CSI 模式 - **任务调度**:常驻服务,处理数据加载和大文件操作 ## 应用场景与性能 - **LanceDB 向量查询加速**:社区版 LanceDB + Curvine 性能 ≈ LanceDB 商业版 - **索引与元数据缓存**:支持预热模式,高性能访问 LanceDB 索引和 Manifest - **热表数据加速**:重复读取数据从 OSS 加载至本地缓存盘 - **Checkpoint 写入加速**:高频模型训练写入提供高性能支持 ## 未来规划 - 扩展为数据转换服务层:自动转 Lance 格式、自动构建索引、小文件自动合并 ## 相关概念 - [[oppo-multimodal-data-lake]] — OPPO 数据湖实践 - [[gravitino-unified-metadata]] — 元数据管理配套