0 序
- 本文属笔记型博文。
目标读者:博主本人
- 本文OSS的描述内容,主要参考阿里云的OSS产品。
1 对象存储-概述
1.1 什么是对象存储OSS?
- 对象存储服务(
Object Storage Service
)是阿里云等云平台提供的海量、安全、低成本、高可靠的云存储服务,提供与平台无关的RESTful API
接口,提供99.999999999%的服务持久性。
- 优势:
- 海量、安全、低成本、高可靠
- 按量收费,无需担心存储容量
- 主要功能:
- 任何时间、任何地点、任何平台上对数据进行上传和下载
- 通过API或WEB页面方式管理海量数据
- 弹性扩展:海量存储空间,随时增加
- 大规模:支持同一时间内高并发,大流量的读写访问
- 图片处理:支持缩略、裁剪、水印、压缩和格式转换
- 按量付费:存储量、流量、请求次数付费
1.2 对象存储OSS的特点
OSS产品特点一:稳定
- 服务可用性不低于99.9%
- 规模自动扩展
- 数据三冗余备份,持久性99.999999999%
OSS产品特点二:低成本
- OSS使用成本很低
- 内网地址访问免流量费
- 无需运维投入
OSS产品特点三:安全
- 结合云盾防DDos系统
- 多种安全认证机制
- 提供访问日志,有助于追查非法访问
OSS产品特点四:大规模、高性能
- 存储容量无限扩展
- 处理能力弹性增加
- 多线BGP网络,各运营商访问流畅
1.3 对象存储OSS的应用场景
- 场景1:OSS适合作为应用程序的持久化存储
- 持久保存文件(附件、图片、视频)
- RDS数据库MySQL
- 场景2:数据处理
- 图片处理:提供裁剪、旋转、水印、缩放
- 媒体转码:音视频格式转换
- 场景3:海量存储
- 管理音视频资源
- 网络摄像机直存
- 管理海量的物联网设备数据(例如:车联网领域————CAN报文等)
- 软件系统的日志
- 场景4:动静态资源分离
- 动态资源:数据库记录
- 静态资源:图片、附件、音视频资源的超低延时传输
1.4 对象存储OSS的计费模式
OSS费用构成(按量付费[主要类型]、包年包月)
- 结算方式:
- 按量付费:
- 开通OSS后,默认付费方式
- 按小时时间
- 计费公式:实际资源使用量*每小时单价
- 包年包月:
- 以资源包的形式提供,超出部分按量付费
- 资源包类型:
- 1、存储包、下行流量包、回源流量包三种类型
- 2、地域资源包和全国通用资源包两大类
- 存储费用:
- 标准存储类型
- 实际存储量
- 低频/归档存储类型
- 实际存储量
- 存储实际未满指定天数的存储容量
- 数据取回量
- 流量费用:
- 外网流出流量
- CDN回源流出流量
- 跨区域复制流量
- 请求费用:
- 请求次数
- 数据处理费用:
- 图片处理
- 视频截帧
2 对象存储的概念与原理
2.1 基本概念
OSS数据组织结构
- OSS数据组织结构
Bucket/桶
- 同一用户、同一地域创建的存储空间不超过30个,名称全局唯一
- 存储空间一旦创建,名称、所处地域、存储类型不能修改
- 单个存储空间的容量不限制
Object
- 每个文件都是一个Object
- 文件大小限制
- 控制台最大不超过5G,断点续传方式
- 上传的文件大小不超过48.8TB
- OSS支持上传同名文件,但会覆盖已有文件
AK(AccessKey ID & Secret)
- 用于标识用户,为访问OSS做签名验证
Endpoint(访问域名)
- OSS对外服务的访问域名
- HTTP RESTful API对外提供服务
- 访问不同地域的时候,需要不同的域名
- 同一地域下,内外网的Endpoint也是不同的
2.2 对比分析:OSS vs 传统自建存储服务器
对比项 | 对象存储OSS | 自建服务器存储 |
---|---|---|
可靠性 | 服务设计可用性不低于99.9% 规模自动扩展,不影响对外服务 数据设计持久性不低于99.999999999% 数据自动多重冗余备份 |
受限于硬件可靠性,易出问题,一旦出现磁盘坏道,容易出现不可逆转的数据丢失。 人工数据恢复困难、耗时、耗力 |
安全 | 提供企业级多层次安全防护 多用户资源隔离机制,支持异地容灾机制。 提供多重鉴权和授权机制及白名单、防盗链、主/子账号功能 |
需要购买清洗和黑洞设备 需要单独实现安全机制 |
成本 | 多线BGP骨干网络(中国移动、联通、移动教育网等),无带宽限制,上行流量免费 无需运维人员与托管费用,0成本运维 |
存储受硬盘容量限制,需人工扩容 单线或双线接入速度慢,有带宽限制,峰值时需人工扩容 需专人运维,成本高 |
数据处理能力 | 提供图片处理、音视频转码、内容加速分发(CDN)、鉴黄服务、归档服务等多种数据增值服务,并不断丰富中 | 需要额外采购,单独部署 |
3 OSS产品一览
- [国内] 七牛云 Kodo OSS
对象存储产品(Kodo OSS)
- [国内] 阿里云 OSS
- [全球] Amazon S3
- [开源] MiniIO