作者
Stephanie Susnjara
Staff Writer
IBM Think
Ian Smalley
Staff Editor
IBM Think
什么是对象存储器?
对象存储(通常称为基于对象的存储)是一种数据存储架构,非常适合可靠、高效、经济实惠地存储、归档、备份和管理大量的静态非结构化数据。
现代数字通信数据在很大程度上是非结构化的,也就是说,它不符合(也不容易整理为)传统的行列式关系数据库。其中包括电子邮件、视频、照片、Web 页面、音频文件、传感器数据以及其他类型的媒体和 Web 内容(文本或非文本)。
所有这些内容不断地从社交媒体、搜索引擎、移动设备和智能设备中流出。例如,Netflix 等流媒体服务采用对象存储来存储和提供面向全球用户的庞大影视库,从而实现多设备随时随地即时访问。
借助对象存储,您可以存储并管理 TB级、PB 级甚至更大的数据量,包括为当今规模最大的云平台和数据密集型应用程序提供支持的 EB 级部署。
如今,企业面临着与高效且经济地存储和管理大量数据相关的持续挑战。对象存储为满足现代数据存储需求提供了一种稳健的解决方案,因为与基于文件或基于区块的存储相比,它可提供几乎无限的可扩展性。
DataIntelo 的一项研究估计,到 2023 年,全球对象存储市场规模约为 68 亿美元。研究还预测,到 2032 年,该市场将增长到近 250 亿美元,复合年增长率 (CAGR) 为 15.7%。1这种增长反映了处理非结构化数据的需求不断增长、云采用率不断提高以及对大数据分析的依赖日益加深。
行业时事通讯
辅以专家洞察分析的最新科技新闻
通过 Think 时事通讯,了解有关 AI、自动化、数据等方面最重要且最有趣的行业趋势。请参阅 IBM 隐私声明 。
谢谢!您已订阅。
您的订阅将以英语提供。您会在每份时事通讯中找到一个取消订阅链接。您可以在此管理您的订阅或取消订阅。更多相关信息,请参阅我们的《IBM 隐私声明》。
对象存储的演变
自 21 世纪初推出以来,对象存储已取得重大突破。其关键里程碑包括 Amazon 于 2006 年推出的 S3,它为云对象存储应用程序编程接口 (API) 建立了事实标准。随后,OpenStack Swift 等开源解决方案于 2010 年相继问世,混合云部署则在 2010 年中期悄然兴起。
现代对象存储最初是为 Web 规模的应用程序开发的,现已成为云计算和容器化环境不可或缺的一部分。如今的实施方案支持智能数据分层、版本控制功能以及与 Kubernetes 和其他平台整合等高级功能,从而实现容器编排自动化。最近的创新包括 AI 驱动的数据管理(其中机器学习 (ML) 算法有助于优化存储成本和性能),以及使数据更接近使用地点的边缘对象存储功能。
就在对象存储在云原生环境中逐渐受到重视的同时,许多组织开始重新思考对传统存储架构的依赖。
过去,企业使用昂贵的存储区域网络 (SAN) 来管理增长的数据量,通常需要对硬件和 IT 基础设施进行大量资本投资。随着数据需求的激增,这种方法变得越来越难以维持。云存储服务提供了更灵活的选择,允许组织根据需要扩大或缩小容量。
企业现在可以访问存储即服务 (STaaS),而不必维护大型内部存储网络,从而降低成本,同时提高速度和可扩展性。所有主要公有云服务提供商(包括 Amazon Web Services (AWS)、Google Cloud、IBM® Cloud、Microsoft Azure)都提供对象存储功能。这种转变进一步发展为混合多云方法,其中组织战略性地将内部部署存储与多个云提供商结合起来,以优化性能、成本和合规性要求。
AI 学院
利用混合云实现 AI 就绪
本课程由 IBM 资深思想领袖带领,旨在帮助企业领导者获得所需的知识,以便划分可以推动增长的 AI 投资的优先级。
转到视频集
对象存储、文件存储与块存储的对比
云存储包含各种架构,包括文件、块和对象存储。每种方法都提供不同的数据管理和可访问性方法。现代组织根据其特定需求和数据类型使用不同的存储架构。
尽管结构化数据和交易工作量通常依赖传统的文件和块存储,但非结构化数字内容的激增促使对象存储成为了当今数据环境的关键部分。了解这三种存储方法,有助于您根据自身需求选择合适的方案。
以下是对象存储、文件存储和块存储的细分。
文件存储
文件存储会将数据整理并存储到文件夹中。系统会命名文件并用元数据进行标记(通常是文件名、文件类型以及创建和最近更新的时间),并整理到目录和子目录层次结构下的文件夹中。
可以将文件存储器想象为在文件柜中存储实体纸质文件。其中有多个抽屉(目录),而每个抽屉内会有标记的文件夹(子目录)。
若要在文件柜中查找特定的文件夹,可以拉出适当的抽屉并查看文件夹标签。同样,若要存取文件存储系统中的数据,电脑系统只需要查找相关数据的路径(目录和子目录)。
类似这样的分层存储系统可以很好地处理相对较小、易于整理的数据量。然而,随着文件数量的不断增加,搜索和检索过程可能变得繁琐而耗时。
块存储
块存储提供了一种文件存储的替代方法,效率和性能均有所提高。块存储将文件分解为大小相等的多个数据块,并将这些数据块分别存储在唯一地址下。不需要文件与文件夹结构。相反,可以将数据块集合存储在系统的任何位置,实现最大效率。
若要存取文件,服务器操作系统会使用唯一地址,一并提取相关数据块,并将其组装到文件中。由于系统无需浏览目录和文件层次结构即可存取数据块,因此您可以提高效率。块存储非常适合关键业务应用程序、事务数据库和虚拟机等使用场景,这些应用需要低延迟、细粒度或更详细的数据访问权限以及一致的高性能。
对象存储
对象存储不是将文件分成块或将其组织到分层文件夹中,而是将每块数据视为离散的、可寻址的单元。与依赖目录结构的文件系统或对数据进行碎片化的块存储不同,对象存储在每个存储单元内维护完整的数据完整性。
对象存储为超出块和文件解决方案实际限制的非结构化数据提供了经济高效、可大规模扩展的存储方式。它非常适合归档静态数据,例如合规记录、媒体库和不需要频繁修改的备份数据。
对象存储的工作原理是怎样的?
对象是存储在结构平坦的数据环境(对象存储的典型特征)中的离散数据单元。与传统文件系统不同,其中没有真正的文件夹、目录或复杂的层次结构,尽管可以使用命名约定来模拟类似文件夹的结构。
每个对象都是一个独立的单元,包括数据本身、关联的元数据(有关对象的描述性信息)和唯一标识符(通常称为对象键)。此唯一标识符可区分存储系统中的对象,可能类似于文件路径,但并不代表实际的目录结构。
存储库信息使应用程序能够找到和存取相关对象。可以将对象存储设备聚合到更大的存储池中,并使这些存储池分布在不同位置。此功能允许无限扩展并改进数据弹性和灾难恢复。
对象存储消除了分层文件系统的复杂性和可扩展性挑战。对象可以本地存储在本地部署数据中心、云服务器上或混合和多云环境中,并且可以从世界任何地方进行访问。现代部署通常使用容器编排和分布式基础设施来管理支持对象存储的底层系统。
对象(每个对象由数据、元数据和唯一标识符组成)可通过 API 在对象存储中访问。对象存储的原生 API 通常是基于 HTTP 的 RESTful API(也称为 RESTful Web 服务)。大多数提供商还提供软件开发工具包 (SDK),以简化跨各种编程语言与这些 API 的交互。
这些 API 利用对象的唯一标识符(或键)来检索对象,还支持查询其元数据。由于 API 采用基于互联网的设计,因此可以通过具有网络连接的多种设备随时随地访问对象。
RESTful API 使用“PUT”或“POST”等 HTTP 命令来上传对象,使用“GET”检索对象,并使用“DELETE”删除对象。(HTTP 是“超文本传输协议”的缩写,是在互联网上传输文本、图形图像、声音、视频和其他多媒体文件的一套规则)。
可以在对象存储实例中存储任意数量的静态文件,以供 API 调用。除了创建、检索、更新和删除对象之外,还出现了其他 RESTful API 标准。这些标准允许应用程序管理对象存储,其容器、帐户、多租户、安全性、计费等。
例如,假设您想要在单一平台中存储一个大型图书馆系统中的所有书籍。您需要存储书籍的内容(数据),但还需要存储作者、出版日期、出版商、主题、版权和其他详细信息等相关信息。您可以将所有这些数据和元数据存储在关系数据库中,按目录和子目录的层次结构整理到文件夹中。
但如果其中包含数百万本书,搜索和检索过程将变得繁琐而耗时。由于数据是静态或固定的,因此对象存储系统运行良好。在这个示例中,书籍的内容不会改变。
对象作为“包”存储在平面结构中,只需一次 API 调用即可轻松定位和检索。此外,随着书籍数量的不断增长,可以将存储设备聚合成更大的存储池,并分布式组合这些存储池,实现无限的规模扩展。
什么是对象存储器数据库?
您可以使用简单的 API 调用在对象存储系统中上传和检索文件,但应用程序还需要对象的元数据来在存储中找到正确的对象。这就是对象存储数据库发挥作用的地方。该数据库提供了一个分类目录,使用对象的元数据在分布式存储系统中查找相应的数据文件。
每个对象存储组都有包含两张表格的对象存储数据库:
对象目录表
对象存储表
对象目录表
对象目录表包含有关每个对象的描述性信息(元数据)。该目录通过记录集合名称标识、对象名称和其他相关信息来跟踪存储层次结构中的所有对象。例如,在常见的对象存储方法中,对象目录表包括三个主要索引:
对象创建时间戳
集合名称标识(名称 ID)和对象创建时间戳
对象名称和集合名称标识符
对象存储表
对象存储表包含数据内容或文件本身(即对象)。相关数据(视频和图像文件或大型文档资料库等固定数字内容)位于对象存储中,而元数据(相关数据的上下文信息,包括名称标识符)则位于数据库或对象目录表中。
当应用程序“发布”文件时,会创建元数据并将其存储在对象存储数据库内的对象目录表中,同时将相关文件“放入”对象存储表中。为了稍后检索文件,应用程序会在对象目录或数据库中查询元数据,并使用该描述性标识信息来查找或“获取”数据。
开源对象存储解决方案
开源技术能够灵活地控制数据管理和存储选项,既可以作为云服务提供商专有解决方案的替代方案,也可以与其集成。
借助开源工具和使用开放 API,您可以自定义代码以满足组织的特定要求,同时保持与现有专有系统的兼容性。这种方法可以让您自由使用您可能拥有的现有硬件或混合使用来自不同供应商的硬件,同时从更广泛的开发者社区的贡献中获益。
所有主要的开源对象存储解决方案均遵守 Amazon 的 Simple Storage Service (Amazon S3) 对象存储协议。它于 2006 年首次推出,此后已成为云存储 API 的事实标准。
常用的开源解决方案包括 Ceph、MinIO 和 OpenStack Swift。虽然这些解决方案可提供不同的功能、策略选项和方法,但各个解决方案都服务于同一目标,即使用兼容 S3 的 RESTful API 实现非结构化数字数据的大规模存储。
许多解决方案还可提供专属 API 作为 S3 的替代方案。例如,OpenStack Swift 不仅支持 Amazon 的 S3 API,还能提供具备独特功能的专属 Swift API。Ceph 对象存储可与 S3 兼容,但也支持 OpenStack Swift API 的大部分子集,从而实现应用程序与存储系统的灵活交互。
对象存储的优点
可扩展性:无限规模伸缩可能是基于对象的数据存储最显著的优势。可以将对象,即(任意数量的)独立数据单元,存储在服务器等存储设备内的扁平结构数据环境中。只需将更多设备或服务器并行添加到对象存储器聚类,即可进行额外处理,并支持视频或图像等大型文件所需的更高吞吐量。
降低复杂性:包含文件夹和目录的分层文件系统带来的复杂性,可以由对象存储器解决。因为无需浏览文件夹、目录或复杂的层次结构,所以降低了性能延迟的可能性,并提高了检索数据的效率。此功能可以提高性能,特别是在管理大量数据时。
高可用性和耐用性:对象存储系统可以配置为跨多个节点或集群复制数据。如果磁盘或节点发生故障,由于这种冗余,系统可以继续运行,而不会丢失数据。数据复制可以发生在同一数据中心内或跨地理分布的不同位置,从而确保高可用性和异地灾难恢复。
可搜索性:每个对象都是一个独立的存储库,其中包含与其关联的元数据或描述性信息。此元数据可以更轻松地根据特定属性或自定义标签查找和检索对象,从而增强可搜索性。除了支持数据生命周期管理和数据保护策略外,还可以自定义元数据以添加上下文,实现高级搜索、筛选和分析,以获得围绕市场趋势等的业务洞察分析。
成本效益:对象存储服务提供商通常提供“即用即付”定价,无需前期资本投入。成本基于实际使用情况,存储量、数据检索、带宽和 API 请求。定价是分层的或基于量的,具有不同的存储类别和存储层,旨在降低不经常访问的数据或大量数据的成本。许多对象存储解决方案可以在标准的、与供应商无关的硬件上运行,从而减少对新的或专有基础设施的需求。这种灵活性使组织能够重新利用现有服务器并以经济实惠的方式进行扩展。
安全性:对象存储具备全面的安全功能(例如,静态和传输过程中的加密),且可通过 IAM 策略实现强大的访问控制。许多解决方案还提供多重身份验证、数据丢失预防 (DLP) 功能以及与企业安全工具的整合,以实现集中监控和威胁检测。
云兼容性:对象存储与作为服务提供多租户存储的云或托管环境密切相关。这让多家公司或公司内部多个部门可以共享同一个存储库,每个公司或部门都可以访问存储空间的单独部分。这种共享存储方法本质上优化了规模和成本。您可以通过使用低成本的云存储来减少组织的现场 IT 基础设施,同时使您的数据在需要时保持可访问。例如,企业可以使用基于云的对象存储解决方案来收集和存储智能设备应用程序的大量非结构化物联网 (IoT) 和移动数据。
对象存储用例
备份和灾难恢复
对象存储有利于备份和灾难恢复,因为它是物理备份解决方案的高效替代方案。例如,磁带和硬盘驱动器等物理备份解决方案需要对数据进行物理加载、移除和异地传输,以实现地理冗余。
您可以使用对象存储自动将本地数据库备份到云,也可以在分布式数据中心之间经济高效地复制数据。添加额外的异地备份,甚至跨地理区域备份,以确保灾难恢复效果。
数据归档
基于云的对象存储器是长期保留数据的理想选择。它可以取代网络直连存储 (NAS) 等传统归档,且有助于降低 IT 基础设施成本。它还可以经济高效地保存大量无需频繁访问的富媒体内容,例如图像和视频。
数据湖
对象存储为构建集中式数据湖提供了可扩展且经济高效的解决方案。这些数据湖可以存储各种来源的无限量结构化和非结构化数据。然后,可以查询存储的数据以支持大数据分析,并生成与客户、运营和市场趋势相关的洞察分析。
云原生应用程序
基于云的对象存储可用作云应用程序开发的持久数据存储。它支持构建新的云原生应用,并对旧版应用进行现代化。您可以借助对象存储高效处理大量非结构化 IoT 和移动设备数据,并简化应用程序组件的更新。
生成式 AI
对象存储支持生成式 AI 的方式是存储用于训练和输出生成的大型数据集。它还可以进行扩展以处理海量数据,并使用元数据来帮助整理和跟踪数据,从而加快工作流程,并在推理过程中快速访问数据。
内容管理
组织可采用对象存储来管理大量文档、媒体文件和其他包含丰富元数据的内容资产,以实现轻松整理和检索。
IoT 与边缘
IoT 设备从传感器生成大量数据,对象存储可以有效地收集、存储并提供这些数据以供分析。它还包括边缘计算场景,其中数据处理发生在更靠近来源的地方。