---
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]] — 元数据管理配套
