Kumo Stack云存储概述
Kumo Stack支持与多款云存储后端集成,用于存储KV备份、SST文件、快照及其他大规模数据集。本文档核心聚焦实操集成流程与运维指导,不涉及云厂商选型推荐。
1. 支持的云存储后端
| 云平台 | 集成方式 | 说明 |
|---|---|---|
| AWS S3 | aws-c-sdk / aws-crt-cpp | 全面支持对象存储、分片上传、并发写入。推荐用于RocksDB SST文件备份。 |
| 微软Azure | azure-core-cpp / azure-storage-blobs-cpp | 支持对象存储(Blob)、EventHub、IoT、KeyVault。通过C++ SDK实现KV快照的上传/下载。 |
| 谷歌云存储(GCS) | google-cloud-cpp (storage-grpc) | 基于GRPC的对象存储接口。适用于SST文件及快照存储。 |
| HDFS | libhdfs3 | 用于HDFS的原生C++库。首选用于企业级Hadoop环境,支持文件直接上传/下载。 |
所有集成均采用原生C/C++ SDK,保障高性能、可预期的运行表现及便捷的运维管控。
2. 集成模式
-
KV备份 / RocksDB SST文件
-
多数平台支持SST文件直接上传。
-
推荐按环境/日期规划目录结构。
-
为提升运维可靠性,尽量减少单个文件夹内的文件数量。
-
快照
-
通过平台SDK将快照文件流式传输至存储后端。
-
为简化恢复流程,建议单次操作对应单个快照文件。
-
并发处理
-
所有后端均支持针对大规模数据集的多线程上传。
-
确保SDK配置与吞吐量需求匹配。
3. 运维推荐方案
- 生产环境负载优先使用原生SDK(
aws-c-sdk、azure-storage-blobs-cpp、google-cloud-cpp、libhdfs3),而非外部CLI工具或FUSE挂载方式。 - 合理规划目录结构,避免运维瓶颈(如单个文件夹文件过多)。
- 针对HDFS,优先使用单个大文件而非大量小文件,降低NameNode开销。
- 生产环境恢复操作前,务必在预发环境完成恢复验证。
4. 场景选型总结
| 适用场景 | 推荐存储方案 | 说明 |
|---|---|---|
| RocksDB SST文件备份 | AWS S3、Azure Blob、GCS | 采用分片/GRPC上传,精简列族(CF)数量 |
| 快照流式传输 | 所有支持的存储后端 | 单次上传单个快照文件,验证数据一致性 |
| 数据长期留存 | HDFS、AWS S3 | 按日期/环境组织数据,简化目录层级 |
| 高并发写入 | AWS S3、GCS | 多线程上传,调优SDK线程池配置 |
5. 总结
Kumo Stack目前通过原生C/C++ SDK实现了对所有主流云存储后端的支持,核心聚焦运维简洁性与可维护的备份策略:
- AWS S3:生态最成熟,支持分片上传;
- Azure Blob:支持EventHub、KeyVault集成;
- GCS:基于GRPC的交互接口;
- HDFS:通过libhdfs3实现原生C++文件操作。
各存储后端的集成模式保持一致:单文件SST上传、结构化目录组织、精简列族数量,兼顾高性能与便捷的运维修护。