大数据时代数据量爆炸式增长,数据对象数量也指数级升高,海量小文件已成为一类非常典型的海量数据应用,如拥有数以亿计商品图片的电商平台,每日上传大量用户文字、照片的Web2.0网站等。但现有传统文件系统多面向机械磁盘设计,难以高效应对海量小文件应用场景,存在诸多问题。
文件检索困难
海量小文件环境下,元数据操作比例大幅上升,大量并发的随机磁盘访问,极大降低了机械磁盘运行效率,导致文件检索速度极差,甚至会出现大目录无法打开的情况。
读写性能低下
海量小文件环境下,由于文件较小,数据读写也同样表现为随机模式,数据访问延迟较大,而用户业务多采用同步方式处理海量文件 ,系统整体的IOPS表现极低,业务操作耗时居高不下。
运维困难
管理海量文件困难众多,备份数据、删除文件、文件整理等日常运维操作,都会相当耗时,甚至会持续数天。同时,这些操作也消耗大量系统资源,影响前端业务的正常运转。
成本问题
某些高端存储设备采用大容量缓存和大量SSD磁盘来提升海量小文件性能,但是成本较高。另外,业务中经常出现的小文件及大文件混合应用的场景,也进一步降低了产品性价比。
元数据性能优化设计
文件数据与元数据分离存储和管理,各自专门优化。元数据服务器基于内存实现,采用share-nothing的集群机制,突破元数据性能瓶颈,支持百亿级别文件总数目和千万级单目录文件数目。
前后端SSD性能加速
数据服务器采用策略存储机制,使用SSD来存放小文件数据,提升小文件性能。专有客户端通过磁盘缓存功能,利用SSD构建大容量高速缓存,提高命中率,减少磁盘和网络开销。
成本可控
主流通用x86服务器及以太网络构建,经济可靠;灵活的存储策略可充分利用少量SSD即可达到可观性能;弹性扩展,按需购置。
安全可靠
高可用集群架构,数据智能冗余分布,系统无单点故障,数据实时校验,故障自动切换,数据自动恢复,确保数据安全可靠及业务连续。
策略存储
数据服务器支持SSD和大容量磁盘混插设计(用户自定比例),并通过独有的策略存储机制,充分利用SSD来提升小文件和热点数据性能,同时使用大容量磁盘来存储大文件及冷数据。
客户端SSD缓存
特有的客户端磁盘缓存功能,可利用多块SSD在客户端构建大容量高速缓存,智能透明的缓存大量热点小文件,减少多次后端网络及磁盘开销,提供最优的性能体验。
运维支持
提供离线文件元数据数据库支持,可通过SQL接口来简化和加速海量小文件的查询,并为业务统计提供有力支持。同时,提供了一批高效工具(如快速批量删除),减轻海量文件的运维难度。
编程接口
API 接口(C++/Java/Python)提供了强大的新型接口支持(如快速目录列举),用户基于API编程,可克服传统接口的诸多局限,文件访问更加高速高效。