为什么对象存储优于 SAN/NAS

Why Object Storage is Superior to SAN/NAS

在存储和管理数据方面,存在着现代的云原生方式和传统的设备导向方式。不用说,对象存储是现代的云原生方式。虽然简单地说 MinIO 对对象存储有着无可救药的偏见(毕竟,这是我们唯一做的事情)是正确的,但这忽略了一个关键点——MinIO 背后的团队构建了 GlusterFS。考虑到 Gluster 曾是(可能现在仍然是)市场上最优雅、功能最全面的分布式文件系统之一,仅仅是这个团队展望未来并开始了一家对象存储公司这一事实就应该告诉你,这不是 MinIO 的唯一目标,而是关于什么是数据最功能强大、可扩展和弹性解决方案。

对象存储比传统的 SAN 和 NAS 解决方案具有根本优势。在这篇博客中,我们将深入探讨对象存储的优势,以及为什么它正成为许多组织的首选存储解决方案。

可扩展性

对象存储相对于 SAN/NAS 的最明显优势之一是它的可扩展性。传统的 SAN 和 NAS 解决方案随着数据量的增长变得非常昂贵(资本支出和运营支出)。它们根本不是为扩展而设计的。另一方面,对象存储旨在处理海量数据,并且可以根据需要轻松扩展,而无需对基础设施进行任何重大更改。这种可扩展性是通过使用分布式架构和基于软件的擦除编码实现的。对象存储系统通常由许多独立的存储节点组成,这些节点协同工作以存储和管理数据。随着新节点的加入,系统的整体容量和性能都会提升。大规模性能 是当今企业中一个至关重要的概念,而现代的高性能对象存储,如 MinIO,可以提供这种性能。

要了解更多关于 MinIO 如何实现扩展的信息,请查看关于 存储池 的文章。

成本效益

由于对象存储旨在处理大量数据,因此它通常比传统的 SAN 和 NAS 解决方案更具成本效益。这对于需要存储大量非结构化数据(如媒体文件、备份和存档)的组织来说尤其如此。应该注意的是,MinIO 的“海量”和传统 SAN/NAS 解决方案的“海量”是相当不同的。“海量”对于 SAN/NAS 来说大约是 1PB。而在对象存储的世界中,这只是很小的规模。如今,每个人都有 PB 级别的数据——即使是家庭实验室的人也是如此。对于对象存储来说,“海量”是指 EB 级别,而且还在不断增长。

对象存储在存储利用率方面也高度高效。传统的 SAN 和 NAS 系统通常具有很高的开销,这意味着可用存储空间的很大一部分被系统本身占用。另一方面,对象存储的设计非常高效,这意味着你可以花更少的钱获得更多收益。

你可以自己测试一下。查看我们的 擦除码计算器。它可以让你直接了解在不同的奇偶校验选择下你的利用率将是多少。尝试找到一个愿意提供这种透明度的 SAN/NAS 供应商。你找不到,因为他们不喜欢谈论这件事。

数据持久性

对象存储旨在具有高度的持久性和容错性。这意味着即使单个磁盘或服务器出现故障,你的数据仍然安全且可访问。此外,MinIO 内置的复制和数据保护功能确保数据始终受到保护且可用。

MinIO 的擦除编码方法经过高度优化(在性能和弹性方面),我们的博客上有大量关于 EC101EC 与 RAID 的内容,以及 我们的文档。擦除编码为分布式存储提供了数据保护,因为它具有弹性和效率。它将数据文件拆分为数据块和奇偶校验块,并对其进行编码,以便即使编码数据的一部分不可用,也可以恢复原始数据。水平可扩展的分布式存储系统依赖擦除编码,通过在多个驱动器和节点上保存编码数据来提供数据保护。如果驱动器或节点出现故障或数据损坏,则可以从保存在其他驱动器和节点上的块中重建原始数据。


可访问性

对象存储可以随时随地从任何设备访问。此外,对象存储旨在以 API 为驱动,这意味着开发人员可以轻松地将其集成到他们的应用程序和工作流程中。大多数 SAN 仅限于传统的机房协议,并且仅限于单个机房。

这一点非常重要。

在构建现代 Web 应用程序时,RESTful API 从根本上优于 POSIX。虽然有些人可能会争辩说这些技术服务于不同的目的,但在我们所处的云原生世界中,RESTful API 占主导地位。人们根本不会用 POSIX 构建新的应用程序。

首先,RESTful API 在数据交换和通信协议方面提供了更大的灵活性。与主要用于文件系统访问的 POSIX 不同,RESTful API 可以处理各种数据类型,从简单的文本字符串到复杂的媒体文件。这使得它更容易与不同的应用程序、平台和设备集成,并处理不同的用例。

其次,RESTful API 旨在具有可扩展性,可以处理大量并发请求。通过使用 HTTP 协议,RESTful API 可以轻松利用缓存、负载均衡和其他性能优化技术。POSIX 旨在用于本地文件系统访问,在分布式或基于云的环境中无法很好地扩展——它过于“健谈”。

第三,RESTful API 提供比 POSIX 更好的安全选项。通过使用 TLS、OAuth 和 JSON Web 令牌等现代安全协议,RESTful API 可以提供安全的身份验证、授权和数据加密。另一方面,POSIX 依赖于传统的文件系统权限,这些权限对于现代 Web 应用程序来说通常是不够的。

第四,RESTful API 旨在与平台无关,可以从任何具有互联网连接的设备访问。这使得开发跨不同平台和操作系统的应用程序变得更加容易。

最后,也许是最重要的是,RESTful API 比 POSIX 更易于使用和开发。使用 RESTful API,开发人员可以使用 GET、POST、PUT 和 DELETE 等简单的 HTTP 动词来与数据交互。相比之下,POSIX 要求开发人员使用更复杂的操作系统调用和文件系统操作,这些操作可能难以处理。随着时间的推移,拥有 POSIX 经验的开发人员越来越少。

元数据驱动

与基于文件的传统 SAN 和 NAS 解决方案不同,对象存储是元数据驱动的。这意味着每个对象都附带一组描述它的元数据。这些元数据可以包含诸如对象创建日期、文件类型或关键字等信息。

MinIO 对元数据的原子方法是独一无二的,它具有超高可扩展性和超快速度。其他对象存储供应商尚未在这方面投入精力,而是依赖于第三方集中式元数据数据库来处理工作。这 是一个糟糕的选择

元数据驱动的方法使根据特定条件搜索和检索对象变得容易。它甚至允许像 S3 Select 一样的谓词下推。例如,你可以轻松地搜索在特定时间段内创建的所有对象,或者搜索包含特定关键字的所有对象。要在 SAN/NAS 上实现这一点,你需要一个专用的应用程序层。你可以想象,这催生了一个相当健康的生态系统,这些公司非常乐意对你的 SAN/NAS 收取税款,以便它像 Web 应用程序一样工作。

总结

对象存储一直是云中的主要存储。随着云操作系统模型的扩展,对象存储成为本地、托管和边缘的首选存储类型。原因有很多——从可扩展性到安全性。正如一家大型金融应用程序公司所说,“我们将根据需要增加我们现有的 SAN/NAS 基础设施——但所有新的东西都将存储在对象存储中。随着时间的推移,这些传统的应用程序和工作负载将被淘汰,我们甚至不会费心对其进行现代化,而是直接编写云原生版本。”

我们每天都会听到这样的说法。我们怀疑你也一样。