(原标题:内存又大又便宜,谁还需要用硬盘) 无论是家用电器里微小的嵌入式控制器,还是企业级服务器,内存(RAM,随机存取存储器)都是其计算机系统必不可少的一个组成部分。RAM包括静态(SRAM)和动态(DRAM)两种形式,处理器工作时处理的数据就暂时存放在这里。然而,随着RAM的价格不断下跌,在大容量的持久性存储设备(硬盘)和RAM之间传输数据的传统计算模式可能将不复存在。 RAM的价格会随市场变化而出现暂时的波动,但从长期来看,其价格保持着平稳下降的趋势。回溯到2000年,那时一个1G的内存售价约为1000美元(相当于那时候的800英镑);而如今最低不到5美元(约5英镑)。这样低廉的价格为计算机的系统结构设计提供了诸多新思路。 传统数据库往往将数据存在硬盘上,然后在需要时把信息读取到RAM中,再以某种方式对其进行处理。RAM与硬盘的存储量通常会相差几个数量级。一般提到RAM用的都是GB,而硬盘则用TB。不过,随着RAM容量的增加,把更多的数据直接存入RAM,从而减少硬盘读写的次数,似乎是个提高效率的好方法。由于RAM的价格也在持续下跌,开始有人将整个数据库从硬盘读入内存中进行操作,之后再重新写回持久存储器中。而现在还有人干脆不把数据库再放回到持久存储器中,而是直接存在易失性RAM里。 内存的存取速度一般为纳秒级的,而硬盘的寻道时间通常是毫秒级的,也就是说存储器比硬盘的读写速度快了约一百万倍。不过RAM的传输速度并没有比磁盘快出那么多:RAM一般每秒传输几G,而速度快一些的磁盘也能达到每秒百M。但不管怎么说,RAM的传输速度肯定是比磁盘高出一个数量级的。 在实际使用中,两者的差别并没那么大,但把数据从硬盘读入内存RAM,再写回硬盘,这的确是一个严重的瓶颈,而且可能导致数据的不一致问题。若能省掉这一步,我们可以省略许多目前需要的指令集,让系统变得简单和高效。 随着RAM的价格降低,一些高端企业和数据中心已经将单台服务器配上了几TB大的存储器。当然,除了需要很大的存储量以外,要想将数据库储存在RAM上,还得跨越“持久性”这一个障碍。RAM是易失存储器,每当电源关闭或者系统受到损害时,它的存储的信息都会永久丢失。这对于那些想满足“ACID”( 原子性Atomicity、一致性Consistency、隔离性Isolation、持久性durability)、力求可靠的数据库来说确实是个不小的挑战。 所幸,我们可以利用磁盘快照和日志来弥补这个缺陷。就像我们会定期将磁盘上的数据库备份一样,一个内存数据库也能进行复制备份。创建磁盘快照意味着要与其他读取过程竞争资源,所以建立检查点的频率需要在性能和恢复能力之间进行权衡。而这个缺陷也可以用日志来弥补,这种技术也被称为“更新记录”(journalling)。 日志把数据备份发生的变化全部记录下来,根据它就可以从早期的快照中恢复出后期的数据版本。但不管怎样,只要数据库是保存在非持久性存储器上的,它的冗余度就会降低。 另外,专为内存数据库“度身打造”的数据库管理软件(IMDBS)也能对管理混合数据系统。它可以把数据库中的某些表存在内存中,而剩下的写入磁盘里。这种系统效果比缓存更好,而在无法将整个数据库存入RAM的场合,也可以使用这种技术。 我们也可以压缩数据库,来最大限度地利用 RAM的存储空间,尤其是对于那些面向列的数据系统(以列的形式存储表格)。相邻的数据属于同一种类型,表格中各列基本也是同一类型时,压缩的效果相对较好。而且,当压缩产生计算开销时,按列储存可以较好地应对庞大数据集带来的复杂请求,这也就是大数据从业人员和数据科学家们对此充满兴趣的原因了。 放眼全球数据处理量最大的地方之——谷歌等公司已将数据库的主体从硬盘转移到RAM上,因为这样可以保证以较快速度完成大量的搜索任务。但是真要在一个任务中用上超大量内存仍会遇到许多难题,因为仅凭一块主板有限的空间只能容纳一定数量的RAM,而且这么多RAM分享一块主板本身还会产生额外的延迟。 “后RAM”时代 但是到目前为止,我们很难说使用易失性内存进行数据处理是不是未来的主导方向,因为使用非易失性RAM(NVRAM)进行计算的竞争模式已经出现了。NVRAM的结构与现有硬盘的结构类似,这其中就有已为广大用户所熟知的固态硬盘(SSD)。目前,固态硬盘主要是基于NAND闪存,这种存储设备的读写速度远比普通硬盘快,但同时也有它自身的缺陷。从原理上来说,闪存是通过保持电荷来存储信息,它需要以较高的电压完成写入,而且会逐渐损耗。为了处理损耗问题,闪存使用了损耗平衡算法来控制读写,存在收益递减问题 上图由前计算机科学教授John C McCallum绘制,在图中我们可以发现,硬盘与RAM价格的下降速度非常接近。因为价格走低,SSD在数据中心和本地系统(on-premises)中被广泛使用,但是该技术的未来发展形势仍不明朗。今年二月,一篇关于谷歌公司6年以来SSD布设情况的论文揭示:闪存驱动器远不如硬盘驱动器可靠,因为它们会产生更多无法纠正的错误,尽管它们不需要频繁更换。而且,与工业指标宣称的不同,企业级的SSD实际上并不比个人用户使用的版本更可靠。 但是,其他形式的NVRAM也开始在市场出现。铁电RAM((FRAM))曾经被视作RAM和移动设备中闪存的替代产品,但业界的注意力现在转向了磁阻式RAM(MRAM)。MRAM的读写速度接近于易失性RAM,延迟时间约为50纳秒。虽比DRAM的10纳秒慢了一些,但是比起NAND闪存的毫秒级还是快上千倍。 不同于传统的利用电荷储存信息,MRAM通过不同的磁性取向来存储信息,这主要基于一种叫作磁隧道结(MTJ)的薄膜结构。“旋转切换”的MRAM已经被某些产品所使用,比如戴尔公司“EqualLogic”存储阵列,但它目前只负责少部分的日志记录功能。 自旋力矩转移MRAM(ST-MRAM)则采用一种更为复杂的结构,这样可以为未来增加存储密度留下空间。这款产品目前由Everspin公司出售,该公司最近刚刚在纳斯达克上市。正在开发同类技 |
免责声明:本网站内容由网友自行在页面发布,上传者应自行负责所上传内容涉及的法律责任,本网站对内容真实性、版权等概不负责,亦不承担任何法律责任。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。