# 块存储文件存储对象存储### 简介主要是从访问方式的不一样来区分的,之因此会有不一样的访问方式是由于用户需求不一样.对于块存储来讲,数据是以块的形式来管理的,每一个块都有本身的地址空间.传统的块存储如SAN(storage area network),它提供一个网络块存储服务,客户端能够经过iSCSI等协议来访问它,用户也能够在块存储服务上建文件系统.对于文件存储来讲,数据是以一个个文件来管理的.传统的文件存储如NAS(network attached storage), 它提供一个网络文件存储服务,客户端能够经过NFS, SMB等协议来访问它.对于对象存储来讲,数据就是一个个的对象,用户操做的目标就是一个个的对象.相对与文件存储和块存储来讲,对象存储是一个新的存储模式.通常来讲,对象存储的一个对象包含三类数据,即对象ID,元数据和对象数据.对象存储访问方式基本都是基于HTTP的RESTFUL,这是由于把对象存储发扬光大的AWS用的是这个协议,因此你们都默认用这个协议.## 块存储块存储将数据切分红块,每一块是一个独立的存储片断.这种存储方式几乎不多的元数据信息.用户的每次读写都能直接有效的操做磁盘的具体位置.因此这种存储方式的优势也很明显,就是简单而且高效,简单是指访问方式很简单粗暴,固定的位置以及数据读写的长度;高效是说不会增长更多的磁盘IO操做,响应更快.缺点就是访问方式过于粗暴,彻底没有结构化的信息,读写它的时候须要记住位置才能作准确的访问.块存储的主要用户都是系统软件而非人,如Oracle\DB2这些传统软件, 又如vmware这类云计算产品.### 传统块存储传统块存储一般经过独立于TCP/IP外的网络访问,用RAID的方式提供数据安全保障这种方式成本高,性能好,扩展性很差.### 分布式块存储分布式块存储通常以ISCSI的网络服务提供,相对于传统块存储,它具备更廉价的成本和更好的扩展性以及灵活的数据备份方式.分布式块存储能够同时工做在多块磁盘上面,因此它的吞吐量更好.可是因为网络交互次数的关系,一次io读写会有更高的延迟.## 文件存储和块存储不一样,文件存储更注重的数据组织和呈现.文件存储是一个彻底结构化的存储方式.不管是天然人仍是软件系统,均可以很是方便有效的对文件存储进行操做.操做一个文件能够根据单一的文件路径指向数据位置,这些操做都须要经过元数据来辅助完成.和块存储相比,这些元数据操做影响了性能.文件存储还有权限,锁,文件共享等其它块存储没有的功能.分布式文件存储传统相较于文件存储和主要区别也是在于成本更低和更好的扩展性## 对象存储 对象存储,一个结构化介于块存储和文件存储之间的新的存储模式,对象存储不像文件存储那样采用树状结构,而是采用一对一的扁平结构.对象存储的访问接口只有对象ID自己,它没有文件存储那么负责的元数据管理,又能够基本呈现数据.它的访问性能应该基于块存储和文件存储之间.分布式对象存储的另一个有点是扩展性很是好,几乎没必要要太多的代价就能够完成对存储系统的扩容.