块存储和文件存储不属于对象储存
对象数据组成结构
与块存储和文件存储管理数据的方式不同,对象存储是以对象的形式管理数据的。对象和文件最大的不同,就是在文件基础之上增加了元数据。一般情况下,对象分为三个部分:数据、元数据以及对象id。
对象的数据通常是无结构的数据,比如:图片、视频或文档等;对象的元数据则指的是对象的相关描述,比如:图片的大小、文档的拥有者等;对象id则是一个全局的唯一标识符,用来区分对象的。
从数据结构来看,这三种存储有着根本不同。块存储的数据结构是数组,而文件存储是二叉树(B,B-,B+,B*各种树),对象存储基本上都是哈希表。
数组和二叉树都是老生常谈,没有太多值得说的,而对象存储使用的哈希表也就是常听说的键值(KeyVaule型)存储的核心数据结构,每个对象找一个UID(所谓的“键”KEY),算哈希值(所谓的“值Vaule”)以后和目标对应。找了一个哈希表例子如下:
键值对应关系简单粗暴,毕竟算个hash值是很快的,这种扁平化组织形式可以做得非常大,避免了二叉树的深度,对于真·海量的数据存储和大规模访问都能给力支持。所以不仅是对象存储,很多NoSQL的分布式数据库都会使用它,比如Redis,MongoDB,Cassandra 还有Dynamo等等。
对象存储(Object Storage)是现代数据存储领域中的一个重要概念,它允许我们将数据以对象(Object)的形式进行存储、管理和访问。与传统的文件存储和块存储不同,对象存储提供了更高的可扩展性、灵活性和持久性,使得大数据、云计算和物联网等应用场景得以更好地满足数据存储和管理的需求。
在对象存储中,每个数据对象都包含三个基本属性:数据本身(Data)、元数据(Metadata)和唯一标识符(Unique Identifier)。数据是实际存储的内容,元数据是关于数据的描述信息(如数据的大小、创建时间、修改时间等),而唯一标识符则是用来定位数据的唯一键。
亚马逊(Amazon)提供的对象存储免费试用,实例是S3(Simple Storage Service),它是目前市场上最流行、最成熟的对象存储解决方案之一。S3提供了强大的数据存储、备份、归档和共享功能,支持全球范围内的数据访问。此外,S3还提供了丰富的安全特性和数据保护机制,访问主机侦探获得试用入口。