阿里云代理商-阿里云服务器-阿里云数据库-重庆典名科技

OSS与文件系统的对比

发布时间: 2022-08-20 16:35:38文章作者: 网站编辑阅读量: 134
  OSS与文件系统的对比?下面小名来给大家介绍一下OSS与文件系统在数据模型、数据获取等方面的差异对比以及概念对应关系。

  差异对比

  下表为OSS与文件系统在数据模型、数据获取、优势以及劣势的差异对比。


  数据模型
  OSS:OSS是一个分布式的对象存储服务,提供的是一个Key-Value对形式的对象存储服务。

  文件系统:文件系统是一种典型的树状索引结构。


  数据获取
  OSS:根据Object的名称(Key)唯一的获取该Object的内容。
  虽然用户可以使用类似test1/test.jpg的名字,但是这并不表示用户的Object是保存在test1目录下面的。对于OSS来说,test1/test.jpg仅仅只是一个字符串,与example.jpg并没有本质的区别。因此不同名称的Object之间的访问消耗的资源是类似的。

  文件系统:一个名为test1/test.jpg的文件,访问过程需要先访问到test1这个目录,然后再在该目录下查找名为test.jpg的文件。


  优势
  OSS:支持海量的用户并发访问。

  文件系统:支持文件的修改,比如修改指定偏移位置的内容、截断文件尾部等。也支持文件夹的操作,比如重命名目录、删除目录、移动目录等非常容易。


  劣势
  OSS:OSS保存的Object不支持修改(追加写Object需要调用特定的接口,生成的Object也和正常上传的Object类型上有差别)。用户哪怕是仅仅需要修改一个字节也需要重新上传整个Object。
  OSS可以通过一些操作来模拟类似文件夹的功能,但是代价非常昂贵。比如重命名目录,希望将test1目录重命名成test2,那么OSS的实际操作是将所有以test1/开头的Object都重新复制成以test2/开头的Object,这是一个非常消耗资源的操作。因此在使用OSS的时候要尽量避免类似的操作。

  文件系统:受限于单个设备的性能。访问越深的目录消耗的资源也越大,操作拥有很多文件的目录也会非常慢。


  从上述表格得知,不建议将OSS映射为文件系统。如果结合您的业务场景需要将OSS挂载为文件系统,建议只执行写入文件、删除文件、读取文件操作。使用OSS应该充分发挥其优点,即海量数据处理能力,优先用来存储海量的非结构化数据,比如图片、视频、文档等。
联系客服免费领取更多阿里云产品新购、续费升级折扣,叠加官网活动折上折更优惠