20260420:first commit

This commit is contained in:
2026-04-20 11:42:41 +08:00
commit dd8345a6ea
45 changed files with 2366 additions and 0 deletions

View File

@@ -0,0 +1,41 @@
---
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]] — 元数据管理配套