您好,欢迎您来到DOIT! [ 登录 ] [ 免费注册 ]
您的位置:DOIT云计算> 云:云资讯 > 产业资讯 > 正文

云端磁盘:网络巨头如何存储数据(上)

DOIT云计算 12年04月09日 09:21 【编译】 译者:jim 责任编辑:王振

导读:细想支持谷歌主页搜索框需要的技术:背后的算法,缓存的搜索词,和其他一些随之而来的特性,比如当你输入一个位于数据存储中的查询时,基本相当于绝大多数网络的一个全文本快照。

关键词: 数据管理 存储备份 Hadoop 云存储

谷歌文件系统

谷歌是最早面对存储容量问题的主流网络公司中的一家。在2003年,谷歌工程师们找到了问题的答案,就是建立一个可为谷歌数据中心战略定制的分布式文件系统——谷歌文件系统(GFS)。

谷歌文件系统几乎是所有公司云服务的基础。它能够处理数据存储,包括公司的BigTable数据库和为谷歌的AppEngine“平台即服务”的数 据储存,并且为谷歌搜索引擎和其他程序提供数据。谷歌创建谷歌文件系统的设计决定推动了大量云架构下的软件工程技术,反之亦然。谷歌往往把程序数据储存在 大量的文件里,并把文件作为“生产者-消费者队列”使用,数以百计的机器收集的数据可能被写入同一个文件。这个文件可能会由另一个合并或分析数据的应用程 序处理——或许甚至是在数据正被写入的时候。

“这当中的某些服务器一定会出错——因此谷歌文件系统被设计为能够容忍这种错误,不会丢失(太多)数据”。

谷歌为自己保留了大量技术细节,原因很明显。但是由谷歌研究员Sanjay Ghemawat,首席工程师Howard Gobioff和高级工程师Shun-Tak Leung在2003首次发表的报告中提到,谷歌文件系统在设计上是带有一些非常具体的优先考虑的:谷歌想把大量便宜的服务器和硬盘驱动器变成一个可以储 存数百TB数据的能够在出错时自行管理可靠的数据存储。并且它需要被设计成按谷歌的方式收集和读取数据,允许多个应用程序同时把大批量数据添加到系统上, 且能以高速访问。

就像是一个RAID 5存储阵列通过多磁盘放置数据进行出错保护,谷歌文件系统把文件分成固定大小的块,复制到整个服务器集群。因为它们是用着廉价硬盘的电脑,其中一些服务器肯定会出错——因此谷歌文件系统被设计为能够容忍这种错误,不会丢失(太多)数据。

但是RAID和GFS的相同点就到此为止了,因为那些服务器可以分布于网络——既可以在第一个单独的物理数据中心也可以分散于不同的数据中心,取决 于数据的用途。GFS设计主要用于批量处理大量数据。重点是高速读取数据,而不是到文件中某个部分的访问速度,也不是数据写入到文件系统的速度。GFS提 供如此高输出是以牺牲更高密度的读写和更快速度的数据写入为代价的。正如Ghemawat和公司在文件中所说,“在文件中任意位置的小的写入是支持的,但 不一定非要高效。”

这种分布式的性质,随着GFS处理数据量的庞大——数百万的文件,当中很多都超过100MB而且通常都会变成GB——需要一些取舍,以便让GFS和 你通常安装在一台服务器上的文件系统有很大的不同。因为成百上千的独立进程可能同时对一个文件进行写入和读取,GFS需要支持“原子性”数据——在不影响 其他程序的情况下回滚出错的写入。而且它需要以非常低的同步开销保持数据的完整性以避免拖垮性能。

  • 人人网
  • 转播到腾讯微博腾讯微博
  • 新浪微博
热点文章排行
  • 微软重拳推出Office 365  微软重拳推出Office 365 2011年07月08日 经过大半年的准备,微软终于在今年6月份隆重推出了云计算办公套件Office 365。那么,Office 365作为微软集成了电子邮件、协作软件、字处理软件、电子表格和演示程序的办公套件重要产品之一,Office 365对微软来说到底是福是祸,能否为微软带来实质性的营收,能否让微软在新兴的云计算领域赢得一席之地?
  • 云计算和算计云 云计算和算计云 2011年06月22日 DOIT特别专题从云的历史进程到目前实施云的厂商,逐一谈起,让读者耳目一新的了解到现在云的现状以及如何不被云所算计。
  • 云端争夺战——IT厂商的盛宴 云端争夺战——IT厂商的盛宴 2010年07月27日 云计算到底是如何发迹的似乎已经不再重要了,重要的是它确实炙手可热。