Jim Gray在过去40年中对技术发展有过巨大的贡献,“内存是新的硬盘,硬盘是新的磁带”是他的名言。“实时”Web应用不断涌现,达到海量规模的系统越来越多,这种后浪推前浪的发展模式对软硬件又有何影响?
Tim Bray早在网格计算成为热门话题之前,就讨论过以RAM和网络为中心的硬件结构的优势,可以用这种硬件建立比磁盘集群速度更快的RAM集群。
引用
对于数据的随机访问,内存的速度比硬盘高几个数量级(即使是最高端的磁盘存储系统也只是勉强达到1,000次寻道/秒)。其次, 随着数据中心的网络速度提高,访问内存的成本更进一步降低。通过网络访问另一台机器的内存比访问磁盘成本更低。就在我写下这段话的时候,Sun的 Infiniband产品线中有一款具备9个全互联非阻塞端口交换机,每个端口的速度可以达到30Gbit/sec!Voltaire产品的端口甚至更多;简直不敢想象。(如果你想了解这类超高性能网络的最新进展,请关注Andreas Bechtolsheim在Standford开设的课程。)
各种操作的时间,以2001年夏季,典型配置的 1GHz 个人计算机为标准:
引用
执行单一指令 1 纳秒
从L1 高速缓存取一个字 2 纳秒
从内存取一个字 10 纳秒
从磁盘取连续存放的一个字 200 纳秒
磁盘寻址并取字 8 毫秒
以太网 2GB/s
Tim还指出Jim Gray的名言中后半句所阐述的真理:“对于随机访问,硬盘慢得不可忍受;但如果你把硬盘当成磁带来用,它吞吐连续数据的速率令人震惊;它天生适合用来给以RAM为主的应用做日志(logging and journaling)。”
时间闪到几年之后的今天,我们发现硬件的发展趋势在RAM和网络领域势头不减,而在硬盘领域则止步不前。Bill McColl提到用于并行计算的海量内存系统已经出现:
引用
内存是新的硬盘!硬盘速度提高缓慢,内存芯片容量指数上升,in-memory软件架构有望给各类数据密集的应用带来数量级的性能提升。小型机架服务器(1U、2U)很快就会具备T字节、甚至更大量的内存,这将会改变服务器架构中内存和硬盘之间的平衡。硬盘将成为新的磁带,像磁带一样作为顺序存储介质使用(硬盘的顺序访问相当快速),而不再是随机存储介质(非常慢)。这里面有着大量的机会,新产品的性能有望提高10倍、100倍。
Dare Obsanjo指出如果不把这句真言当回事,会带来什么样的恶劣后果—— 也就是Twitter正面临的麻烦。论及Twitter的内容管理,Obsanjo说,“如果一个设计只是简单地反映了问题描述,你去实现它就会落入磁盘 I/O的地狱。不管你用Ruby on Rails、Cobol on Cogs、C++还是手写汇编都一样,读写负载照样会害死你。”换言之,应该把随机操作推给RAM,只给硬盘留下顺序操作。
Tom White是Hadoop Core项目的提交者,也是Hadoop项目管理委员会的成员。他对Gray的真言中“硬盘是新的磁带”部分作了更深入地探讨。White在讨论MapReduce编程模型的时候指出,为何对于Hadloop这类工具来说,硬盘仍然是可行的应用程序数据存储介质:
引用
本质上,在MapReduce的工作方式中,数据流式地读出和写入硬盘,MapReduce是以硬盘的传输速率不断地对这些数据进行排序和合并
。 与之相比,访问关系数据库中的数据,其速率则是硬盘的寻道速率
(寻道指移动磁头到盘面上的指定位置读取或写入数据的过程)。为什么要强调这一点?请看看寻道时间和磁盘传输率的发展曲线。寻道时间每年大约提高5%,而数据传输率每年大约提高20%。寻道时间的进步比数据传输率慢——因此采用由数据传输率决定性能的模型是有利的。MapReduce正是如此。
虽然固态硬盘(SSD)能否改变寻道时间/传输率的对比还有待观察,White文章的跟贴中,很多人都认为SSD会成为RAM/硬盘之争中的平衡因素。
Nati Shalom对内存和硬盘在数据库部署和使用中的角色作了一番有理有据的评述。 Shalom着重指出用数据库集群和分区来解决性能和可伸缩性的局限。他说,“数据库复制和数据库分区都存在相同的基本问题,它们都依赖于文件系统/硬盘 的性能,建立数据库集群也非常复杂”。他提议的方案是转向In-Memory Data Grid(IMDG)
,用Hibernate二级缓存或者GigaSpaces Spring DAO之类的技术作支撑,将持久化作为服务(Persistence as a Service)提供给应用程序。Shalom解释说,IMDG
引用
提供在内存中的基于对象的数据库能力,支持核心的数据库功能,诸如高级索引和查询、事务语义和锁。IMDG还从应用程序的代码中抽象出了数据的拓扑。通过这样的方式,数据库不会完全消失,只是挪到了“正确的”位置。
IMDG相比直接RDBMS访问的优势列举如下:
- 位于内存中,速度和并发能力都比文件系统优越得多
- 数据可通过引用访问
- 直接对内存中的对象执行数据操作
- 减少数据的争用
- 并行的聚合查询
- 进程内(In-process)的局部缓存
- 免除了对象-关系映射(ORM)
你是否需要改变对应用和硬件的思维方式,最终取决于你要用它们完成的工作。但似乎公论认为,开发者解决性能和可伸缩性的思路已经到了该变一变的时候。
分享到:
相关推荐
然而,与内存(RAM)相比,硬盘存储器的访问速度还是相对较慢,因为硬盘的数据读写涉及到机械运动,而内存则是电子式的,无需物理动作。 内存储器,如半导体RAM,是计算机中速度最快的存储器类型,通常用作运行中的...
存储设备除了软驱、硬盘外,还包括光盘、磁带机、固态硬盘等。 硬盘扇区 在磁盘的所有扇区中,有一个非常重要的扇区,称为引导区,用来存放引导程序及磁盘类型等有关信息。 DVD DVD是数字多功能磁盘的缩略语。
主要包括磁表面存储器、软盘存储器、磁带存储设备、光盘存储设备。 三、Cache 高速缓冲存储器 Cache 高速缓冲存储器是一种特殊的存储器子系统,其中复制了频繁使用的数据以利于快速访问。存储器的高速缓冲存储器...
- 支持CBIO的可选组件: INCLUDE_DISK_CACHE、INCLUDE_DISK_PART 和 INCLUDE_RAM_DISK。 2. **初始化dosFs文件系统**: - 初始化dosFs文件系统函数库 dosFsLib。若系统包含了必备组件,则此过程会自动完成。 - ...
外存则通常包括硬盘、软盘、磁带、CD等磁性或光学介质,用于长期存储数据。 #### 二、RAM工作原理及其分类 **RAM(随机存取存储器)**是一种易失性存储器,意味着一旦断电,其所存储的信息就会丢失。RAM按照工作...
5. **存储器分类**:磁带是顺序存取存储器,只能按顺序读写;主存是随机存取存储器,可直接访问任何位置;硬盘和光盘是直接存取存储器,可以快速定位到指定位置进行读写。 6. **引入cache和虚拟存储器的目的**:...
计算机存储体系通常采用多级存储结构,从快到慢依次为寄存器、Cache、主存储器、辅助存储器(如硬盘、光盘)和大容量存储器(如磁带)。这种层次结构是为了平衡存取速度和存储容量,提高整体性能。 总的来说,...
而外存则通常是指硬盘、软盘、磁带、CD等,它们能够长期保存信息,不受电力影响,但由于含有机械部件,读写速度相对较慢。 #### 2. RAM的工作原理与特性 RAM(随机存取存储器),是一种允许数据随时被读写(即随机...
常见的储存设备包括软盘(Floppy Disk)、ZIP/LS120软盘、磁带、CD/DVD等,以及现在最常见的硬盘。硬盘虽然不常被直接看到,但它是非常脆弱的部件,需要谨慎处理,同时定期备份数据以防止数据丢失。 安装和设置硬盘...
磁带驱动器、固态驱动器、蓝光光盘驱动器、光盘驱动器、硬盘驱动器等存储设备类型的介绍,使用磁性介质存储数据的是磁带驱动器和硬盘驱动器。 12. 硬盘驱动器速度单位: 每分钟转数、每分钟页数、每分钟簇数、千兆...
18. 存储器读写速度从快到慢的顺序通常是:Cache>RAM>硬盘>软盘,选项B正确。 19. 虚拟存储器的主要目的是扩大内存的寻址空间,使得程序可以访问超出实际物理内存大小的地址空间,选项C正确。 20. 硬盘工作时应...
硬盘速度快于磁带,而SSD比传统硬盘更快,且更耐用,没有机械部件。磁带主要用于大数据备份和长期存储,因其成本低和存储容量大。 存储器的地址空间是计算机组织和管理内存的方式,每个内存单元都有一个唯一的地址...
RAM的特点是随机访问,意味着可以快速地读取或写入任何位置的数据,而不受数据位置的影响,这与磁带等顺序访问媒体形成鲜明对比。 在微观层面上,RAM由微小的电容器组成,这些电容器存储代表二进制数据的电荷状态。...
- **外存储器**(外存):通过接口与系统连接,如硬盘、软盘和光盘,具有大容量但存取速度慢,数据在断电后仍能保留。外存用于长期存储不经常处理的程序和数据。 2. **存储器层次结构**: - 存储系统的层次结构...
磁盘,特别是硬盘,是PC中的核心存储设备,而磁带则因其安全、可靠、经济且适合长期数据备份的特点,至今仍然被广泛使用。 此外,数据恢复技术的总论提到了硬盘数据恢复与修理的不同。硬盘数据恢复专注于恢复丢失或...
11. 存储设备:计算机使用的存储设备包括硬盘、U 盘、光盘、磁带等。 12. 存储速度:存储速度是指存储器的访问速度,从快到慢排列是CPU高速缓存、存、硬盘、光盘。 13. 计算机系统组件:计算机系统组件包括硬件...
一般来说,从快到慢的顺序是:CPU缓存 > RAM > 硬盘 > DVD > CD > 软盘 > 磁带。U盘的速度通常不与这些设备进行比较,因为其速度可以因品牌和型号而有很大差异。 3. IDE和SATA接口:IDE(集成驱动电子)是一种并行...
本报告的研究对象为企业级SSD市场,按核心存储介质分类的不同存储器产品及三大类存储器对比机械硬盘软盘磁带CD DVDROM非易失RAM易失其他DRAMSRAMPROMs1FlashNAND固态硬盘光存储半导体存储(电存储)存储器磁存储传统...
RAM,如动态RAM(DRAM)和静态RAM(SRAM),是可读写的,数据可快速读取和写入,但不保持电源断开后的信息。DRAM因其高集成度而常用于大量数据存储,而SRAM则因其更快的访问速度而用于高速缓存。ROM则包含固定内容,...
内部存储器包括 CPU 寄存器、Cache、主存储器等,而外部存储器包括磁盘、光盘、磁带等。 Cache 是一种高速缓冲存储器,位于主存和 CPU 之间,由静态存储芯片 (SRAM) 组成,容量比较小但速度比主存高得多,接近于 ...