什么是对象存储?
对象存储也称为基于对象的存储,是一种计算机数据存储架构,旨在处理大量非结构化数据。与其他架构不同,它将数据指定为不同的单元,并捆绑元数据和唯一标识符,用于查找和访问每个数据单元。
这些单元(或对象)可以存储在本地,但通常存储在云端,以便于从任何地方轻松访问数据。由于对象存储具有横向扩容能力,它的可伸缩性几乎没有限制,并且存储大量数据的成本也低于块存储等其他存储方法。
如今的许多数据都是非结构化的,无法很好地存储在传统数据库中,包括电子邮件、媒体和音频文件、网页、传感器数据和其他类型的数字内容。因此,寻找高效且经济实惠的方法来存储和管理这类数据成为了一个难点。越来越多的企业将对象存储作为存储静态内容、数据架构和备份的首选方法。
对象存储的定义
对象存储是用于存储非结构化数据的数据存储架构,它将数据划分为单元(对象),并存储在结构扁平的数据环境中。每个对象都包含数据以及应用可用于轻松访问和检索对象的元数据和唯一标识符。
对象存储的工作原理是什么?
在对象存储中,一个文件的数据块被共同保存为一个对象,并连同其相关的元数据和自定义标识符放入被称为存储池的扁平数据环境中。
当您需要访问数据时,对象存储系统将使用唯一标识符和元数据来查找所需的对象,例如图片或音频文件。您还可以自定义元数据,从而添加可用于其他用途(例如用于数据分析的检索)的上下文。
您可以使用 RESTful API、HTTP 和 HTTPS 查询对象元数据,以查找和访问对象。由于对象存储在全局存储池中,因此您可以快速轻松地找到所需的确切数据。此外,扁平环境使您能够快速扩容,即便是 PB 或 EB 级负载也毫不费力。存储池可以分布在多个对象存储设备和地理位置中,因此规模不受限制。随着数据量的增长,您只需向池中添加更多存储设备即可。
对象存储的优势(例如弹性和可伸缩性)使其成为管理云基础架构中非结构化数据的理想选择。那么,什么是云对象存储呢?顾名思义,也就是作为按需云服务提供的基于对象的存储。事实上,对于大多数大型云服务提供商而言,云对象存储是主要的存储格式。
比较对象存储、文件存储和块存储
多年来,随着互联网的发展以及数据源和数据类型的不断丰富,全世界的数据存储需求也在不断演变。传统的文件存储和块存储并不能很好地处理产生的海量数据,尤其是天生不适合结构化数据存储方法的非结构化数据。
那么,对象存储与文件存储和块存储有什么区别呢?
文件存储
文件存储将数据存储和整理到文件夹中,类似于您保存在办公室的纸质文件系统中的物理文件。如果您需要某个文件中的信息,则需要知道哪个房间、文件柜、抽屉和文件夹包含该特定文件。文件存储使用相同的分层存储结构,文件被命名,以元数据标记,然后放入文件夹中。
要找到某个数据,您需要知道查找该数据的正确路径。随着时间的推移,文件变得越来越多,搜索和检索数据文件可能会变得非常耗时。虽然可伸缩性较为有限,但通过这种方法可以很容易地存储几乎任何类型的少量数据,并且可供多个用户同时访问。
块存储
****块存储在文件存储的基础上提升了性能,它将文件拆分为多个单独的块并单独存储。块存储系统会为每个原始数据块分配一个唯一标识符,当您需要访问完整的文件时,系统将使用唯一标识符将数据块重组为完整的文件。块存储不需要单一的数据路径,因此您可以将其存储在最方便的位置,并且在需要时仍然能够快速检索。
块存储非常适合需要处理大量事务型数据或使用任务关键型应用的组织,可提供低延迟和一致的性能。但是,块存储费用高昂,不提供元数据功能,并且需要操作系统才能访问块。
对象存储
如前所述,对象存储将文件存储为扁平数据环境(即存储池)中的独立对象,对象包含全部数据、唯一标识符和详细元数据(元数据包含关于数据、权限、政策和其他应急情况的信息)。对象存储最适合非结构化数据的静态存储,您只写入一次数据,但可能需要多次读取。
虽然对象存储不需要目录、文件夹和其他复杂的分层结构,但却不适合用来存储不断变化的动态数据,因为修改对象需要重写整个对象。根据您的速度和性能要求,在某些情况下文件存储和块存储可能仍然适合您的需求。
对象存储有哪些优势?
可伸缩性强
您可以轻松横向扩容对象存储的扁平架构,而不会受到文件存储或块存储那样的限制。对象存储基本没有大小限制,因此只需添加新设备,即可将数据扩大到 EB 级。
复杂性低
对象存储没有文件夹或目录,也就不具有层次结构系统的大多数复杂性。由于没有复杂的树或分区,检索文件变得十分轻松,因为您不需要知道确切位置。
易于搜索
元数据是对象的一部分,使您无需借助单独的应用即可轻松搜索和导航。它也更加灵活,并且可以深度自定义。您可以使用各种特性和信息来为对象添加标记,例如用量、费用以及自动删除、保留和分层的政策。
具有弹性
对象存储可以自动复制数据并存储在多个设备和多个地理位置。这有助于防范服务中断和数据丢失,并可为灾难恢复策略提供支持。
成本效益高
对象存储在设计时考虑了成本因素,与基于文件和块的系统相比,能够以更低的价格存储大量数据。使用对象存储时,您只为需要的容量付费,即使存储大量数据,也能很好地控制费用。
对象存储使用场景和示例
对象存储提供了一系列有益于组织的解决方案。以下是云对象存储的一些常见示例和使用场景。
云原生应用
将 Google Cloud 对象存储用作构建或迁移到云原生应用所需的永久数据存储区。
大数据分析
存储大量任何类型的数据,然后查询这些数据以执行大数据分析,并获取有关客户、运营或市场的宝贵数据洞见。
物联网
在支持使用人工智能和高级分析功能充分理解数据的同时,以符合成本效益的方式高效管理 M2M(机器对机器)数据。
富媒体存储和传送
降低存储和在全球范围内分发音乐、视频和图片等富媒体的成本。
备份和归档
在降低备份和归档成本的同时,保障即时访问所有数据的能力。