10 月 23 - 25 日,QCon 上海站即将召开,现在购票,享9折优惠 了解详情
写点什么

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:493064
用户头像

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

关注

评论

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

NFTScan | 11.25~12.01 NFT 市场热点汇总

NFT Research

NFT\ NFTScan

中国恩菲:有色金属行业如何使用 IoTDB?|用户零距离第一期

Apache IoTDB

Hume AI 语音控制功能:创建个性化语音;李飞飞空间智能首个模型:单图生成 3D 交互场景丨 RTE 开发者日报

声网

边学边赛 等你来战 | 昇腾AI原生创新算子挑战赛华中科技大学专场赛完美收官

极客天地

CDN的作用以及哪些企业适合使用CDN?

Ogcloud

CDN 网络加速 CDN加速 CDN技术 CDN网络加速

赛博威数字营销一体化高效运维,更高效、更全面、更稳定、更创新

赛博威科技

运维 数字营销 赛博威

小程序SDK在跨端app开发是否有优势?

FinFish

跨端应用开发 小程序容器技术 跨端技术 跨端app开发 小程序SDK

Web自动化测试中的元素定位与显式等待

测试人

软件测试

SOL项目开发代币Dapp的基本要求

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 公链开发 交易所开发代币开发

深入编码规则:构建灵活且可扩展的编号生成器

inBuilder低代码平台

低代码

非标自动化行业ERP选型与案例展示!

积木链小链

ERP

企业如何构建自己的 AI 编码能力

CodeBuddy

编码 #人工智能 腾讯云AI代码助手 #AI #大语言模型

TinyPro Vue 1.1.0 正式发布:增加细粒度权限、页签模式、多级菜单,支持Vite/Rspack/Farm等构建工具

OpenTiny社区

开源 前端 组件库 OpenTiny TinyVue

官方提供平台,导师倾情陪练,助力学生玩转开源|Greptime 参与「开源之夏」的第二年正式收官!

Greptime 格睿科技

数据库 开源 活动 开源之夏

向量检索服务RAM授权

DashVector

人工智能 阿里巴巴 向量检索 大模型 向量数据库

赛博威携手百度智能云,开启数字营销新未来

赛博威科技

人工智能 AI 百度智能云 数字营销 赛博威

让每笔营销费用发挥更大价值,为生意持续增长创造可预见的未来!

赛博威科技

数字营销 营销费用管理 赛博威

手撕单例的 5 种写法!

王磊

什么工具可以解决团队协作障碍?

秃头小帅oi

签约案例|GreptimeDB 为数据驱动的汽车应用带来安全高效的车云一体解决方案

Greptime 格睿科技

数据库 车联网 汽车 车云一体

打造去中心化交易平台:公链交易所开发全解析

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 公链开发 代币开发

云服务器的故障率比物理服务器更低吗?

Ogcloud

云主机 云服务器 香港云服务器 美国云服务器 云服务器租用

质变科技 AI-ready Data Cloud|如何做好半结构化数据分析

AI数据云Relyt

非结构化数据 数据分析、 AI-ready JsonB

怎么把域名解析到IP地址上?怎么去设置域名解析?

国科云

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