写点什么

RAM 是新的硬盘

  • 2008-07-08
  • 本文字数:1890 字

    阅读完需:约 6 分钟

Jim Gray 在过去 40 年中对技术发展有过巨大的贡献,“内存是新的硬盘,硬盘是新的磁带”是他的名言。“实时”Web 应用不断涌现,达到海量规模的系统越来越多,这种后浪推前浪的发展模式对软硬件又有何影响? Tim Bray 早在网格计算成为热门话题之前,就讨论过以 RAM 和网络为中心的硬件结构的优势,可以用这种硬件建立比磁盘集群速度更快的 RAM 集群。

对于数据的随机访问,内存的速度比硬盘高几个数量级(即使是最高端的磁盘存储系统也只是勉强达到 1,000 次寻道 / 秒)。其次, 随着数据中心的网络速度提高,访问内存的成本更进一步降低。通过网络访问另一台机器的内存比访问磁盘成本更低。就在我写下这段话的时候,Sun 的 Infiniband 产品线中有一款具备 9 个全互联非阻塞端口交换机,每个端口的速度可以达到 30Gbit/sec!Voltaire 产品的端口甚至更多;简直不敢想象。(如果你想了解这类超高性能网络的最新进展,请关注 Andreas Bechtolsheim 在 Standford 开设的课程。)

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 is the new disk…

2008-07-08 08:493112
用户头像

发布了 225 篇内容, 共 73.2 次阅读, 收获喜欢 52 次。

关注

评论

发布
暂无评论
发现更多内容

如何利用YashanDB满足GDPR合规需求

数据库砖家

利用 YashanDB 实现实时数据处理

数据库砖家

如何利用YashanDB实现数据安全和合规管理

数据库砖家

UltraEdit for Mac:专业级文本与代码编辑器的全能之选

春天的风暖暖的

Mach Desktop 4K for Mac(4k动态壁纸软件)

春天的风暖暖的

如何利用YashanDB进行高效的数据备份与恢复

数据库砖家

如何利用YashanDB不同区域之间的数据同步高效

数据库砖家

Sensei for Mac:一站式Mac系统优化与硬件管理工具

春天的风暖暖的

Reflector 3 for Mac:多平台无线投屏与录制的全能工具

春天的风暖暖的

VSD Viewer for mac(Visio绘图文件阅读器)

春天的风暖暖的

iWall for Mac(最好用的动态桌面壁纸软件)

春天的风暖暖的

如何借助YashanDB提升企业业务连续性保障

数据库砖家

如何快速上手YashanDB数据库进行数据分析开发

数据库砖家

如何利用YashanDB进行数据分析与可视化

数据库砖家

如何利用YashanDB实现数据湖与数据仓库集成

数据库砖家

Dash for Mac(最好用的API文档工具)

春天的风暖暖的

如何利用YashanDB开展实时数据监控

数据库砖家

万年历 for Mac(最好用的万年历软件)

春天的风暖暖的

Visio Viewer for Mac(Visio文件查看工具)

春天的风暖暖的

Experience Design 2020 for Mac(xd)v36

春天的风暖暖的

PTGui Pro for Mac:专业级全景图像拼接与优化利器

春天的风暖暖的

如何进行YashanDB数据库的性能评估与监控

数据库砖家

如何利用YashanDB进行数据仓库构建

数据库砖家

智能图像清晰修复软件Perfectly Clear Workbench中文

春天的风暖暖的

如何利用YashanDB筹备和实施数据迁移

数据库砖家

600多个mindmanager模板素材(思维导图模板合集)

春天的风暖暖的

TG Pro for mac(Mac硬件温度检测工具)

春天的风暖暖的

iZotope RX 10 for mac(强大的音频修复工具)

春天的风暖暖的

在Mac上运行Windows 365的完整指南

qife122

云桌面 Windows 365

如何利用YashanDB实现弹性扩展与负载均衡

数据库砖家

SwitchResX for Mac:全能型屏幕分辨率与显示管理工具

春天的风暖暖的

RAM是新的硬盘_数据库_Steven Robbins_InfoQ精选文章