引言:
Clobotics 是一家将计算机视觉和机器学习技术应用于风电和零售行业的企业。随着业务的快速发展,Clobotics 面临着海量小文件存储、多云架构、以及低运维成本等挑战。为了解决这些问题,Clobotics 经过深入调研,最终选择了 JuiceFS 作为其统一存储解决方案。
Clobotics 的业务架构和存储需求:
Clobotics 的业务涵盖风电和零售两大领域,其核心数据类型为各类采集的图片。每月新增约 5000 万张原始采集图片,数据特点包括:
- 海量小文件: 风电场景下的图片原始文件可达十余兆,经过压缩处理后依然体积庞大。
- 多类型模型训练:涵盖通用与垂直领域,迭代周期各异,对存储性能提出了更高要求。
- 元数据性能要求高: 如 CSV 和 JS 文件,是 AI 模型训练过程中不可或缺的数据输入格式。
- 新增数据的管理: 随着新站点的不断加入,需定期更新或刷新数据,产生额外的 I/O 操作。
- 版本管理: 针对原数据和图片数据集进行精细化的版本控制,以满足不同场景的需求。
多云架构带来的挑战:
Clobotics 采用了多云存储解决方案,包括 Azure Blob Storage、阿里云 OSS、Google Cloud Storage(GCS)、Amazon S3,以及单机版或小集群模式的 MinIO。这种多云架构带来了以下挑战:
- 技术栈适配: 需要不断进行适配工作,以支持不同技术栈下的数据访问需求。
- 重复开发:不同业务平台在功能与场景上的差异性,导致一定程度的重复开发工作。
- 跨云数据迁移: 从多个云存储服务中拉取数据,增加了数据迁移的复杂性和成本。
文件存储选型:
为了构建一个更为轻量、灵活的存储层架构,Clobotics 对市场上主流及开源的存储解决方案进行了深入调研,最终选择了 JuiceFS。
- HDFS: 设计初衷更偏向于处理大数据量高吞吐的场景,不符合 Clobotics 的需求。
- Ceph: 安装与部署相对简便,但运维成本较高,容量规划与扩容方面存在挑战。
- SeaweedFS: 运维成本较高及文档完善度不足。
- GlusterFS: 轻量级的运维与扩容特性,但自建存储层会带来一定的运维成本上升。
- JuiceFS: 完全的 POSIX 兼容性和对云原生环境的支持,以及轻量级的元数据引擎,满足 Clobotics 的需求。
JuiceFS 的优势:
- 多云架构支持: 支持接入几乎所有主要公有云平台,包括 AWS S3、Azure Blob Storage、阿里云 OSS 等,以及本地存储。
- POSIX 兼容性: 完全兼容 POSIX 标准,使得可以在 JuiceFS 上实现整个数据流程,降低技术工程的工作量和成本。
- 海量小文件处理:能有效处理大量小文件的存储问题,并提供高性能的读写操作。
- 低运维成本: 主要依赖于轻量级的元数据引擎,如 MySQL 或 Redis,无需额外引入新服务。
- S3 Gateway 高级功能: 支持身份和访问控制等高级功能,提升了使用 S3 Gateway 的便捷性和安全性。
结论:
Clobotics 通过选择 JuiceFS 作为其统一存储解决方案,有效解决了多云架构、海量小文件存储、以及低运维成本等挑战。JuiceFS 的完全 POSIX 兼容性、多云支持、以及轻量级的元数据引擎,为 Clobotics 的业务发展提供了强有力的保障。
参考文献:
注:
以上内容基于提供的文章信息进行整理和扩展,并加入了一些专业术语和解释。为了更加完整和准确地描述 Clobotics 的存储实践,建议参考 Clobotics 的官方网站和JuiceFS 的官方文档。
Views: 0