对象存储是长期备份和归档的理想选择,需要了解如何将高性能对象存储扩展到大规模、高容量的工作负载。对象存储最有趣的方面之一是其用途的多样性。虽然对象存储经常被用作归档存储、遗留数据的目的地和文件服务器的替代品,但实际上对象存储有很多应用方式。随着供应商开始提供性能优化的对象存储,该技术已为全新的工作负载集做好准备。高性能对象存储需要的不仅仅是从基于硬盘的对象存储系统切换到全闪存对象存储。转向全闪存介质肯定会有所帮助,但对象存储系统(在很大程度上要归功于其丰富的元数据)通常具有太多延迟,无法有效利用闪存性能。创建高性能对象存储系统的另一个挑战是基础设施的横向扩展特性。为了满足容量需求,对象存储在存储集群中增加了大量的节点。每个节点的容量被吸收到集群中,创建一个存储池。在大型横向扩展集群中,拥有数十个节点的情况并不少见。聚合和管理这些节点的延迟可能很高。人工智能和深度学习的对象存储挑战人工智能、机器学习和深度学习等非结构化大数据工作负载是对象存储架构如何成为高性能工作负载的一个很好的例子。从理论上讲,这些工作负载应该是对象存储的理想选择。他们有数百万甚至数十亿个文件,存储所有这些数据需要大量的SSD或HDD,如此多的节点。这些过程也是吞吐量驱动的。所有这些因素的结合使得AI和深度学习为对象存储的高节点数存储集群量身定制。大多数与AI通信的框架,例如TensorFlow,都用于驱动AI和机器学习工作负载,它们都使用AmazonS3协议。大多数对象存储系统也是基于S3bucket,S3bucket本身是高度并行的。从理论上讲,对象存储基础设施应该能够满足人工智能和机器或深度学习工作负载的需求。然而,这种方法需要的不仅仅是创建一个全闪存对象存储系统。该系统必须能够处理这样一个事实,即可能有数十个(如果不是数百个)节点和元数据以及集群管理带来的挑战。应对元数据挑战元数据是关于数据的数据,它对高性能对象存储提出了挑战,原因有二:第一个挑战是对象存储系统需要更多时间来管理其丰富的元数据。管理更加复杂,因为大多数对象存储供应商在集群中指定一定数量的节点来管理和存储元数据。在人工智能和深度学习等工作负载中,专用元数据控制器经常不堪重负,成为系统瓶颈。因此,闪存驱动器甚至硬盘驱动器都无法发挥其全部潜力。第二个挑战是集群通信。大多数横向扩展NAS或块存储系统的节点数都很少。在网络附加存储(NAS)和块用例中,具有六个节点的存储集群被认为是一个大型存储系统,但在许多对象存储部署中,六个节点只是入门级。节点间通信成为一个大问题,尤其是在无性能归档不是问题的用例中。要创建高性能的大规模对象存储解决方案,需要解决元数据性能和集群管理问题。下一代对象存储将元数据分布到集群中的每个节点,而不仅仅是几个控制器。元数据的分布确保每个节点都拥有响应I/O请求所需的所有信息。其他高性能对象存储问题对象存储系统还必须解决节点之间的网络问题。元数据的分布在这里有所帮助,因为它减少了从东到西的流量。供应商必须优化他们的节点间网络,以免成为性能瓶颈。他们很可能必须优化网络通信以最小化传输频率。另一个需要优化的领域是协议仿真。例如,大多数对象存储系统都支持网络文件系统(NFS)。网络文件系统(NFS)支持至关重要,因为许多物联网设备使用NFS而不是本地S3存储桶。挑战在于许多对象存储系统使用单独的组件在NFS和S3存储桶之间进行转换,而不是在其软件中本地运行NFS。它的传输很昂贵,并且出现在高性能情况下。网络文件系统(NFS)在对象存储代码中的本地集成可实现更高的性能和对相同数据的同时访问。并发访问意味着物联网设备可以通过网络文件系统(NFS)将数据发送到对象存储卷,而人工智能或深度学习框架可以通过S3存储桶对象处理数据,而无需复制或移动它们。NAS适用的地方网络附加存储(NAS)系统仍然在数据中心发挥作用。对象存储是长期归档和备份的理想选择,尽管大容量网络附加存储(NAS)仍然可以在备份存储市场上竞争。对象存储也适合作为文件服务器的替代品,用于性能不太重要的工作负载(例如用户主目录)。高性能对象存储非常适合需要数十或数百个节点和数十PB容量的大规模工作负载。这些工作负载还取决于吞吐量,并且在I/O访问方面高度并行。介于这两个极端之间的是高性能、非结构化数据工作负载,它们本质上是具有少量节点的随机I/O。在这些用例中,网络附加存储(NAS)可能仍然是更好的选择。
