第1章 存储系统设计原理
自从5000年以前,埃及人把象形文字记录在石牌上面开始,人类通过把文字记录在的特定载体上从而能够把思想从一个人告诉给另一个人,从一代人传递给下一代人。无数的壁画、石碑、甲骨、竹简等记录了无数的故事和传说,人类的文明通过这种方式,经过无数人知识和经验的积累和世代传承逐渐发展壮大。纸张的出现、印刷技术的发明使得信息传播的速度更加迅速,使得承载各种知识的文明之火熊熊燃烧并迅猛传播开去。
60多年前,计算机系统的出现,人类纪录知识和信息的主要方式开始逐步摆脱了纸张的约束,以数字方式存放在计算机系统之中,这一过程并得到不断的深化和发展,直到今天人类突然发现通过网络互联的计算机系统取代了充满藏书的图书馆成为知识和信息存储和传播的主体;无数电子设备(数字摄像机、数字照相机等)可以无时无刻纪录人类身边的每一个变化取代了书斋中的作者以优雅的文字辛勤地纪录身边的历史;敲几下键盘、点几下鼠标获取所需的信息取代了文山书海中的大量翻阅。计算机存储系统成为无数知识和信息的最主要载体,同时也是社会正常运转不可或缺的重要保证。
1.1 应用需求
伴随着计算机技术发展的信息革命就是不断把各种人类活动过程数字化,并通过各种不同的计算机系统对于这些数字化信息进行存储、传输和处理。与之相适应的是信息和网络时代对现代信息存储的要求使得存储技术正经历着革命性的发展。
60多年前,第一代计算机ENIAC每秒5000次加法或400次乘法操作的处理速度仅需要100字磁芯存储容量;而当前一张3600*2700分辨率的数码照片压缩后的大小大约为4MB,由美国航空航天总局(NASA)提供的哈勃(Hubble)太空望远镜拍摄宏伟的螺旋星系M81的单幅照片大小为689Mbytes(其分辨率为29566×15200,4.49亿像素);而高清(分辨率为1920*1080的HDTV)画质的电影需要大约20GB的存储容量和3MB/s的I/O持续数据传输率。除了容量要求之外,许多应用程序对于I/O的响应时间也有了严格的要求,例如许多SLA(Server-Level Agreement)应用(例如银行和网站)对于I/O请求的响应时间有了严格的规定。正是这种不断增长的应用需求推动着存储系统从小到大,从慢到快,从简单到复杂,并对存储系统的健壮性、可用性、安全性和管理性提出了更高的要求。
一个有意思的现象是整体而言数字化发展过程大体上正比于当前的数字化程度,从这个结论很容易推导出整体数字化过程具有指数增长的特征。这产生一个值得探究的问题:这种发展速度背后的推动力是什么?一个直接的原因归功于科学技术的发展,而任何一个技术的发展速度又依赖于当前技术的发展水平和对于新技术的期望程度(事实上就是开发这种新技术的投入,包括人力在内的各种投入力度,这也反映对这种新技术的期望)。显然存储系统的发展符合上述规律,大容量高性能的存储系统满足了当前应用的要求同时也导致更多对于存储系统有更高要求的新应用产生。一个例子就是Google搜索平台推进了大规模集群存储的发展,而大规模集群存储系统的发展促进了云存储的需求。
下面从数据的容量和价值两个方面讨论应用对于数据存储的不断需求。