TOS对象存储实战 | 青训营笔记

312 阅读2分钟

这是我参与「第三届青训营 -后端场」笔记创作活动的的第5篇笔记。

0. 什么是对象存储

TOS,意为顶级的对象存储(Top Object Storage),是字节跳动自主研发的一款云原生对象存储系统。 课程目录:

  • 为什么需要对象存储
  • TOS的使用方式
  • TOS的高级特性

1. 为什么对象存储

  • 抖音作为现象级的短视频软件,每一分每一秒都在产生大量数据,对数据存储容量大小是以PB乃至EB为计的

  • 传统的分布式文件系统对视频,图片等资源支持较差

  • 传统分布式文件系统开发,维护较繁杂

  • 超大赢 image.png

  • 易用性:接口对比

    • 弱Posix文件系统语义
      • 目录/文件
      • Append写
      • 无法直接HTTP访问
      image.png
    • Bucket/Object语义
      • Bucket:存储对象的桶,可类比一个云上的Map
      • Object:对象,包含三个部分:
        • Key:对象名字,类似Map的key
        • Data:对象的内容。例如视频/图片
        • MetaData:对象的一些元信息
    • Http接口
      • 任何时间、地点、互联网设备上传下载数据
      • 支持Http协议的各种客户端都可访问
      image.png

对象存储TOS 海量
支持>EB海量存储 对象数量无限制
易用
Restful HTTP接口,开发极简单
云原生,按需申请使用 视频/图片相关生态丰富
便宜
使用普通X86服务器
具备冷热数据分级存储能力,成本更低

使用场景
静态、Immutable : 视频、图片、文本、安装包、备份、前端js文件
结构化、Mutable::关系型数据库、KV、随机写、Append写、更新频繁

2. 对象存储怎么用

  • 申请Bucket image.png
  • Restful接口

image.png

image.png

  • MultiUpload接口:解决上传大视频,网络卡壳场景

image.png

  • 分页列举接口:ListPrefix

image.png