单机存储:
文件系统 Key-Value存储
单机数据库:
关系型数据库 非关系型数据库
分布式数据库:
关系型数据库 非关系型数据库
分布式数据库:
关系型数据库 非关系型数据库
存储备选 海量支持 适合数据类型 是否入选
单机存储 No 单机文件/KV No
单机数据库 No 少量(半)结构化数据 No
分布式数据库 Yes 大量(半)结构化数据 No
分布式文件系统HDFS:
海量:支持PB- >EB海量存储 ;文件数量受Name Node限制
易用:伪Posix文件接口,开发略复杂 ;非云原生,搭建维护较麻烦 ;视频/图片相关生态接入略复杂
便宜:使用普通X86服务器,成本低
对象存储TOS.
海量:支持>EB海量存储; 对象数量无限制
易用:Restful HTTP接口,开发极简单云原生,按需申请使用;视频/图片相关生态丰富
便宜:使用普通X86服务器,成本低
弱Posix文件系统语义:
目录/文件 Append写 无法直接HTTP访问
接口速览:
Mkdirs Append Create CreateSymlink Delete Open Get 支持>EB海量存储 对象数量无限制
02.为什么对象存储-易用性:接口对比
Bucket/ Object语义:
Bucket:存储对象的桶
Object:对象,包含如下三个部分:
Key: 对象的名字,可类比Map的Key Data:对象的内容,例如视频/图片内容 MetaData:对象的一些元信息,如对象大小,对 象Content- Type,也可以存储自定义元信息
HTTP接口:
任何时间、任何地点、任何互联网设备上传和下载数 据; 支持HTTP协议的各种客户端都可访问
接口速览:
GET:下载对象 HEAD:查看对象元信息 pUT:上传对象 DEL .ETE:删除对象 对象数量无限制
适用场景
视频 图片 文本 安装包 备份 前端js文件 关系型数据:商品订单... KV:缓存记录... 随机写:在线编辑文件... Append写:大数据计算中间结果.