既然数据库的单点就是磁盘,那么接下来我们就来了解一下存储技术的发展简史。
集中式存储是一种采用独立的控制器(即计算机)控制大量的硬盘,并通过控制器对外提供多种不同层级的接口(硬件层面的 SAS/FC,软件层面的 SCSI/iSCSI/InfiniBand 等),以满足多个客户端、多种不同存储需求的产品。
集中式存储的兴起让 IOE 中的 E(EMC 存储公司)大放异彩:就像前面提到的那台价值百万的负载均衡设备一样,EMC 的集中式存储通过双控制器开机热备+全冗余网络连接,再配合 SAN 交换机和双 HBA 卡,实现了全冗余的存储网络架构。它性能出色,可以支持多台服务器连接使用,并且非常稳定。唯一的缺点就是价格昂贵。光是一个普通的 16 口 16G SAN 交换机,价格就已经超过了 40G 以太网交换机(交换容量甚至可以达到 50Tbps 以上)。更不用说一年也卖不出去几片的 HBA 卡了。而且,集中式存储设备本身更贵,非常贵,比两台标准 x86 服务器还要贵。
为什么集中式存储这么贵呢?因为它使用了非常高的硬件成本和服务成本,真正解决了大多数企业面临的存储问题:厂家负责上门部署,定期维护,你只需要出高价即可。集中式存储的本质是利用高水平的硬件+硬件级全冗余+保姆式的技术服务,彻底解决了存储这个难题。
进入云计算时代,分布式存储大放异彩:既然海量的 x86 服务器已经在机柜里运行着了,为什么不拿出一点点计算资源构建一个省钱的分布式存储呢?而且从需求的角度来看,云计算的规模正在快速增长,集中式存储很难满足如此快速的规模扩张。这时候就需要分布式存储登场了。
分布式存储选择通过海量普通可靠性的硬件+软件+数据冗余的方式,将一群 x86 服务器通过以太网或者 InfiniBand 相互连接,将分散在每一台服务器上的机械磁盘和固态磁盘组织到一起,形成一个庞大的硬盘资源池。这个软件定义的存储集群可以做到与集中式存储一样的三高:高可靠性、高可用率、高性能。
如图 7-1 所示就是集中式存储和分布式存储的结构差异。集中式存储将数据集中存储在单一的节点上,而分布式存储则将数据分散存储在多个节点上。这导致了它们各有优劣。
集中式存储的优点包括:
集中式存储的缺点包括:
分布式存储的优点包括:
分布式存储的缺点包括:
虽然我们说分布式存储也有高性能特性,但是,x86 架构下磁盘的性能其实并不出众。近年来,随着分布式存储的市场占有率越来越高,单系统规模也越来越大,从云计算厂商到服务器厂商,都在努力提升分布式存储各个部分的性能。除了“网络性能”和“缓存”在快速进步之外,x86 I/O 系统的“绝对性能”也在迅速提升,如今(2023 年),我们正站在 x86 I/O 性能爆发的前夜。
📙 高并发的哲学原理 《Philosophical Principles of High Concurrency》
Copyright © 2023 吕文翰