01.规划存储时要注意什么?
-
容量: 存储系统应该支持需求所要求的容量。
-
易用: 好的存储能够解放业务,让业务专注于业务逻辑开发
-
便宜: 存储越便宜就越能省钱
02.什么是对象存储?
对象存储(Object-based Storage)是一种新的网络存储架构,基于对象存储技术的设备就是对象存储设备。对象存储不支持随机读写操作,只能全读全写,其面向的是一次写入,多次读取的非结构化数据云存储的需求场景。
对象存储支持海量用户并发访问,并对外提供高扩展、高持久和高可用的分布式海量数据存储服务。
03.为什么选择的对象存储?
3.1 各类存储对比
-
单机存储 & 单机数据库存储:
不适用于大容量的存储
-
分布式数据库:
分布式数据库只适合存储结构化和半结构化数据。
结构化数据是指数据和数据之间有一定关系,如用户信息,一个用户会关联包括电话号码,性别等各种维度的信息,这些信息一般都是不超过KB级别的,超过MB级别就不适合使用数据库处理了
-
分布式存储:
分布式存储是针对海量存储场景特别设计的存储,能够存储海量的大数据
所以,对象存储在适合大容量、非结构化的数据。
3.2 分布式存储选型
在确定选择分布式存储后,我们对分布式存储系统进行选型,分布式存储系统主要分为以下两种:分布式文件系统HDFS、对象存储系统。
3.2.1 HDFS的特点:
-
在对海量数据的支持上:
-
支持
PB->EB海量存储 -
文件数量受
Name Node限制
-
-
在易用性上:
-
使用伪Posix文件接口,开发略复杂
-
非云原生,搭建维护较麻烦
-
视频/图片相关生态接入略复杂
-
-
在成本上:
- 使用普通X86服务器,成本低
3.2.2 对象存储的特点:
-
在对海量数据的支持上:
-
支持大于
EB海量存储 -
对象数量无限制
-
-
在易用性上:
-
Restful HTTP接口,开发极简单 -
云原生,按需申请使用
-
视频/图片相关生态丰富
-
-
在成本上:
-
使用普通X86服务器
-
具备冷热数据分级存储能力,成本更低
-
因此,相比较于HDFS,对象存储更易用、能支持更海量的存储、使用成本更低。
对象存储的接口易用性:
对象存储支持Restful接口,与http的语义类似:
-
Bucket/Object语义
-
Bucket:存诸对象的桶可类比一个云上的Map
-
Object:对象,包含如下三人部分
-
Key:对象的名字,可类比Map的Key
-
Data:越对象的内容,例如视频/图片内容
-
MetaData:对象的一些元信息,如对象大小,对象Content-Type,也可以存储自定义元信息
-
-
-
HTTP接口
-
任何时间、任何地点、任何互联网设备上传和下载数据
-
支持HTTP协议的各种客户端都可访问
-
-
接口速览
-
GET:下载对象
-
HEAD:查看对象元信息
-
PUT:上传对象
-
DELETE:删除对象
-
…………
-
小结:
从上面的几个方面,我们不难发现对象存储有以下特定点:
-
只能全读全写
-
接口易用,方便访问\开发
-
对海量数据的存储支持友好
-
使用普通X86服务器,具备冷热数据分级存储能力,成本更低
因此,我们可以总结出对象存储使用于静态的、Immutable的场景。