对象存储vs文件存储
使用对象存储时,我们不知道也不关心文件存在哪里(哪个文件夹下),我们只需要记住这个文件对应的Key(一串字符)就可以找到我们保存的文件。
而使用文件存储时,我们需要明确地知道文件保存的路径,找回文件时需要按文件夹的路径依次找到文件。
容易造成混淆的原因如下:
对象存储厂商为了使得用户容易理解产品、管理资源,借用了文件存储相同的“目录”概念(即 对象存储的key可以为 path/path/image.png,然后在管理后台可以实现按path层级分割资源)
对象存储的好处是易于访问,方便扩展,降低成本。
对象存储的磁盘区别
我们用以下的简化例子说明原因。
当我们使用文件存储时,需要文件系统支持,简单点说就是要建各级文件夹然后把文件放在对应的文件夹中。
我们可以认为文件夹是建在一个硬盘上的,当这个硬盘满了的时候,我们需要增加新的硬盘,
可是已经创建好的文件夹是不可能扩展到这个新硬盘中的,只能在新硬盘中创建新的文件夹,然后再保存数据。
对于对象存储就没有这样的问题,所有文件(或者叫对象,其实是一回事)都放 “硬盘”根目录上,不需要各级文件夹,只有每个文件对应的key,
当前硬盘满了,增加新硬盘之后,新的文件就直接放在新硬盘的根目录下不需创建各种文件夹。
用户并不清楚自己的文件是放在哪个硬盘上,反正只要有key就可以找到自己的文件。
从上面这个简化的例子,我们可以看到对象存储的以下特点
- 提取文件只需要文件对应的Key,不需要知道各级路径(易于访问)
- 对象存储扩展时只需要加硬盘,不用创建文件系统(方便扩展)
- 因为不需要统一的文件系统,所以各种硬盘的规格限制也少了很多(降低成本)