大规模存储的未来 内存云的天下?

大规模存储的未来 内存云的天下?

作者:佚名 2011-08-03 09:15:47

云计算 Tcl/Tk的创始人、美国工程院院士、ACM Fellow John Ousterhout目前在斯坦福大学任教,他近年来的主要研究项目是RAMCloud–内存云。顾名思义,RAMCloud就是这样一种新型数据中心存储系统,它是由成千上万台普通服务器的主存所组成的大规模系统,任何时候,所有信息都存储在这些快速的DRAM(动态随机访问存储器,即俗称的内存)中,内存取代了传统系统中的硬盘,硬盘只作为备份使用。

Tcl/Tk的创始人、美国工程院院士、ACM Fellow John Ousterhout目前在斯坦福大学任教,他近年来的主要研究项目是RAMCloud–内存云。顾名思义,RAMCloud就是这样一种新型数据中心存储系统,它是由成千上万台普通服务器的主存所组成的大规模系统,任何时候,所有信息都存储在这些快速的DRAM(动态随机访问存储器,即俗称的内存)中,内存取代了传统系统中的硬盘,硬盘只作为备份使用。

内存云由此能同时实现大规模 (100~1000 TB) 和低延迟(同一数据中心应用程序访问少量内存云数据只需5~10ms,比目前系统快100~1000倍)。内存云不仅会简化大型Web应用的开发,而且,将催生新的数据密集型应用。

最新出版的《ACM通信》(Communications of ACM)2011年8月刊发表了Ousterhout与他的团队合作撰写的论文“The Case for RAMCloud”

在过去四十年,磁盘已经成为计算机系统网上信息的主要存储位置。

在此期间,磁盘技术已经发生了显着改善,由更高级别的存储系统(如文件系统和关系数据库)利用。但是磁盘性能却并没有像磁盘容量那样有所改变。一个不容忽视的现实摆在了面前–技术人员发现基于磁盘的系统越来越难以形成规模以满足大型Web应用程序的需要。

许多计算机科学家们提出了新的基于磁盘存储的解决方案,以及其他建议更换磁碟与快闪记忆体装置。相比之下,我们说的解决方案是基本想法就是将在线数据从磁盘迁移到DRAM上,从而在磁盘之上创建一种新式存储。

这时,一个被称为“RAMCloud”新的存储方式将为未来许多应用提供新的存储架构。

什么是RAMCloud?

RAMCloud架构的原理在于将存储所有商业服务器的信息在主存储器上,并使用数百上千的服务器创建大型存储系统。据称,存储在RAMCloud上的数据的延迟要比存储在基于硬盘的系统上低100-1000倍,而吞吐量则会高100-1000倍。

虽然个体存储容易改变,但RAMCloud可以利用复制和备份技术以保障数据的耐久性和可用性,就像传统基于磁盘的系统那样。

RAMCloud可提供低延迟和大规模,并将从以下三点改变存储行业的现状。首先,RAMCloud会消除开发大规模Web应用所面临的可扩展性问题。其次将启用新的应用类,比当今深入100-1000倍操作数据将成为可能;RAMCloud集群可以支持单个的代谢那个程序或许多较小的应用程序,并可在小型应用转变为大型应用的开发时保证没有额外的复杂性。#p#

RAMCloud的架构原理

1、在RAMCloud架构中,大量服务器组成的数据中心可分为两类:应用服务器,实现应用程序的逻辑(如生成Web网页和执行业务规则)和存储服务器,提供较长的共享应用服务器存储。

2、RAMCloud代表系统存储组织服务器的一种新方式,有两个关键的区别区分RAMCloud和传统存储系统。首先,所有信息在任何时候都保存在RAMCloud;其次,RAMCloud必须建立在一定规模(数以千计)存储服务器上。对于应用程序,独立于存储服务器的单一存储系统的实际数量是可见的。

3、RAMCloud存储的信息必须为持久的,就像存储在磁盘上那样。一个单一的存储服务器出现故障后绝不会造成数据丢失或哪怕几秒的数据不可用的状况。实现耐用久性和可用性的技术的将会在本文后边讨论。

4、保存在DRAM上的所有数据都允许保存在RAMCloud,并且比当今给予高性能磁盘存储系统的实际性能要高100到1000倍。

5、在同一个数据中心中通过在应用服务器上运行的一个进程通过网络读取几百字节的数据的访问延迟有可能降低到5μs–10μs。相比之下,今天的系统通常需要0.5ms到10ms,这取决于数据是否存在于服务器内存的缓存上,或必须从磁盘中读取。

6、一台多核的存储服务器应该至少能在每秒相应100万的网络请求。根据配置和缓存的内容,一个基于磁盘的系统的类似机器(运行多个磁盘和一个存储缓存的主内存)每秒可相应1000至10000的网络请求。

案例分享

目前一个可行的RAMCloud配置,每台服务器配置24GB的DRAM,这是高性价比的配置。扩展内存会导致成本的急剧增加。2000服务器会配备48TB的存储空间,平均每GB成本65美元。据预测,到2020年,随着DRAM技术的不断完善,激励1PB-10PB配置的RAMCloud时每GB成本仅需6美元。

RAMCloud已经在实际中有所应用。例如一个大型的网络零售商或航空公司使用RAMCloud的花费在几十万美元。截止2009年8月Facebook所有非图像数据大约有260TB。这可能接近了当今RAMCloud实用的上限。

像电视频、照片、歌曲等数据还没有大规模应用RAMCloud,然而RAMCloud实际已经可以用在所有在线的数据。随着DRAM技术的不断改进,RAMCloud在未来会更具吸引力。#p#

RAMCloud的存在价值

首先,RAMCloud可以是一个数据密集型应用的新架构,传统的架构是应用程序连同代码和数据被加载到一台服务器的主存储中,瓶颈也是显而易见的,各种复杂的数据操作,应用程序的大小,机器的处理能力都是瓶颈。

而在过去的10年中,一种服务于数百万用户的大型WEB应用架构出现了。其主要将应用程序代码和数据存放于同一个数据中心中的不同服务器中。应用服务器只存储当前请求和处理浏览器的需求,而这种架构允许应用程序扩展到成千上万的应用服务器和存储。

但是不幸的是,在大型架构图中,当服务器增加了4-5个数量级后,应用程序的复杂性,数据的访问延迟都成了问题。比如当Facebook收到一个HTTP请求访问网页时,应用服务器必须发出130个以上的数据以生成HTML页面,这当中有指令请求的顺序,而这些请求指令的累积是造成给用户整体响应时间延迟的因素之一,所以需要相当大的开发量,以尽量减少对服务器请求的代码大小和数量。

Mapreduce是最近几年兴起的一个新的技术,目的在于提高数据接入速度,消除了延迟问题,现在它解决了大规模的问题,但是如果是连续的数据访问,将使得Mapreduce仅仅限于在随机访问数据的应用中使用。

RAMCloud则充分结合了两者的优势–规模化和低延迟:保留了Web应用程序的可扩展性,同时降低了数据访问延迟以接近传统的应用程序。

对现有应用程序的扩展存储

对于新的应用,RAMCloud将使其更容易建立。因为缺乏一个可扩展的存储系统,现在开发大型的Web应用程序是困难的。

过去所有的Web应用程序都使用关系型数据库存储,但随着数据规模的扩大,一个单一的关系型数据库已经不能满足他们的I/O需求。因此大家开始做系统升级,引进新的技术来扩展自己的存储系统(比如多个数据库间的数据分区)。

比如,尽管Facebook在2009年的时候就有4000个MySQL服务器,但由于大量交互式数据的调用,现有的存储系统依旧不能满足它的I/O需求,所以Facebook用了2000个Memcached用作分布式内存对象缓存服务器–将一些键值存储于主内存中,但其瓶颈在于,需要处理Memcached和MySQL服务器之间的一致性,需要对应用软件进行管理(比如刷新缓存值以更新数据库),这无疑增加了应用的复杂性。

因此,NoSQL开始出现,用非关系型数据库以键值对存储,它的结构不固定,每一个元组可以有不一样的字段,每个元组可以根据需要增加一些自己的键值对,这样就不会局限于固定的结构,可以减少一些时间和空间的开销,但是他们瓶颈依然是磁盘速度。

RAMCloud的原理之一是提供一个通用的存储系统,其规模远远超出现有的系统,应用程序开发人员不需要采取特殊的方式(如NoSQL系统)。理想的状态是,RAMCloud提供一个简单的模型,易用、并且有扩展性,并对应用程序的城战不需要做架构上的改变。#p#

技术的发展趋势

RAMCloud的发展动力是来自磁盘技术的演进。 磁盘容量从80年代以来增长了超过10000倍,未来还将继续增加(表3),不幸的是,磁盘上的信息访问速度却停止不前,显著的提高方式是通过减少寻道时间和旋转延迟,但仅仅提高了50倍,和容量的增加实在无法成正比。

硬盘技术不平衡发展的结构,导致了数据必须保存在内存中不停访问。如果按照容量/带宽的比例来计算,如果磁盘是用作填补特定大小的块,那么每块多久可以访问?随机访问又如何呢?一个可行的办法是降低磁盘的利用率,如果只有一半的磁盘能够使用,那么访问速度理论上可以提高一倍。有数据显示,到2009年末时,Facebook真正可以利用的磁盘容量只有10%,显然,这个成本有点太高,从经济性和节能性来说,绝对不是一个好的架构。

缓存

对软件工程师而言,如果大多数访问只是磁盘一个小块,可以实现高性能保持在DRAM访问最频繁的块之上,在理想的状态下,使用缓存系统能够提供类似DRAM的性能+磁盘的成本。但是DRAM和磁盘之间的访问时间存在着1000倍的差距,这也意味着高速缓存必须要有非常低的损失率,以避免性能上的损失。

SSD

目前来看,可选择的SSD有两种:基于DRAM的设备和基于闪存的设备。

基于DRAM存储设备比基于闪存的存储设备速度更快,但成本也要高得多。

比如,2TB大小基于闪存的存储设备成本大约为18万美元;相比之下,存储容量相同但基于DRAM的存储设备成本高达约100万美元。基于DRAM的驱动器读取或写入数据的时间只要0.015毫秒,工作状态下随机速度达到了每秒可以处理40万次I/O。这种驱动器最适合以写操作为主的软件以及使用高性能数据库应用系统的公司。

基于闪存的存储驱动器读取或写入数据的时间为0.2毫秒,工作状态下最高读取速度为每秒10万次I/O,最高写入速度为每秒2.5万次I/O。这项技术也更适合以读操作为主的应用。
 

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/231547.html<

(0)
运维的头像运维
上一篇2025-04-19 18:16
下一篇 2025-04-19 18:18

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注