现代云存储通常提供三种不同类型的解决方案。 第一种类型,也是通常最熟悉的一种,是基于文件的存储。基于文件的存储是简单地将数据存储在存储介质上一个层次的文件中。近年来,另外两种类型的存储已开始流行使用:块存储和对象存储。块存储通过在硬件内将数据分解成更小的部分,或称块,来管理数据。 对象存储将数据存储为具有详细元数据和唯一标识符的平面结构中的不可改变的块状物。
这三种类型的存储都有其用途,了解在你的应用中使用哪种类型的存储以及何时使用它是很重要的。 在这篇文章中,我们将专注于扩展你对S3-兼容的对象存储的知识,并理解什么时候它是在你的架构中使用的合适的解决方案。
存储的类型
基于文件的存储将数据存储为目录内的单一信息,即一个文件夹。 想象一下,一个充满文件夹的文件柜,按字母顺序组织。当你想检索关于你的花园的数据时,你只需去文件柜中的 "G "部分。
块存储 将数据分割成更小的部分,称为块,每个数据块都有一个唯一的标识符,以便检索。 块存储就像从一本书中取出每一页,并以独立的非线性方式存储它们。 当你需要重新组装这本书时,你可以按页码来做。
对象存储是一种扁平结构,其中文件被分解成被称为对象的独立单元,并被赋予一个独特的标识符。 对象存储就像使用代客泊车;钥匙与位置信息一起存储,这些数据可以用来从停车场取回一辆车。 钥匙是标识符,位置是元数据,而对象是汽车。
首先,我们应该从商业和技术角度更清楚地定义对象存储。 从商业角度来看,对象存储是一个数据存储系统,它的设计是大规模的可扩展性、持久性和成本效益。 从技术角度来看,对象存储通过将数据存储为对象,将存储的对象与其他基础设施解耦,并允许存储的数据通过基于HTTP的接口以编程方式访问,来实现这一目标。 了解何时以及为何在你的应用程序中使用对象存储,可以从操作和预算的角度转化为节约。
让我们深入挖掘一下,以便更好地了解对象存储中的对象是什么。 当我们说我们把数据存储为对象时,它是什么意思?对象存储是为了处理带有相关元数据和索引的大量非结构化数据。 因此,一个对象可以被定义为数据,它被存储为一个blob或对象,围绕该对象的元数据,以及每个对象的唯一标识符。
在云中,这些对象被存储在通常被称为桶的结构中,所有的对象都可以通过HTTP请求直接访问。 这意味着,你的所有数据都可以从构成你的架构的微服务中以编程方式访问,这意味着你的应用程序的大规模可扩展性和低价的存储成本。
通过HTTP请求访问数据是当今云中对象存储服务的核心原则之一。AWS ,通过创建简单存储服务和相关的API ,率先在云计算中使用对象存储,这已被称为S3 API 。模仿S3 API 的功能已成为在云中实现对象存储的事实标准。
Linode使用ceph对象网关构建其对象存储服务,它提供了与S3 API 的基本访问模型的兼容性。这意味着你可以使用一个共同的API ,为多个云编写符合S3 的工作负载。 换句话说,目前被托管在 Amazon S3谷歌云存储、Azure Blob存储或Digital Ocean Spaces中的数据也可以存储在Linode Object Storage中,而不需要改变接口。 利用一个共同的API 标准可以帮助你的企业最大限度地提高它的多云战略。
现在我们了解了存储类型之间的差异,以及S3 兼容的API 如何提供多云功能,让我们检查一下将对象存储纳入生产架构的一些最常见的使用案例。 回顾一下,对象存储为各种应用和服务中的非结构化数据提供了大规模可扩展、高成本效益的存储。
使用案例:
备份和灾难恢复: 对象存储是整个组织备份的完美目的地。 有多种服务利用了包括SHIELD云在内的利用Linode对象存储的备份策略。

静态资产: 使用 react 和S3 兼容的对象存储部署无服务器网络应用。 你可以将你的静态资产与你的计算架构解耦,从而实现可扩展性并降低存储成本,同时保持高可用性。 对于不需要计算环境的静态网站,对象存储是一个很好的用例。

数据仓库: 将非结构化数据存储在对象存储中,以满足您的数据仓库和数据湖需求。

了解存储类型并在你的组织中适当地应用它们应该是你的云战略的一个核心组成部分。 对象存储提供了大规模可扩展的云存储和多云战略的通用接口。 要了解更多关于常见用途的信息,请查看云对象存储使用案例。
注释