跳到主要内容
博客存储S3-兼容的对象存储:一个可扩展的云计算解决方案

S3-兼容的对象存储。为云计算提供可扩展的解决方案

IT文件存储解决方案:S3-兼容的对象存储

文件存储在云中和在任何其他IT工作空间中一样重要。云的便利性和灵活性提供了许多优势。你可以在没有大量前期成本的情况下建立基础设施,而且不会损失宝贵的地面空间。

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

  • 块状存储
  • 对象存储

基于云的块存储非常类似于桌面上或服务器室中的块存储。块存储设备将数据分割成固定大小的块,每次写(或读)数据的时候都是一个块。

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

对象存储是一次性存储单个对象(如文件),而不是将其分割成若干块。数据的位置是通过哈希函数确定的,这就排除了对查找表或其他可能成为瓶颈的映射组件的需要。对象存储系统还提供丰富和广泛的元数据,支持有效的搜索,并实现一些块存储不可能实现的管理能力。

大多数对象存储系统包括自动化和自我管理功能,允许一个管理员比块存储系统的管理员管理更多数据。更高的效率带来了更低的每GB成本。对自动化和自我管理的强调也意味着对象存储很适合于DevOps环境。

是云中对象存储解决方案的一个流行的。 S3 API是一个流行的API ,用于云中的对象存储解决方案。Amazon 最初开发了S3 ,但现在所有的存储提供商都可以使用。S3 ,将数据存储在由URL引用的桶中。一个桶是一个由数据对象和描述性元数据组成的存储资源。一个可选的功能叫桶的版本,让你在一个桶中存储同一数据对象的多个版本,这创造了一个内置的版本控制形式。 

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

一个RESTful、基于HTTP的访问模型意味着你可以很容易地建立自定义的Web应用程序,将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

留下回复

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