对象储存简介和使用方法| 青训营

51 阅读2分钟

对象存储是一种分布式存储的选型,它具有以下优势:

  • 高可扩展性:通过增加节点来扩展存储容量和性能,无需重新分区或迁移数据。
  • 高可用性:多副本或纠删码来保证数据的可靠性和一致性,即使部分节点发生故障,也不会影响数据的访问。
  • 低成本:使用廉价的硬件和网络设备,降低存储成本。同时,根据数据的访问频率和重要性,实现数据的分层管理和归档,成本更低。
  • 易用性:仅需要简单的HTTP协议和RESTful API来实现数据的上传、下载、删除、查询等操作。还支持元数据的添加和检索,方便用户对数据进行管理和分析。视频/图片相关生态也十分丰富

又因为各种原因我们需要使用对象储存

  • 数据量的增长:随着互联网、物联网、大数据、人工智能等技术的发展,需要处理和存储的数据量呈指数级增长。传统的文件系统和块设备已经无法满足这种海量数据的需求。
  • 数据类型的多样性:需要存储的数据不仅包括结构化的文本、数字等,还包括非结构化的图片、视频、音频等。传统的关系型数据库已经无法适应这种多样化数据的需求。
  • 数据访问的灵活性:在不同的时间、地点、设备上访问我们的数据,而不受限于固定的网络和硬件环境。传统的本地存储已经无法满足这种灵活性数据的需求。

对象储存基本用法仅有四步:

  • 上传文件:将本地文件作为一个对象上传到对象存储中,并获取其标识符
  • 下载文件:从对象存储中下载一个对象,并保存到本地文件
  • 删除文件:从对象存储中删除一个对象
  • 管理文件:列出或更新对象存储中的文件

又分别对应以下几个接口(restful风格)

  • 创建对象(PUT):将一个新的对象上传到对象存储中,并返回成功/失败。
  • 读取对象(GET):根据一个标识符(key)从对象存储中下载一个对象,并返回其数据和元数据。
  • 删除对象(DELETE):根据一个标识符从对象存储中删除一个对象,并返回成功/失败。
  • 列出对象(LIST):根据一些条件从对象存储中列出一组对象,并返回其标识符和元数据。

有些时候也会有HEAD接口,作用是根据一个标识符来获取对象存储中某个对象的元信息而不返回对象的具体内容。