本项目的立项原因在于解决大规模对象存储场景下,数据重复度高导致存储成本高昂的问题。典型的业务场景如虚拟机镜像仓库、数据库备份归档、日志文件长期留存等,这些数据内部存在大量冗余内容。旨在作为企业级备份归档、AI/大数据湖底座的存储基座,通过数据去重技术,为成本敏感型业务提供一款兼容S3标准、高存储效率的开源替代方案,打破商业闭源存储的成本与锁定困境。
点击空白处退出提示
本项目的立项原因在于解决大规模对象存储场景下,数据重复度高导致存储成本高昂的问题。典型的业务场景如虚拟机镜像仓库、数据库备份归档、日志文件长期留存等,这些数据内部存在大量冗余内容。旨在作为企业级备份归档、AI/大数据湖底座的存储基座,通过数据去重技术,为成本敏感型业务提供一款兼容S3标准、高存储效率的开源替代方案,打破商业闭源存储的成本与锁定困境。
项目主要包含四大核心功能模块:
1. 数据管理引擎:实现对象上传、下载、分段上传、存储桶生命周期管理等S3 API全兼容操作。
2. 智能去重与压缩核心:采用fastcdc内容定义分块和Blake3哈希指纹算法,对数据进行全局去重,并结合zstd算法进行批量压缩,最终以“对象-切片-块”的三级结构组织数据。
3. 多后端存储适配层:支持将去重压缩后的数据块存储到本地磁盘、S3兼容存储等多种后端。
4. 可观测性与管理控制台:提供可视化管理界面、配置中心、审计与事件日志插件接口,支持单机与集群化部署,便于运维监控与扩展。
整个项目前后端都我一人独立完成,后段采用 golang ;前端采用 vue + tailwind css;
该系统“数据处理层”与“元数据层”的设计与实现,并完成了S3接口的兼容性适配。技术栈后端采用Go语言实现高性能HTTP服务,元数据在单机模式下使用BadgerDB,集群模式适配TiKV分布式KV存储。项目亮点在于实现了变长分块的内容定义去重,通过fastcdc算法智能分割数据流,相比定长分块能更有效地发现重复数据;难点在于设计一套高效的元数据映射模型,以管理去重后“对象-切片-块”的复杂引用关系,并保证在全局去重的高并发写入下,元数据服务的性能与一致性。
演示网址: https://console.s3.mageg.cn/




评论