Files
myWiki/concepts/curvine-distributed-cache.md
2026-04-20 11:42:41 +08:00

42 lines
1.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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