云边日落 宁为玉碎,不为瓦全。 (北齐书·元景安传)
博主 云边日落
渝ICP备2021002886号-1渝公网安备50022502000591号博主 11月5日 在线自豪地使用 Typecho 建站搭配使用 🌻Sunny 主题当前在线 1 人
歌曲封面 未知作品
  • 歌曲封面“魔女の宅急便”~ルージュの伝言松任谷由実

渝ICP备2021002886号-1

渝公网安备50022502000591号

网站已运行 4 年 152 天 17 小时 36 分

Powered by Typecho & Sunny

2 online · 44 ms

Title

对象存储——OSS

酒笙

·

·

161次阅读
阿里云
Article
⚠️ 本文最后更新于2021年07月11日,已经过了1228天没有更新,若内容或图片失效,请留言反馈

对象存储

今天我们就简单的来一下对象存储——OSS,在学习之前呢,我们先来看一看图片放松一下心灵。
酒笙

{dotted startColor="#ff6c6c" endColor="#1989fa"/}

我们先来了解一下常见的三种存储方式

{lamp/}

{card-default label="块存储" width="100%"}

  • 专业厂商定制,整个存储相当于一块大硬盘(用户可根据需要格式化成文件系统使用)
  • 以数据块为最小存储单元,以inode直接定位数据(决定IO性能)
  • 以FC-SAN协议作为通讯介质
  • 优点是I/O性能好
  • 缺点是可扩展性差,数据不便于共享,并且设备价格高
  • scale up的扩展方式,单点通过多控制器、多电源实现容错
  • 代表产品:SAN
    {/card-default}
    {lamp/}
    {card-default label="文件存储" width=""}
  • 相当于共享文件夹(Samba)或NFS,由软件加服务器硬件实现
  • 以文件为存储单元,以目录结构定位数据(决定IO性能)
  • 优点是数据共享便利
  • 缺点是传输协议开销大,I/O性能差
  • 默认scale up的扩展方式,借助lvs可实现scale out扩展方式(存储自身没有高可靠性能力)
  • 代表产品:NAS
    {/card-default}
    {lamp/}
    {card-default label="对象存储" width=""}
  • 软件定义存储的一种类型,由存储软件系统加服务器硬件实现
  • 以数据对象为最小存储单元,通过数据对象ID直接索引数据(决定IO性能)
  • 优点是I/O性能好,协议开销小,共享便利,成本适中
  • scale out的扩展方式,存储本身实现高可靠性、高性能、高扩展
  • 代表产品Redhat Cept与OpenStack Swift
    {/card-default}

我们再来简要的概括一下这些存储

{collapse}
{collapse-item label="块存储" open}

  • 块存储我们简单的理解就是一块一块的硬盘,直接挂载在主机上,在主机上我们能够看到的就是一块块的硬盘以及硬盘分区。从存储架构的角度而言,块存储又分为DAS存储(Direct-Attached Storage,直连式存储)和SAN存储(Storage Area Network,存储区域网络)
    {/collapse-item}
    {collapse-item label="文件存储"}
  • 文件存储,我们指的是在文件系统上的存储,也就是主机操作系统中的文件系统。我们知道,文件系统中有分区,有文件夹,子文件夹,形成一个自上而下的文件结构;文件系统下的文件,用户可以通过操作系统中的应用程序进行打开、修改等操作,如打开word、编辑word。从架构上来说,文件存储提供一种NAS(Network Attached Storage,网络附属存储)架构,使得主机的文件系统不仅限于本地的文件系统,还可以连接基于局域网的共享文件系统。
    {/collapse-item}
    {collapse-item label="对象存储"}
  • 对象存储是面向对象/文件的、海量的互联网存储,它也可以直接被称为“云存储”。对象尽管是文件,它是已被封装的文件(编程中的对象就有封装性的特点),也就是说,在对象存储系统里,你不能直接打开/修改文件,但可以像ftp一样上传文件,下载文件等。另外对象存储没有像文件系统那样有一个很多层级的文件结构,而是只有一个“桶”(bucket)的概念(也就是存储空间),“桶”里面全部都是对象,是一种非常扁平化的存储方式。其最大的特点就是它的对象名称就是一个域名地址,一旦对象被设置为“公开”,所有网民都可以访问到它;它的拥有者还可以通过REST API的方式访问其中的对象。因此,对象存储最主流的使用场景,就是存储网站、移动app等互联网/移动互联网应用的静态内容(视频、图片、文件、软件安装包等等)。
    {/collapse-item}
    {collapse-item label="对比"}

    类型存储单元传输协议读写I/O协议开销共享能力拓展性可靠性成本
    块存储blockfc-san
    文件存储filetcp/ip
    对象存储objectscsi/fc/ata

{/collapse-item}
{/collapse}

阿里云——对象存储OSS

  • 阿里云对象存储OSS(Object Storage Service)是阿里云提供的海量、安全、低成本、高持久的云存储服务。其数据设计持久性不低于99.9999999999%(12个9),服务可用性(或业务连续性)不低于99.995%。

OSS相关概念

{callout color="#4defc1"}

{card-default label="存储类型(Storage Class)" width=""}

  • OSS提供标准、低频访问、归档、冷归档四种存储类型,全面覆盖从热到冷的各种数据存储场景。其中标准存储类型提供高持久、高可用、高性能的对象存储服务,能够支持频繁的数据访问;低频访问存储类型适合长期保存不经常访问的数据(平均每月访问频率1到2次),存储单价低于标准类型;归档存储类型适合需要长期保存(建议半年以上)的归档数据;冷归档存储适合需要超长时间存放的极冷数据。
    {/card-default}

{card-default label="存储空间(Bucket)" width=""}
存储空间是您用于存储对象(Object)的容器,所有的对象都必须隶属于某个存储空间。存储空间具有各种配置属性,包括地域、访问权限、存储类型等。您可以根据实际需求,创建不同类型的存储空间来存储不同的数据。
{/card-default}

{card-default label="对象(Object)" width=""}
对象是OSS存储数据的基本单元,也被称为OSS的文件。对象由元信息(Object Meta)、用户数据(Data)和文件名(Key)组成。对象由存储空间内部唯一的Key来标识。对象元信息是一组键值对,表示了对象的一些属性,例如最后修改时间、大小等信息,同时您也可以在元信息中存储一些自定义的信息。
{/card-default}
{card-default label="地域(Region)" width=""}
地域表示OSS的数据中心所在物理位置。您可以根据费用、请求来源等选择合适的地域创建Bucket。更多信息,请参见OSS已开通的地域。
{/card-default}

{card-default label="访问域名(Endpoint)" width=""}
Endpoint表示OSS对外服务的访问域名。OSS以HTTP RESTful API的形式对外提供服务,当访问不同地域的时候,需要不同的域名。通过内网和外网访问同一个地域所需要的域名也是不同的。
{/card-default}

{card-default label="访问密钥(AccessKey)" width=""}
AccessKey简称AK,指的是访问身份验证中用到的AccessKey ID和AccessKey Secret。OSS通过使用AccessKey ID和AccessKey Secret对称加密的方法来验证某个请求的发送者身份。AccessKey ID用于标识用户;AccessKey Secret是用户用于加密签名字符串和OSS用来验证签名字符串的密钥,必须保密。
{/card-default}
{/callout}

OSS重要特性

{callout color="#6ef2e9"}
版本控制

  • 版本控制是针对存储空间(Bucket)级别的数据保护功能。开启版本控制后,针对数据的覆盖和删除操作将会以历史版本的形式保存下来。您在错误覆盖或者删除文件(Object)后,能够将Bucket中存储的Object恢复至任意时刻的历史版本。
    Bucket Policy
  • Bucket拥有者可通过Bucket Policy授权不同用户以何种权限访问指定的OSS资源。例如您需要进行跨账号或对匿名用户授权访问或管理整个Bucket或Bucket内的部分资源,或者需要对同账号下的不同RAM用户授予访问或管理Bucket资源的不同权限,例如只读、读写或完全控制的权限等。有关配置Bucket Policy的操作步骤,请参见通过Bucket Policy授权用户访问指定资源。

跨区域复制

  • 跨区域复制(Cross-Region Replication)是跨不同OSS数据中心(地域)的Bucket自动、异步(近实时)复制Object,它会将Object的创建、更新和删除等操作从源存储空间复制到不同区域的目标存储空间。跨区域复制功能满足Bucket跨区域容灾或用户数据复制的需求。

数据加密

  • 服务器端加密:上传文件时,OSS对收到的文件进行加密,再将得到的加密文件持久化保存;下载文件时,OSS自动将加密文件解密后返回给用户,并在返回的HTTP请求Header中,声明该文件进行了服务器端加密。有关服务器端加密的更多信息,请参见服务器端加密。
  • 客户端加密:将文件上传到OSS之前在本地进行加密。有关客户端加密的更多信息,请参见客户端加密。

OSS使用方式

  • OSS提供多种灵活的上传、下载和管理方式。
  • 通过控制台管理OSS,OSS提供了Web服务页面,您可以登录OSS控制台管理您的OSS资源。更多信息,请参见控制台用户指南。
  • 通过API或SDK管理OSS,OSS提供RESTful API和各种语言的SDK开发包,方便您快速进行二次开发。更多信息,请参见OSS API参考和OSS SDK参考。
  • 通过工具管理OSS,OSS提供图形化管理工具ossbrowser、命令行管理工具ossutil、FTP管理工具ossftp等各种类型的管理工具。更多信息,请参见OSS常用工具。
  • 通过云存储网关管理OSS,OSS的存储空间内部是扁平的,没有文件系统的目录等概念,所有的对象都直接隶属于其对应的存储空间。如果您想要像使用本地文件夹和磁盘那样来使用OSS存储服务,可以通过配置云存储网关来实现。更多信息,请参见云存储网关产品详情页面。
    OSS定价
  • 传统的存储服务供应商会要求您购买预定量的存储和网络传输容量,如果超出此容量,就会关闭对应的服务或者收取高昂的超容量费用;如果没有超过此容量,又需要您按照全部容量支付费用。

{/callout}

OSS优势

{callout color="#dc41fb"}
安全

  • 提供企业级多层次安全防护,包括服务端加密、客户端加密、防盗链、通过Bucket Policy限制IP黑白名单访问、细粒度权限管控、日志审计、WORM特性等。
  • 多用户资源隔离机制,支持异地容灾机制。

智能存储

  • 提供多种数据处理能力,如图片处理、视频截帧、文档预览、图片场景识别、人脸识别、SQL就地查询等,并无缝对接Hadoop生态、以及阿里云函数计算、EMR、DataLakeAnalytics、BatchCompute、MaxCompute、DBS等产品,满足企业数据分析与管理的需求。

低成本

  • 多线BGP骨干网络,带宽资源充足,上行流量免费。
  • 无需运维人员与托管费用,0成本运维

持久性

  • OSS作为阿里巴巴全集团数据存储的核心基础设施,多年支撑双11业务高峰,历经高可用与高可靠的严苛考验。OSS的多重冗余架构设计,为数据持久存储提供可靠保障。同时,OSS基于高可用架构设计,消除单点故障,确保数据业务的持续性。
  • 服务可用性不低于99.995%。
  • 数据设计持久性不低于99.9999999999%(12个9)。
  • 规模自动扩展,不影响对外服务。
  • 数据自动多重冗余备份

方便、快捷的使用方式

  • API接口、丰富的SDK包、客户端工具、控制台。您可以像使用文件一样方便地上传、下载、检索、管理用于Web网站或者移动应用的海量数据。
  • 不限制存储空间大小。您可以根据所需存储量无限扩展存储空间,解决了传统硬件存储扩容问题。
  • 支持流式写入和读出。特别适合视频等大文件的边写边读业务场景。
  • 支持数据生命周期管理。您可以通过设置生命周期规则,将到期数据批量删除或者转储为更低成本的低频访问、归档存储、冷归档存储。
    强大、灵活的安全机制
  • 提供STS和URL鉴权和授权机制、IP黑白名单、防盗链、主子账号等功能。
  • 提供用户级别资源隔离机制和多集群同步机制。
  • 提供服务器端加密和客户端加密,并支持基于SSL/TLS的HTTPS加密传输,有效防止数据在云端的潜在安全风险。
  • 提供版本控制功能,防止文件被误删除或覆盖而造成数据丢失。
    数据冗余机制
  • OSS采用数据冗余存储机制,将每个对象的不同冗余存储在同一个区域内多个设施的多个设备上,确保硬件失效时的数据持久性和可用性。
  • OSS针对对象的操作具有强一致性。对象一旦上传或复制成功,即可立即读取,且冗余写入多个设备。
  • OSS会通过计算网络流量包的校验和,验证数据包在客户端和服务端之间传输中是否出错,保证数据完整传输。
  • OSS的冗余存储机制,可支持两个存储设施并发损坏时,仍维持数据不丢失。
  • 当数据存入OSS后,OSS会检测和修复丢失的冗余,确保数据持久性和可用性。
  • OSS会周期性地通过校验等方式验证数据的完整性,及时发现因硬件失效等原因造成的数据损坏。当检测到数据有部分损坏或丢失时,OSS会利用冗余数据重建并修复损坏数据。
    丰富、强大的增值服务
  • 图片处理:支持JPG、PNG、BMP、GIF、WebP、TIFF等多种图片格式的转换,以及缩略图、剪裁、水印、缩放等多种操作。
  • 音视频转码:提供高质量、高速并行的音视频转码能力,让您的音视频文件轻松应对各种终端设备。
  • 互联网访问加速:提供传输加速服务,可优化互联网传输链路和协议栈,大幅减少数据远距离传输超时的比例,极大地提升用户上传和下载体验。更多详情,请参见传输加速。
  • 内容加速分发:OSS作为源站,搭配CDN进行内容分发,提升同一个文件被重复下载的体验。
    {/callout}

演示

{dplayer src="http://tbm-auth.alicdn.com/e99361edd833010b/CzBmdPB98ApjaxDwzsS/QbVS89rXOFE9mpWkoSt_288903706440_hd_hq.mp4?auth_key=1625994562-0-0-3be306476c0ee5090c9ab069df39f292"/}

控制台界面如下
kqyxmmza.png
在buket列表我们可以创建存储名。
kqyxo93u.png
这里面呢我是早就创建好了一个了。创建之后就可以在这里看到你建立的bucket了。
kqyxpt3o.png
我们可以对他进行一些设置,在这里面我们机可以看到一个整体的使用情况。
kqyxrm0y.png
点击文件就可以进行上次
kqyxtrxy.png
你也可以进行一些权限设置
kqyxulgc.png
在这里我就不过多的进行演示了,然后我们需要注意的是,我们可以对文件连接进行一个防盗链的设置,这个就很有必要哦!

总结

我们的对象存储就到这里了,期待我们的下一次见面。
{cloud title="oss" type="default" url="https://qinzhi.xyz/usr/uploads/2021/07/1404343559.pdf" password=""/}

现在已有 0 条评论,0 人点赞
Author:酒笙
作者
对象存储——OSS
当前文章累计共 7489 字,阅读大概需要 10 分钟。
对象存储——OSS
2021年7月11日 · 0评论
docker—基本命令
2021年9月11日 · 0评论
一文搞定docker
2022年3月28日 · 3评论
Comment:共0条
发表
搜 索 消 息 足 迹
你还不曾留言过..
你还不曾留下足迹..
博主 不再显示
博主