logo

存储技术简史

既然数据库的单点就是磁盘,那么接下来我们就来了解一下存储技术的发展简史。

集中式存储

集中式存储是一种采用独立的控制器(即计算机)控制大量的硬盘,并通过控制器对外提供多种不同层级的接口(硬件层面的 SAS/FC,软件层面的 SCSI/iSCSI/InfiniBand 等),以满足多个客户端、多种不同存储需求的产品。

集中式存储的兴起让 IOE 中的 E(EMC 存储公司)大放异彩:就像前面提到的那台价值百万的负载均衡设备一样,EMC 的集中式存储通过双控制器开机热备+全冗余网络连接,再配合 SAN 交换机和双 HBA 卡,实现了全冗余的存储网络架构。它性能出色,可以支持多台服务器连接使用,并且非常稳定。唯一的缺点就是价格昂贵。光是一个普通的 16 口 16G SAN 交换机,价格就已经超过了 40G 以太网交换机(交换容量甚至可以达到 50Tbps 以上)。更不用说一年也卖不出去几片的 HBA 卡了。而且,集中式存储设备本身更贵,非常贵,比两台标准 x86 服务器还要贵。

为什么集中式存储这么贵呢?因为它使用了非常高的硬件成本和服务成本,真正解决了大多数企业面临的存储问题:厂家负责上门部署,定期维护,你只需要出高价即可。集中式存储的本质是利用高水平的硬件+硬件级全冗余+保姆式的技术服务,彻底解决了存储这个难题。

分布式存储

进入云计算时代,分布式存储大放异彩:既然海量的 x86 服务器已经在机柜里运行着了,为什么不拿出一点点计算资源构建一个省钱的分布式存储呢?而且从需求的角度来看,云计算的规模正在快速增长,集中式存储很难满足如此快速的规模扩张。这时候就需要分布式存储登场了。

分布式存储选择通过海量普通可靠性的硬件+软件+数据冗余的方式,将一群 x86 服务器通过以太网或者 InfiniBand 相互连接,将分散在每一台服务器上的机械磁盘和固态磁盘组织到一起,形成一个庞大的硬盘资源池。这个软件定义的存储集群可以做到与集中式存储一样的三高:高可靠性、高可用率、高性能。

两者之间的差异

图 7-1 集中式存储和分布式存储的结构差异

如图 7-1 所示就是集中式存储和分布式存储的结构差异。集中式存储将数据集中存储在单一的节点上,而分布式存储则将数据分散存储在多个节点上。这导致了它们各有优劣。

集中式存储的优缺点

集中式存储的优点包括:

  1. 部署简单、管理方便:所有的数据都存储在单一的节点上,只需要管理一个设备或服务器。
  2. 数据一致性高:数据存储在单一的节点上,一致性非常高。
  3. 存取速度快:直接通过磁盘硬件接口传输数据,不需要跨越网络传输数据。

集中式存储的缺点包括:

  1. 单点故障:如果集中式存储的节点出现故障,整个系统将无法访问数据,导致服务中断。
  2. 扩展性差:随着数据量的增加,集中式存储的性能可能会变差,难以实现横向扩展。
  3. 高成本:为了提高性能和可靠性,集中式存储通常需要昂贵的硬件设备和专业的维护人员。

分布式存储的优缺点

分布式存储的优点包括:

  1. 可扩展性好:由于数据存储在多个节点上,系统可以根据需要动态添加或删除存储节点,从而具有更好的可扩展性。
  2. 容错性强:分布式存储通过复制和分散数据存储来提高系统的容错性。如果某个节点发生故障,系统可以从其他节点中恢复丢失的数据。
  3. 读性能更好:分布式存储具有更好的性能,因为数据可以并行读取,减少了瓶颈和延迟。但是需要注意的是,由于需要数据校验,写性能更差。

分布式存储的缺点包括:

  1. 数据一致性:在分布式存储系统中,数据分布在多个节点上,可能导致数据一致性问题,需要进行额外的一致性协议来保证数据的一致性。
  2. 写入性能差:分布式存储的数据需要在写入之后进行跨节点校验,需要消耗额外的时间来达成一致,所以写入性能往往大幅落后于单块磁盘。
  3. 复杂性:分布式存储系统的设计和管理相对复杂,需要考虑网络、数据分片、数据复制等多个方面的问题。
  4. 延迟:由于数据需要在多个节点之间传输,分布式存储可能会导致较高的延迟,尤其是在跨地域的情况下。

我们正站在 x86 I/O 性能爆发的前夜

虽然我们说分布式存储也有高性能特性,但是,x86 架构下磁盘的性能其实并不出众。近年来,随着分布式存储的市场占有率越来越高,单系统规模也越来越大,从云计算厂商到服务器厂商,都在努力提升分布式存储各个部分的性能。除了“网络性能”和“缓存”在快速进步之外,x86 I/O 系统的“绝对性能”也在迅速提升,如今(2023 年),我们正站在 x86 I/O 性能爆发的前夜。

阅读数:10301      字数:1766 最后更新:2023-10-26 09:58:40