跳到主要内容
博客存储S3兼容Object Storage :云计算的可扩展解决方案

S3兼容Object Storage :云计算的可扩展解决方案

IT 文件存储解决方案:S3- 兼容Object Storage

文件存储在云中的重要性不亚于任何其他 IT 工作空间。云的便利性和灵活性提供了许多优势。您可以建立基础设施,无需大量前期成本,也不会损失宝贵的楼面空间。

对于管理员来说,好消息是容错功能已经内置于云存储环境中,但他们仍将面临一些关键决策。云计算过程中的一个选择就是确定云资源的文件存储格式。选项包括

  • 块存储
  • 对象存储

基于云的块存储与台式机或机房中的块存储非常相似。块存储设备将数据分割成固定大小的块,每次写入(或读取)一个块。

网络块存储是这种块存储技术的延伸,这种技术已在硬盘和其他存储设备上使用了 40 多年。在要求低延迟和需要频繁访问数据的情况下,块存储仍然是一种具有成本效益的选择。不过,块存储也有一些缺点。例如,块存储通常比较昂贵,而且不能很好地扩展到大型数据集。对于非结构化数据、备份、归档和其他不需要频繁访问的情况,对象存储往往是更好的选择。 

对象存储是一次性存储单个对象(如文件),而不是将其分割成块。数据的位置通过散列函数确定,因此不需要查找表或其他可能成为瓶颈的映射组件。对象存储系统还提供丰富而广泛的元数据,支持高效搜索,并实现了一些块存储无法实现的管理功能。

大多数对象存储系统都具有自动化和自我管理功能,与块存储系统的管理员相比,单个管理员可以管理更多的数据。更高的效率可降低单位 GB 成本。强调自动化和自我管理也意味着对象存储非常适合 DevOps 环境。

S3 API是云中对象存储解决方案的常用 API。Amazon 最初开发的是S3 ,但现在所有存储提供商都可以使用。S3 将数据存储在通过 URL 引用的存储桶中。存储桶是一种存储资源,由数据对象和描述性元数据组成。可选功能 "存储桶版本控制"可让您在单个存储桶中存储同一数据对象的多个版本,从而创建一种内置的版本控制形式。 

多个基于云的对象存储解决方案与S3 兼容,这意味着如果您采用了与S3 兼容的解决方案,您可以轻松迁移到另一个与S3 兼容的解决方案,或将其他基于S3 的服务添加到现有配置中。许多重要的网络服务已经为S3 API 构建了接口,这意味着S3 很容易与 Ceph、OpenStack、Kubernetes 和其他技术集成。 

基于 HTTP 的 RESTful 访问模型意味着您可以轻松构建自定义网络应用程序,将S3 兼容的数据存储与本地网络或云中的其他资源连接起来。通过领先的容器和虚拟化工具提供的兼容接口,可以轻松地将基于S3 的对象存储集成到对 DevOps 环境至关重要的自动协调解决方案中。

对象存储的延迟较高,这意味着与S3 兼容的存储可能不是结构化数据库的最佳选择,但对于非结构化数据、备份集和类似的与S3 兼容的对象存储场景,其低成本和可扩展性往往使其成为最佳解决方案。

对象存储常用于托管音频、视频和照片文件库。由于每个文件都有自己的 URL,因此很容易将文件嵌入网站或集成到流媒体解决方案中。对象存储的单位 GB 成本较低,因此也是长期备份和冷存储方案的不错选择,它可以取代磁带文件存储,成为一种廉价的异地归档格式,比冷存储磁带更容易访问。 

说到网站,需要内容管理系统(CMS)或 PHP 等服务器端处理语言的动态网站可能更适合使用块存储,但对于围绕固定 HTML 文件构建的静态网站,对象存储是一种简单而经济的选择。

如果您正在考虑将与S3 兼容的对象存储添加到您的云基础架构中,您将有多种产品和供应商可供选择。AWS 在超大规模环境中提供S3 ;但是,没有大规模基础架构的中型和小型公司通常会发现,替代云可以提供更低的总体拥有成本和更好的性价比特性。替代云一词是指一类云供应商,它们为可能没有云专家团队的公司提供企业级服务目录。其重点在于低成本、简单性和更个性化的客户服务。

已经使用AWS 等超大规模供应商的公司有时也会为特定项目选择替代云解决方案,因为该项目可从简单性和低成本中获益。在这种情况下,S3 兼容性架构可确保围绕Amazon 云中的S3 存储开发的应用程序和服务在替代云环境中开箱即用。


评论 (1)

  1. Author Photo

    Does this mean that we can use boto3-like python package to deploy objects (jpgs) to Linode block storage? Similar to what you can do with Backblaze? https://help.backblaze.com/hc/en-us/articles/360047629793-How-to-use-the-AWS-SDK-for-Python-with-B2-

    If so, that would be amazing!
    P.S.
    Per this liode post, that seems to be the case https://www.linode.com/community/questions/20332/how-do-i-upload-a-file-to-object-storage-using-python

留下回复

您的电子邮件地址将不会被公布。 必须填写的字段被标记为*