这个话题乍一看可能有些奇怪,因为一个是集群NAS存储,一个是对象存储,没什么相同的地方,为啥还要比较?
而实际上,在考察两种技术的实际应用场景时,我们会发现,两种技术都是用来存储海量的文件。而既然都是存储大量文件的,那什么情况下使用哪种技术,很多人又很难一时间区分清楚。
因此,木友在做木工的闲暇之余,总结比较了两种技术,做了一个学习笔记,谈一下二者的区别,分享给各位读者。
首先,我们先来复习一下两种技术的定义
以下英文内容节选自维基百科。
对NAS和集群NAS 的描述:
“Network-attached storage (NAS) is afile-level computer data storage server connected to a computer networkproviding data access to a heterogeneous group of clients.”
“NAS provides both storage and a filesystem.”
“A clustered NAS is a NAS that is using adistributed file system running simultaneously on multiple servers.”
简单总结,集群NAS符合以下几个特征:
- 结构:存储和文件系统。文件系统运行在NAS自身(这同时也是NAS和SAN的本质区别)。
- 分布式:文件系统为分布式文件系统(有时也叫作集群文件系统),数据和元数据分散分布在多个节点上。
- 并行访问服务:对多个客户端并行提供文件共享服务。
- 存储数据类型:主要是文件等非结构化数据
- 数据保护方式:底层采用传统RAID技术居多,多为RAID-6,最多容忍两块硬盘(或节点)失效。也有部分技术采用多份副本方式,但保护程度接近。
- 容灾:可实现容灾等远程数据保护。
对象存储的描述:
“Object storage is a storage architecturethat manages data as objects, as opposed to other storage architectures likefile systems which manage data as a file hierarchy and block storage whichmanages data as blocks within sectors and tracks. Each object typicallyincludes the data itself, a variable amount of metadata, and a globally uniqueidentifier. “
“Some high-performance distributed filesystems use an object-based architecture, where file metadata is stored inmetadata servers and file data is stored in object storage servers.”
“In 2013, IDC rated Cleversafe, Scality,DataDirect Networks, Amplidata, and EMC as leaders.”
简单总结下对象存储符合以下几个特征:
- 结构:将数据像对象一样管理,可以理解为单层目录。
- 每个对象包含:数据,元数据,全局***标识号。
- 分布式:数据分布式(甚至是跨地域)存放,有些分布式文件系统可以提供对象存储和访问功能。
- 数据保护方式:采用纠删码(Erasure Code)等技术,N+M场景下,可容忍M个节点物理损坏。当然M值越大,容量与性能开销都越大。
- 容灾:可实现对象级别的容灾。
同时,为了简明扼要,作者做了一个比较列表来总结一些主要特性对比。
对比之后,木友对于应用场景的个人观点如下,读者如有异议,可以发信与小编一起来探讨。
集群NAS性能和扩展性好,但价格较高,一般运行在一个数据中心内。所以适合客户自建数据中心内需要高带宽、大容量的业务。如高性能计算、流媒体等。
对象存储扩展性好,价格较低,但性能一般,可以跨中心运行,所以适合在公有云环境中作为一类存储服务来提供,或者适合大型客户在自建私有云环境中提供多租户的大容量存储服务,目前看到的对象存储的部署级别都是在PB级起步。此外由于对象存储对读访问的支持要好于写访问,因此对象存储更适合于“冷数据“的存放。
同时需要指出,两类技术会有重叠之处,例如有些分布式文件系统可以同时支持集群NAS和对象存储。而现在有些较为先进的对象存储产品也开始支持集群NAS功能,以实现和用户已有应用的集成。
从长远来看,两类技术都将会有用武之地。由于对象存储处于一个上升的生命周期,可以预见会有更多对性能不太敏感的业务迁移到对象存储。