写点什么

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

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

关注

评论

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

AI机器学习实战:构建智能系统的关键步骤

不在线第一只蜗牛

人工智能 机器学习 AI

避免defer陷阱:拆解延迟语句,掌握正确使用方法

伤感汤姆布利柏

超过5000+企业使用的ETL平台

RestCloud

ETL

亲身体验云原生顶会北美 KubeCon,5个要点和4个 Fun Facts

小猿姐

Kubernetes 云原生 cncf KubeCON

Linux 爱好者线下沙龙:成都场圆满结束 & 下一场西子湖畔相见 | LLUG·第五站

OpenAnolis小助手

操作系统 杭州 龙蜥社区 LLUG Linux中国

你这些网站都不知道,怎么摸好鱼?

秃头小帅oi

前端 低代码 在线 程序选

云电脑运行原理分析

天翼云开发者社区

虚拟化 云平台 云电脑

AppLink上的小鹅通能实现什么操作呢?

RestCloud

APPlink

item_get_pro-获得淘宝商品详情高级版api接口

技术冰糖葫芦

API 文档

弹性云主机支持多种规格

天翼云开发者社区

云计算 云主机 云平台

MatrixOne完成与欧拉、麒麟信安的兼容互认

MatrixOrigin

分布式数据库 云原生数据库 MatrixOrigin MatrixOne HTAP数据库

聚焦数据安全,神州数码联合多方发布《数据分类分级自动化建设指南》

科技热闻

情感语音识别技术的发展趋势与前景

来自四九城儿

MatrixOne 支持多样化生态工具,持续提升开发者体验

MatrixOrigin

分布式数据库 云原生数据库 MatrixOrigin MatrixOne HTAP数据库

五个提升SQL语句性能的小窍门,进一步提升查询性能

高端章鱼哥

数据库 sql

来听B站音乐UP主从容老师讲解GuitarPro和Earmaster

淋雨

Guitar Pro EarMaster 吉他 声乐 视唱

三策略,六步骤,Jenkins 迁移到极狐GitLab CI 的终极指南

极狐GitLab

ci DevOps gitlab 持续集成 jenkins

代码迭代:软件开发者在众包平台的发展之路

知者如C

专家分享——CAE仿真软件学习心得

智造软件

仿真 CAE 仿真软件 CAE软件 altair

小程序转换工具—Antmove 使用教学

FN0

小程序 Antmove

MatrixOne 实战系列回顾 | 建模与多租户

MatrixOrigin

分布式数据库 云原生数据库 MatrixOrigin MatrixOne HTAP数据库

有限元分析初学者需要关注哪些问题?

思茂信息

仿真软件 仿真技术 有限元分析 有限元仿真 有限元技术

SecureFX for Mac(ftp文件传输工具)附注册码 v9.4.2永久激活版

mac

苹果mac Windows软件 SecureFX 文件传输客户端

SaaS与PaaS平台的区别

树上有只程序猿

低代码 PaaS SaaS

Xmind for Mac(思维导图软件) 24.01永久激活版

mac

XMind 思维导图软件 苹果mac Windows软件

大数据的技术运用:探索未来的无限可能性

EquatorCoco

大数据 技术应用 城市智能化 医疗健康

交易所开发:加密货币交易平台开发的见解

区块链软件开发推广运营

交易所开发 dapp开发 区块链开发 链游开发 公链开发

情感语音识别的研究方法与实践

来自四九城儿

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