存储基础知识:三大公共云中的对象存储

日期: 2019-03-31 作者:Antony Adshead翻译:邹铮 来源:TechTarget中国 英文

大部分公共云存储是基于对象存储。块和文件在数据中心占主导地位,但在云端,对象存储才是王道,因为云端需要大量相对便宜的存储来保存非结构化数据。

在其他文章中,我们已经探讨了对象与块和文件存储的优缺点。在这里,我们将讨论三大云提供商使用的对象存储环境。

现在S3已成为事实标准,它源自亚马逊的简单存储服务(Simple Storage Service),其名称亦是来自该对象存储平台,随后它发展成为一种更广泛使用的解决方案,用于解决云端存储以及内部对象存储硬件(例如来自Scality等供应商的产品)的存储。

但S3只是亚马逊的云对象存储,另外,微软有Azure Blob存储,谷歌也有Cloud Storage。

这些都是相似的产品,但它们不会直接相互通信,那么客户如何在三大云对象存储环境之间进行通信呢?

虽然我们完全可以编写脚本以在这三个云之间移动和管理数据,但在查看这些云提供商提供的现成解决方案时,我们发现,这三家供应商提供的互操作性并不一致。

例如,我们可以很容易找到应用程序编程接口(API)连接器以允许从Azure和Google Cloud Storage访问S3存储。并且,谷歌公司做出很大努力让数据可从S3迁移到自己的云端,这当然是出于显而易见的原因。但是,我们却没有明显的产品或服务来帮助从S3访问谷歌对象存储。

在很大程度上,这个市场以及这些供应商的相对实力决定了可用的解决方案。

然而,这篇文章的主要目的是概述云端主要对象存储环境,让我们开始吧。

云对象存储

在这些提供商的对象存储方案中,对象可以是任何数据,例如文件、图像或某种其他类型的非结构化内容,并且,这些对象通常与元数据存储在一起,元数据用于标识和描述其内容。

对象存储采用扁平结构,这与基于网络文件系统(NFS)存储、基于通用互联网文件系统(CIFS)存储或基于服务器消息块(SMB)存储中的文件结构层次结构不同。

这些提供商的主要区别在于各种服务的名称,以及客户如何访问内容或在不同云之间移动内容。

亚马逊S3

在S3中,对象的大小范围可以从几千字节到5TB,并且,对象被分配到存储桶,这些存储桶提供管理和多租户功能。

用户可使用HTTP(S)、基于REST的API和Web浏览器控制台访问S3。

在命令方面,“Put”用于存储新对象,“Get”检索对象以及“Delete”。而对象的更新是使用Put请求,覆盖现有对象或创建新版本的对象–如果启用了版本控制。

在S3中,对象可以具有用户选择的唯一名称和命令。S3可以通过软件开发工具包访问,语言包括Java、.Net、PHP和Ruby。

亚马逊S3存储层包括标准、标准(不常访问)和Glacier,每种都有不同的定价和访问时间。

微软Azure Blob

Azure Blob是微软的对象存储服务,类似于亚马逊的S3。在其中,“blob”就像存储桶,作为保留对象的框架。

Blob中的对象(显然来自二进制大型对象)存储可以通过HTTP(S)URL访问,以及由用户或客户端应用程序通过Azure Storage REST API、Azure PowerShell、Azure CLI或Azure存储客户端库来访问,它支持多种语言,包括.Net、Java、Node.js、Python、PHP和Ruby。

你可以使用shell和命令行界面(CLI)在Azure Blob中上传、下载、列明、移动和执行其他命令。通过API,Blob中也有类似于S3中的Get、Put、Delete等命令。

最大对象规格为4.7TB。

S3用户可以使用包含S3Proxy的工具通过S3命令访问Azure存储,S3Proxy允许使用S3 API的应用程序访问Blob存储。

同时,(Scality公司的)Zenko Connect for Azure提供了一个S3 API兼容的前端转换器以连接Azure Blob存储。

另外,Azure和谷歌云存储之间也存在一些互操作性,例如,你可以使用Azure Data Factory将数据从后者复制到前者。

谷歌Cloud Platform

与S3和Azure一样,谷歌云存储为存储桶中的对象提供存储。

与其他两个平台一样,单个对象的最大规格为5TB。每个对象的更新限制为每秒一次,这意味着到单个对象的快速写入将无法扩展。

对象可通过HTTP(S)URL进行寻址,谷歌拥有自己的CLI,被称为gsutil,以及API和Web图形用户界面(GUI)访问。

谷歌云存储分为四类,主要区别在于可用性、访问时间和成本:多区域存储、区域存储、近线存储和冷线存储。

谷歌云存储和Amazon S3之间存在一定程度的互操作性。除迁移之外,你还可以从gsutil命令行管理和使用S3中的存储桶。你可以使用谷歌的Storage Transfer Service在S3中选择和管理对象。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

翻译

邹铮
邹铮

相关推荐