对象存储简介 | 青训营

39 阅读3分钟

01.规划存储时要注意什么?

  • 容量: 存储系统应该支持需求所要求的容量。

  • 易用: 好的存储能够解放业务,让业务专注于业务逻辑开发

  • 便宜: 存储越便宜就越能省钱

02.什么是对象存储?

对象存储(Object-based Storage)是一种新的网络存储架构,基于对象存储技术的设备就是对象存储设备。对象存储不支持随机读写操作,只能全读全写,其面向的是一次写入,多次读取的非结构化数据云存储的需求场景。

对象存储支持海量用户并发访问,并对外提供高扩展、高持久和高可用的分布式海量数据存储服务。

03.为什么选择的对象存储?

3.1 各类存储对比

2023-08-30-15-11-50-image.png

  • 单机存储 & 单机数据库存储:

    不适用于大容量的存储

  • 分布式数据库:

    分布式数据库只适合存储结构化和半结构化数据

    结构化数据是指数据和数据之间有一定关系,如用户信息,一个用户会关联包括电话号码,性别等各种维度的信息,这些信息一般都是不超过KB级别的,超过MB级别就不适合使用数据库处理了

  • 分布式存储:

    分布式存储是针对海量存储场景特别设计的存储,能够存储海量的大数据

所以,对象存储在适合大容量、非结构化的数据。

3.2 分布式存储选型

在确定选择分布式存储后,我们对分布式存储系统进行选型,分布式存储系统主要分为以下两种:分布式文件系统HDFS对象存储系统

3.2.1 HDFS的特点:

  • 在对海量数据的支持上:

    • 支持PB->EB海量存储

    • 文件数量受Name Node限制

  • 在易用性上:

    • 使用伪Posix文件接口,开发略复杂

    • 非云原生,搭建维护较麻烦

    • 视频/图片相关生态接入略复杂

  • 在成本上:

    • 使用普通X86服务器,成本低

3.2.2 对象存储的特点:

  • 在对海量数据的支持上:

    • 支持大于EB海量存储

    • 对象数量无限制

  • 在易用性上:

    • Restful HTTP接口,开发极简单

    • 云原生,按需申请使用

    • 视频/图片相关生态丰富

  • 在成本上:

    • 使用普通X86服务器

    • 具备冷热数据分级存储能力,成本更低

因此,相比较于HDFS,对象存储更易用、能支持更海量的存储、使用成本更低。

对象存储的接口易用性:

2023-08-30-15-18-52-image.png

对象存储支持Restful接口,与http的语义类似:

  • Bucket/Object语义

    • Bucket:存诸对象的桶可类比一个云上的Map

    • Object:对象,包含如下三人部分

      • Key:对象的名字,可类比Map的Key

      • Data:越对象的内容,例如视频/图片内容

      • MetaData:对象的一些元信息,如对象大小,对象Content-Type,也可以存储自定义元信息

  • HTTP接口

    • 任何时间、任何地点、任何互联网设备上传和下载数据

    • 支持HTTP协议的各种客户端都可访问

  • 接口速览

    • GET:下载对象

    • HEAD:查看对象元信息

    • PUT:上传对象

    • DELETE:删除对象

    • …………

小结:

从上面的几个方面,我们不难发现对象存储有以下特定点:

  • 只能全读全写

  • 接口易用,方便访问\开发

  • 对海量数据的存储支持友好

  • 使用普通X86服务器,具备冷热数据分级存储能力,成本更低

因此,我们可以总结出对象存储使用于静态的、Immutable的场景。