而对于一些场景,比如虚拟机活动镜像的存储,或者说虚拟机硬盘文件的存储,还有大数据处理等场景,对象存储就显得捉襟见肘了。而文件系统在这些领域有突出的表现,比如Nutanix的NDFS(Nutanix Distributed Filesystem)和VMware的VMFS(VMware Filesystem)在虚拟机镜像存储方面表现很出色,Google文件系统GFS及其开源实现HDFS被广泛用于支撑基于MapReduce模型的大数据处理支持得很好,而且能够很好地支持百GB级、TB级甚至更大文件的存储。
由此看来文件系统将来的发展趋势更多的是专用文件系统,而不再是像以前那样,以前一套Filesystem适用于所有场景,更有一些部分要让位于对象存储或者其他存储形态。
从另一个角度来看,现代对象存储系统的“甜区”在哪里:1. 互联网和类似互联网的应用场景,这不仅仅是因为REST风格的HTTP的接口,而且还因为大多数对象存储系统在设计上能够非常方便地进行横向扩展以适应大量用户高并发访问的场景;2. 海量十KB级到GB级对象/文件的存储,小于10KB的数据更适用于使用K/V数据库,而大于10GB的文件最好将其分割为多个对象并行写入对象存储系统中,多数对象存储系统都有单个对象大小上限的限制。所以,如果应用具有上述两种特点,对象存储是首选。
也有人在对象存储上做出进一步的开发或者改进,使其能够很好地支持归档备份、MapReduce大数据处理等场景,甚至将对象存储的接口转为文件系统接口;反之,OpenStack Swift等对象存储系统也支持使用GlusterFS等通用文件系统作为存储后端。人们为什么会在这些对象存储和文件系统相互转换的技术上进行人力和资金的投入?这些做法的意义何在?应该在什么时候使用这些技术?
版权声明:本文为博主原创文章,未经博主允许不得转载。