分布式存储系统:核心技术、系统实现与Go项目实战
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.3 存储技术的发展

存储技术的发展可以从软件和硬件两个角度来探讨。在软件层面,存储技术的焦点在于解决规模扩展、横向性能提升、系统整体可靠性增强和系统易用性改善等问题。随着数据的规模持续扩大,我们需要更多的存储资源,这对存储系统的设计和实现提出了更高的要求。现代存储系统需要处理PB级甚至EB级的数据,因此我们需要新的数据组织和访问方式,才能更有效地管理和使用这些数据。此外,我们还需要新的数据保护和恢复策略(如更先进的纠删码算法),以确保数据的安全和可靠。

从硬件的角度来看,存储技术的演进主要体现在两个方向上:提升速度和扩大容量。接下来我们简单探讨一下这两个方向。

1.3.1 提升速度

存储硬件的速度是其主要的发展方向。在过去,一个机械硬盘的随机IOPS(每秒读写次数)才几百,这种速度与CPU相比,慢了不止一个数量级。由于硬件的性能瓶颈,软件的架构设计和应用受到了很大的限制。

例如,由于机械硬盘的随机性能非常差,软件设计都是尽可能地让磁盘I/O顺序进行,为此做出了非常复杂的设计(LSM Tree的设计就是典型例子),以适应硬件的特性。

然而,随着SSD的普及,存储性能得到了飞速发展。IOPS从原来的几百变成现在的几万甚至10万,读写时延达到微妙级别,随机I/O性能不再成为瓶颈。业务软件可以不需要任何优化,就能享受到高存储性能。

在SSD上,可以同时承载多个租户的业务,软件可以变得更简单,用户可以更多地关注业务的需求,而非底层的特性。存储的革命性变化为我们带来了无限的想象空间,从而推动了云计算、大数据、AI等领域的飞速发展。

1.3.2 扩大容量

在过去,图片、音视频、游戏等的大小普遍都是KiB或MiB级别的,这主要是由于存储介质的容量有限。存储设备的价格贵,容量又小,需要在业务侧尽可能地压缩空间。然而,随着存储介质的容量越来越大,价格越来越便宜,业务侧已经不用担心存储的容量问题。因此,现在随处可见MiB级别的图片和GiB级别的游戏。

在互联网时代,数据是爆炸性增长的,全球的数据量已达到ZiB级别,存储这么大量的数据成本巨大。因此,我们需要更大、更便宜的存储介质。目前,十几TiB的机械硬盘已经非常普遍,并且新的技术不断涌现,在持续突破现有机械硬盘的容量瓶颈。例如,SMR(Shingled Magnetic Recording,叠瓦式磁记录)技术和HAMR(Heat-Assisted Magnetic Recording,热辅助磁记录)技术在继续推动着单盘容量的提升。