问题与挑战

大数据处理大数据时代数据量爆炸式增长,数据对象数量也指数级升高,海量小文件已成为一类非常典型的海量数据应用,如拥有数以亿计商品图片的电商平台,每日上传大量用户文字、照片的Web2.0网站等。但现有传统文件系统多面向机械磁盘设计,难以高效应对海量小文件应用场景,存在诸多问题。


文件检索困难

海量小文件环境下,元数据操作比例大幅上升,大量并发的随机磁盘访问,极大降低了机械磁盘运行效率,导致文件检索速度极差,甚至会出现大目录无法打开的情况。

读写性能低下

海量小文件环境下,由于文件较小,数据读写也同样表现为随机模式,数据访问延迟较大,而用户业务多采用同步方式处理海量文件 ,系统整体的IOPS表现极低,业务操作耗时居高不下。

运维困难

管理海量文件困难众多,备份数据、删除文件、文件整理等日常运维操作,都会相当耗时,甚至会持续数天。同时,这些操作也消耗大量系统资源,影响前端业务的正常运转。

成本问题

某些高端存储设备采用大容量缓存和大量SSD磁盘来提升海量小文件性能,但是成本较高。另外,业务中经常出现的小文件及大文件混合应用的场景,也进一步降低了产品性价比。

  解决方案
海量小文件解决方案

元数据性能优化设计

文件数据与元数据分离存储和管理,各自专门优化。元数据服务器基于内存实现,采用share-nothing的集群机制,突破元数据性能瓶颈,支持百亿级别文件总数目和千万级单目录文件数目。

前后端SSD性能加速

数据服务器采用策略存储机制,使用SSD来存放小文件数据,提升小文件性能。专有客户端通过磁盘缓存功能,利用SSD构建大容量高速缓存,提高命中率,减少磁盘和网络开销。

成本可控

主流通用x86服务器及以太网络构建,经济可靠;灵活的存储策略可充分利用少量SSD即可达到可观性能;弹性扩展,按需购置。

安全可靠

高可用集群架构,数据智能冗余分布,系统无单点故障,数据实时校验,故障自动切换,数据自动恢复,确保数据安全可靠及业务连续。

  方案亮点

策略存储

数据服务器支持SSD和大容量磁盘混插设计(用户自定比例),并通过独有的策略存储机制,充分利用SSD来提升小文件和热点数据性能,同时使用大容量磁盘来存储大文件及冷数据。

客户端SSD缓存

特有的客户端磁盘缓存功能,可利用多块SSD在客户端构建大容量高速缓存,智能透明的缓存大量热点小文件,减少多次后端网络及磁盘开销,提供最优的性能体验。

运维支持

提供离线文件元数据数据库支持,可通过SQL接口来简化和加速海量小文件的查询,并为业务统计提供有力支持。同时,提供了一批高效工具(如快速批量删除),减轻海量文件的运维难度。

编程接口

API 接口(C++/Java/Python)提供了强大的新型接口支持(如快速目录列举),用户基于API编程,可克服传统接口的诸多局限,文件访问更加高速高效。