1.7 KiB
1.7 KiB
title, created, updated, type, tags, sources
| title | created | updated | type | tags | sources | ||||
|---|---|---|---|---|---|---|---|---|---|
| Curvine 云原生分布式缓存 | 2026-04-19 | 2026-04-19 | concept |
|
|
Curvine 云原生分布式缓存
开发者: OPPO (已开源) · GitHub: https://github.com/curvineio/curvine
定义
Curvine 是 OPPO 自研并开源的云原生高性能分布式缓存文件系统,专为解决云上对象存储 IO 性能瓶颈而设计。
解决的问题
- OSS 带宽配额瓶颈:云厂商默认读带宽限制在大数据场景下易成瓶颈
- 专线带宽压力:混合云架构下,重复读取易打爆专线,影响其他业务
- 计算节点磁盘闲置:节点配置的云盘(如 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 — 元数据管理配套