OSS服务和自建服务器存储对比

1 OSS

1.1 什么是OSS

  阿里云对象存储服务(Object Storage Service,简称OSS),是阿里云提供的海量、安全、低成本、高可靠的云存储服务。它是一个分布式的对象存储服务,提供的是一个Key-Value对形式的对象存储服务。用户能够根据Object的名称(Key)惟一的获取该Object的内容。它具备与平台无关的RESTful API接口,可以提供99.99999999%的服务持久性。能够在任何应用、任什么时候间、任何地点存储和访问任意类型的数据。OSS适合各类网站、开发企业及开发者使用。html

1.2 OSS中的一些基本概念

1.2.1 存储空间(Bucket)web

  存储空间是用于存储对象(Object)的容器,全部的对象都必须隶属于某个存储空间。能够设置和修改存储空间属性用来控制地域、访问权限、生命周期等,这些属性设置直接做用于该存储空间内全部对象,所以能够经过灵活建立不一样的存储空间来完成不一样的管理功能。安全

  • 同一个存储空间的内部是扁平的,没有文件系统的目录等概念,全部的对象都直接隶属于其对应的存储空间。
  • 每一个用户能够拥有多个存储空间。
  • 存储空间的名称在OSS范围内必须是全局惟一的,一旦建立以后没法修更名称。
  • 存储空间内部的对象数目没有限制。

1.2.2 对象/文件(Object)服务器

  对象是OSS存储数据的基本单元,也被称为OSS的文件。对象由元信息(Object Meta),用户数据(Data)和文件名(Key)组成。对象由存储空间内部惟一的Key来标识。对象元信息是一个键值对,表示了对象的一些属性,好比最后修改时间、大小等信息,同时用户也能够在元信息中存储一些自定义的信息。网络

  根据不一样的上传方式,对象的大小限制是不同的。分片上传最大支持48.8TB的对象大小,其余的上传方式最大支持5GB。并发

  对象的生命周期是从上传成功到被删除为止。在整个生命周期内,对象信息不可变动。重复上传同名的对象会覆盖以前的对象,所以,OSS不支持修改文件的部份内容等操做。分布式

  OSS提供了追加上传功能,用户可使用该功能不断地在Object尾部追加写入数据。工具

1.2.3 Region(地域)性能

  Region表示OSS的数据中心所在的地域,物理位置。用户能够根据费用、请求来源等综合选择数据存储的Region。通常来讲,距离用户更近的Region访问速度更快。目前已开通的Region详见[1]。优化

  Region是在建立Bucket的时候指定的,一旦指定以后就不容许更改,该Bucket下全部的Object都存储在对应的数据中心,目前不支持Object级别的Region设置。

1.2.4 Endpoint(访问域名)

  Endpoint表示OSS对外服务的访问域名。OSS以HTTP RESTful API的形式对外提供服务,当访问不一样的Region的时候,须要不一样的域名。经过内网和外网访问同一个Region所须要的Endpoint也是不一样的。

1.2.5 AccessKey(访问密钥)

  AccessKey,简称AK,指的是访问身份验证中用到的AccessKeyId和AccessKeySecret。OSS经过使用AccessKeyId和AccessKeySecret对称加密的方法来验证某个请求的发送者身份。AccessKeyId用于标识用户,AccessKeySecret是用户用于加密签名字符串和OSS用来验证签名字符串的密钥,其中AccessKeySecret必须保密。

  更多基本概念详见[2]

1.3 功能概览

功能概览

1.4 文件上传

1.4.1 简单上传

  适用场景

  简单上传指的是用户使用OSS API中的Put Object方法上传单个Object,能够适用在任何一次HTTP请求交互便可完成上传的场景,好比小文件的上传。

  上传限制

  • 大小限制:Object的大小不能超过 5GB。
  • 命名限制
  • 使用UTF-8编码。
  • 长度必须在1-1023字节之间。
  • 不能以“/”或者“\”字符开头。

1.4.2 大文件上传

  OSS支持单个文件的大小,从0~48.8TB。当咱们上传大文件时,可能会有如下场景:

  • 单个文件超过5GB时,没法使用简单上传方法。
  • 文件较大,虽然小于5GB,但网络环境较差,常常出现网络缘由形成超时或者连接断开等错误的时候,上传容易失败。

  以上状况下,可使用分片段点续传方式或ossutil工具上传。

1.4.2.1 分片段点续传

  当使用SDK或API上传大文件时,可使用分片段点续传方式。分片段点续传方式使用于如下场景:

  • 恶劣的网络环境。如手机端,当出现上传失败的时候,能够对失败的Part进行独立的重试,而不须要从新上传其余的Part。
  • 断点续传。中途暂停以后,能够从上次上传完成的Part的位置继续上传。
  • 加速上传。要上传到OSS的本地文件很大的时候,能够并行上传多个Part以加快上传。
  • 流式上传。能够在须要上传的文件大小还不肯定的状况下开始上传。这种场景在视频监控等行业应用中比较常见。

  在这种上传方式下,Object的大小是由Part来决定的。最大支持10000块Part,每块最小100KB(最后一块能够比100KB小),最大5GB。

1.4.2.2 ossutil上传

  当须要使用工具(而不是使用API、SDK编写代码)上传单个或多个大文件时,可使用工具ossutil。

1.4.2.3 ossimport上传

  若是须要上传大批量的文件(包括大文件)到OSS,也可使用ossimport工具。

说明:当文件数目不是特别多,建议优先使用ossutil。

1.5 使用限制

使用限制

1.6 OSS的优点

  1. 方便、快捷的使用方式
  • 提供标准的RESTful API接口、丰富的SDK包、客户端工具、控制台。能够像使用文件同样方便地上传、下载、检索、管理用于Web网站或者移动应用的海量数据。
  • 不限文件数量和大小。能够根据所需存储量无限扩展存储空间,解决了传统硬件存储扩容问题。
  • 支持流式写入和读出。特别适合视频等大文件的边写边读业务场景。
  • 支持数据生命周期管理。能够自定义将到期数据批量删除或者转入到低成本的归档服务。
  1. 强大、灵活的安全机制
  • 灵活的鉴权,受权机制。提供STS和URL鉴权和受权机制,以及白名单、防盗链、主子帐号功能。
  • 提供用户级别资源隔离机制和多集群同步机制(可选)。
  1. 丰富、强大的增值服务
  • 图片处理:支持jpg、png、bmp、gif、webp、tiff等多种图片格式的转换,以及缩略图、剪裁、水印、缩放等多种操做。
  • 音视频转码:提供高质量、高速并行的音视频转码能力,让音视频文件轻松应对各类终端设备。
  • 内容加速分发:OSS做为源站,搭配CDN进行加速分发,具备稳定、无回源带宽限制、性价比高、一键配置的特色。

1.7 OSS的缺点

  文件系统是一种典型的树状索引结构,能够很轻易的支持文件夹的操做,好比重命名目录、删除目录、移动目录等。对于OSS来讲,能够经过一些操做来模拟相似的功能,可是代价很是昂贵。好比重命名目录,但愿将test1目录重命名成test2,那么OSS的实际操做是将全部以test1/开头的Object都从新复制成以test2/开头的Object,这是一个很是消耗资源的操做。所以在使用OSS的时候要尽可能避免相似的操做。

  OSS保存的Object不支持修改(追加写Object须要调用特定的接口,生成的 Object也和正常上传的Object类型上有差异)。用户哪怕是仅仅须要修改一个字节也须要从新上传整个Object。而文件系统的文件支持修改,好比修改指定偏移位置的内容、截断文件尾部等,这些特色也使得文件系统拥有普遍的适用性。但另一方面,OSS能支持海量的用户并发访问,而文件系统会受限于单个设备的性能。

  使用OSS应该充分发挥其优势,即海量数据处理能力,优先用来存储海量的非结构化数据,好比图片、视频、文档等。

1.8 产品订价

1.8.1 存储类型

  OSS提供标准、低频访问、归档三种存储类型。

  1. 标准存储类型

      提供通用的对象存储服务,适合频繁访问、有热点存在的各种音视频、图片、网站静态资源的存储,支持高吞吐计算场景,适合各种计算资源的存储。

  2. 低频访问存储类型

      适合长期保存、较少访问的数据,适合各种移动应用、智能设备、企业数据的备份,低频访问支持实时数据访问。

  3. 归档存储类型

      在三种存储类型中单价最低,适合须要长周期保存的档案数据、医疗影像、科学资料、影视素材,能有效优化长期存储成本。保存为归档存储类型的数据,恢复到可读取状态须要等待1分钟的解冻时间。

存储类型

1.8.1.2 计费方式

  阿里云OSS采用两种计费方式:按量付费(后付费)和包年包月(预付费)。

  按量付费

  用户先在阿里云帐户充值,系统每小时统计前一小时的实际用量并进行结算,从帐户余额中扣除实际消费金额,实际使用量能够经过控制台查看。按量付费支持全部的存储类型。OSS 的计量项包括存储量、流量、请求次数、数据处理。

  包年包月

  已使用的OSS资源在已购买的资源包规格内不收费,超过部分按量付费。包年包月目前只支持标准存储类型。

详细价格总览和价格计算器见[3][4]

2 自建服务器

2.1 自建服务器的优点

  1. 在沟通环节和应对突发问题的速度上具备先天优点

2.2 自建服务器的缺点

  1. 成本高,需在公司单独构建机房和租用专线上网,需投入高昂的专线及网络相关设备费用,和配备专业的维护工程师。
  2. 稳定性差,须要有专业的团队来进行维护,以达到365天全天候运营服务和监控服务;
  3. 安全性低,专线接入易受攻击;
  4. 环境差,租用专线很难作到拥有多条高速光纤网络,不易达到南北互联互通,稳定性高、速度快、带宽大,电力持续供应不能保证和达到两路市电,没有标准设施和24小时运做的机房专用空调系统,不能作到稳定的网络带宽、恒温、防尘、防火、防潮、防静电等良好的运行环璄。
  5. 扩展性差。

3 oss与自建存储对比

4 总结

若需自建至服务器程度,建议使用oss

若仅自建上传接口,建议自建,成本更低

[1]访问域名和数据中心 https://help.aliyun.com/document_detail/31837.html?spm=5176.doc31827.2.6.UzcCzu

[2]基本概念介绍 https://help.aliyun.com/document_detail/31827.html?spm=5176.doc52830.2.4.84wBlj

[3]详细价格总览https://www.aliyun.com/price/product?spm=5176.doc48266.2.6.YzYwYC#/oss/detail

[4]价格计算器https://www.aliyun.com/price/product?spm=5176.doc48266.2.6.YzYwYC#/oss/calculator

相关文章
相关标签/搜索