什么是对象存储技术?
对象存储(Object Storage),‘对象’其实是一个数据存储单位,就像是磁盘中的块般;
一个存储的对象,不仅仅包含了其要存储的数据本身,也包含了描述数据的信息(即元信息),以及由存储数据和元信息生成的唯一标识ID;
说白了,从小的对象(人类可以读取的文件)到媒体或者其他行业固定格式(医学成像等),对象存储可以保存任何类型的数据;
对象存储通常用于存储非结构化的数据,如媒体,图片,二进制构件等,即存储那些不适合用数据库存储的信息;
对象存储中的元信息用户可以来自定义,因此用户可以自定义信息来描述那些不含文本字段的、非结构化的数据;
对象存储相比于主机服务器,有着读写速度快、易于分享的特点。
对象存储的设计理念中还包含了使用API的方式来存储数据,通常是RESTful API;
对象存储的优势
易扩展性
对象存储的存储结构其实是一维的,即一个存储数据对应一个对象,相比于文件系统的树形存储结构而言,扁平化结构的对象存储更异于管理和向外扩展,
即新增一个存储数据只要新增一个对象即可,不用去考虑文件的存储路径等问题.
丰富的api
前面讲过,对象存储的设计理念中包含了使用API的方式,因此对象存储提供了丰富的接口供程序来调用,除了基本的crud外,还提供了版本控制、对象生命周期
管理、权限控制、创建bucket等接口.
易于检索
对象存储中区别对象可通过元数据或者唯一标识ID,且其与存储的数据时一对一的映射关系,故根据其来检索对象相比于文件系统的层级结构而言,检索速度大大提升
数据保护
对象存储是基于纠删码技术来保护数据的;纠删码是对数据划分和变换为多个冗余片段的描述过程,恢复为原始信息所需的最小计数;
即存储的对象被分为很多分片分布在不同驱动器(或者磁盘)中,用于检索到对象的分片只是所有分片的子集而已,在保证仍存在一定数量的分片
是完好的情况下,还是可以检索到数据的,并且可以根据分片信息来恢复原始数据,这样便从一定程度上保证了数据的抗损失性.