对象存储TOS | 青训营笔记

127 阅读2分钟

分布式存储HDFS

特点:弱Psix文件系统语义(目录/文件、Append写、无法直接HTTP访问)

1684399561169.png

对象存储TOS(The Object Storage)

  1. Bucket/Object数据模型
    • Bucket:存储对象的桶,可类比云上的Map
    • Object:对象,包含三个部分(Key对象名字、Data对象内容、MetaData对象元信息)
  2. HTTP接口
    • 任何时间、任何地点、任何互联网设备上传和下载数据
    • 支持HTTP协议的各种客户端都可访问
  3. 适用场景:视频、图片、文本、安装包、备份、前端js文件等Immutable的静态数据

1684399598887.png

  1. Restful接口请求:{Bucket}/{Object Key}
    • PUT:上传,返回成功/失败
    • GET:下载,返回对象内容
    • HEAD(轻量版GET):查找,返回对象元信息
    • DELETE:删除,返回成功/失败

1684399654646.png

  1. MultiUpload接口(InitUpload、UploadPart、CompleteUpload):分而治之、分片上传

1684399738150.png

  1. Listprefix接口:分页

1684399784991.png

  1. 各大厂商对象存储服务
    • AWS:Simple Storage Service(简称 S3)
    • Azure: Azure Blob Stroage
    • Google Cloud: Google Cloud Storage
    • 字节跳动:对象存储 TOS(The Object Storage)
    • 阿里云:对象存储 OSS(Object Storage Service)
    • 腾讯云:对象存储 COS(Cloud Object Storage)
    • 华为云:对象存储服务 OBS(Object-based Service)

TOS字节实践

完整架构

1684400094354.png

  1. 可扩展性解法——Partition分而治之
    • 不同数据映射至不同Partition分区
    • Partition Logic:Hash/Range
    • 作用:扩容机器新建Partition——数据量增加;新增数据写入映射导向新Partition

1684399888833.png

  1. 持久度解决——Replication
    • 数据复制多份(多副本)
    • 副本放置策略:多机架、多机房、多Region
    • 作用:高持久度、强吞吐能力

1684399981553.png

  1. 成本解法——EC(Erasure Coding)
    • 冗余编码:可达到和多副本一样的持久度
    • 特点:低冗余度(成本较单纯多副本低)、额外计算(增加了额外的编码计算步骤)

1684400029800.png

  1. 成本解法——温冷转换
    • 热数据放SSD、冷数据放性能差且廉价的存储介质
  2. 高可用解法——拆分集群降低爆炸半径

1684400180887.png

  1. 高可用解法——镜像灾备

1684400215232.png