对象存储基础
例子
比如douyin视频app
上传视频--存储视频--转码--存储视频--通过推荐服务投放
\抽帧--存储图片--↗
需要一个海量、易用、便宜的存储系统来解决这个问题。
为什么是对象存储
分布式存储:
- 分布式文件系统NAS/HDFS(受到NameNode的限制,Posix接口复杂,非云原生,数据结构为树装文件结构);
- 分布式对象存储OSS/TOS(restful简单,云原生,支持冷热数据分级存储能力,成本低,数据结构是bucket.xxx.com/dir1/dir2/data形式)。√
- 对象存储的对象属性,key、data、metadata,很容易获取数据基本信息
√ 适用场景:视频、图片、文本、安装包、前端静态文件、备份文件等
× 不适用的场景: 动态数据、商品订单、kv、随机写、append写、更新频繁的数据(钱包余额)
操作
上传put、下载get、查看元数据head、删除delete
大文件分片上传(multiUpload),multiUpload的三个阶段:initUpload、uploadpart、completeUpload