数字资源存储、仓储和发布的标准规范建设
上QQ阅读APP看书,第一时间看更新

1.5.1 对象存储系统简介

对象存储系统(object-based storage system, OSS),或者也叫对象存储设备(object storage device, OSD),业界通常选用OSD作为这种技术的代名词。

OSD是综合了NAS和SAN的优点,同时具有SAN的高速直接访问和NAS的数据共享等优势,提供了高可靠性、跨平台性以及安全的数据共享的存储体系结构。

对象存储系统研究最早可追溯到1980年的两个面向对象操作系统,一个是卡内基梅隆大学(Carnegie Mellon University, CMU)的Hydra OS,另一个是英特尔(Intel)的Imax-432 OS。这两个操作系统最先用可变长的对象存储文件、进程状态等多种数据。1980年,麻省理工学院(Massachusetts Institute of Technology, MIT)第一次在他们的SWALLOW项目中实现了分布式对象存储,成为该领域的先驱。对象存储系统的标准最初来自于卡内基梅隆大学并行数据实验室(Parallel Data Lab, PDL)1995年到1999年的“Network Attached Secure Disks(NASD)”项目。该项目的目标是:使用商业存储设备构建高带宽、低延迟、安全、可扩展的存储系统。1997年,CMU在美国存储工业联盟(National Storage Industry Consortium)发起一个工作组。该工作组包括了惠普、IBM、希捷、StorageTek以及昆腾等厂商。该工作组在CMU的NASD项目研究基础上,于1999年成立了全球网络存储工业协会(Storage Networking Industry Association, SNIA)的对象存储设备工作组(OSD工作组),发布了ANSI的X3 T10标准。从此以后,SNIA的OSD工作组促进了对象存储设备接口的变革,众多厂商纷纷在其实验室中开展了对该技术的研究。目前T10工作组仍在对对象存储命令集(object-based storage devices command)(后文简称为命令集)进行修改和完善。对象存储系统中的对象是数据的一种逻辑组织形式。块是固定大小的,与其不一样,对象是可变长的,是一些具有逻辑关系的数据的载体,可包含任何类型的数据,如文件、数据库记录、图像,以及多媒体视频、音频等。至于包含何种类型的数据由用户决定,对象可动态地扩大和缩小。对象还具有属性,用于描述对象的特征,如多媒体数据对象的服务质量(quality of service, QoS)属性描述了该对象的网络延迟要求。

根据目前对象存储命令集草案中的定义,对象共分为四种:用户对象(user object)、分区对象(partition object)、集合对象(collection object)和根对象(root object)。用户对象是对象存储设备中数量最多的,它存放各种数据;把用户对象进行分区管理,构成分区对象;集合对象是一些具有相同或相近特性的用户对象或者分区对象的集合;而根对象及其属性用于描述对象存储设备的一些特征。

对象存储概念一经提出,便得到了存储界的广泛关注。各大研究机构和存储系统供应商纷纷研究和实现了各自的对象存储系统。其中,影响力最大的有集群文件系统公司的Lustre项目、卡内基梅隆大学的NASD项目、IBM公司的Storage Tank项目等。