需要现代的存储解决方案来存储、访问和组织不断增长的数据量。历史上,应用数据被存储在运行数据库软件的服务器上的磁盘驱动器上。虽然这种架构对于经常更新的数据来说是最理想的,但它很难扩展,因为你的驱动器是连接到数据库服务器上的。添加更多的存储也需要更多的计算能力。
对象存储可以解决扩展的问题,并结合了其他对广泛的工作负载有用的功能,包括可定制的元数据、访问控制、版本管理和内置复制。
Object Storage 是什么?
对象存储为传统存储设备提供了一个抽象层。对象存储系统中的数据以单个对象的形式存储和公开。对象可通过 REST API 从任何服务器或工作站进行更新。这些对象还可以分配可选的唯一 URL,通过 HTTP 请求进行访问。
基于云的对象存储解决方案可与混合或内部部署基础设施完美搭配。由于对象是通过 API 访问的,因此添加对象存储不需要额外的基于云的计算产品,从而简化了采用过程。由于 API 可从互联网访问,因此这些解决方案与现有的云基础设施和应用程序也是天然的匹配。
最后,基于云的对象存储可以随着你添加和删除对象而动态扩展。相比之下,块存储卷--也就是传统磁盘驱动器的云类似物--有一个固定的大小,需要调整大小的操作来缩小和增加它们。
对象存储的用例多种多样,从简单的多媒体存储到用于机器学习的大型数据集。今年早些时候,我们出版了一本电子书,介绍如何从云对象存储中获得最大价值。您可以在这里下载 "S3-Compatible Object Storage Use Cases"(需要注册)。以下是我们在电子书中介绍的几个案例。
文物存储
随着越来越多的开发和应用程序的生命周期变得自动化,越来越多的人工制品--如日志和版本文件的批量集合--从这些过程中产生。丢弃工件并不是一种最佳做法,因为这些残留物在以后的测试周期中往往是有益的。开发人员和利益相关者可以使用对象存储来保存工件,并在生产周期中通过分发其独特的URL来分享它们。
静态网站托管
对象存储使得托管一个静态网站变得简单,只需要最小的维护。传统上,静态HTML文件来自在虚拟机上运行的Web服务器(如NGINX 或Apache )。这个过程在对象存储中是不必要的,因为你可以让你的对象通过HTTP公开访问,而且每个对象都有一个独特的URL。一旦你建立了你的静态网站,你就可以通过把文件上传到一个对象存储桶来使它对互联网可用。
使用对象存储来托管你的静态网站文件,使你有更多的时间专注于开发你的网站,而不是像软件升级、网络服务器配置和安全维护等日常服务器维护任务。
非结构化数据
存储非结构化数据的需求是对象存储产生的最初催化剂。非结构化数据是任何不适合传统数据库的东西,包括日志文件、PDF文件、收据、地图和多媒体文件。这些数据的共同点--也是使其成为非结构化数据的原因--是它缺乏整齐地落入数据库列所需的内部关系信息。
对象存储使你能够为每一个非结构化数据配置自定义的元数据,使你能够轻松地从每个对象中推断出有用的信息,并检索具有类似元数据的对象。对非结构化数据使用其他存储方法,通常需要你设置一个额外的数据库来单独组织元数据。
通过对象存储,你的非结构化数据也获得了一个安全元素。块存储和对象存储在本质上都是私有的,但有一个主要区别:块存储需要设置一个服务器,使数据在互联网上公开。在对象存储中,一个桶中的所有新对象都默认设置为私有。要使对象公开,你可以使用访问控制,不需要服务器。之后,你的对象将可以通过HTTP请求进行访问。
网站文件
对象存储可以帮助优化你的网站或网络应用,在HTTP可访问的桶中托管静态资产,如图片、下载或用户数据。无论是从头开始建立一个动态网站,还是使用像WordPress这样的内容管理系统,或者像Magento这样的电子商务平台,传统的文件或块存储都会对存储网站文件带来较高的成本。对象存储提供了一种替代的、具有成本效益的方法来存储和组织你的网站或应用程序的部分资产。
如果您在基础设施中采用S3-CompatibleObject Storage 时需要帮助,请在此告知我们,或发送电子邮件至 proservices@linode.com
注释