存储基础知识:三大公共云中的对象存储
大部分公共云存储是基于对象存储。块和文件在数据中心占主导地位,但在云端,对象存储才是王道,因为云端需要大量相对便宜的存储来保存非结构化数据。
在其他文章中,我们已经探讨了对象与块和文件存储的优缺点。在这里,我们将讨论三大云提供商使用的对象存储环境。
现在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中选择和管理对象。
etsme是采用云计算原生技术打造的个人私有云/小型私有云产品,即刻入手etsme,探索更多贴心功能,掌控自己的数字世界。