Google File system文件系统,是在特别便宜的普通硬件设备上运行,它是一个面向大规模数据密集型运用的、可伸缩的分布式文件系统。

与传统文件相比,它认为组件失效是很平常的事件,因为GFS包括几千台的廉价设备组装的存储机器,被很多的客服机访问,GFS的组件的质量不一样、数量有多,所有的机器在任何时间都有可能出现故障,但是GFS拥有持续监测、错误监测、灾难冗余以及可以自动恢复的机制。传统文件是覆盖原有数据方式来修改,而GFS大多文件修改是在文件尾部追加。

在存储文件时,GFS存储文件被分割成一定大小的chunk,创建chunk时,master服务器会给chunk一个独有的标识,而且每个块会复制到多个服务器上,通常情况上会使用三个存储复制节点。master节点管理所有文件系统的元数据,但master服务器并不是永久保存chunk服务器存有指定chunk的副本信息。它是在启动时,轮流地询问chunk服务器,用来获取信息,已保持自身信息是最新的。通过周期性的心跳来监测chunk服务器的状态。

如果chunk出现问题或硬盘坏了,master可以通过操作日志的重演把文件系统恢复到最近的状态。操作日志包含了关键元数据变更历史记录。

如果master服务器失效了,可以利用之前复制master服务器的所有操作日志和checkpoint文件,重新启动一个新的master的进程。

关于GFS的垃圾回收机制,我觉得非常好,它不是立即删除,而是将待删除的文件名改为一个包含删除时间的隐含名字。只有将隐藏文件从名称空间删除,而会永久删除。

GFS运用到施工中,也是非常合适的。首先它的成本不高,它可以存储大量文件,就算有一台电脑坏了,数据也不会丢失,而且在施工中,很多文件需要重做,保存文件很容易与之前的弄混淆,尤其是过很久再找事,分不清那个是最新版本的,而GFS是在文件尾部缀加,一更改,文件就全部变成最新版本的。有时不小心删了重要文件,很有可能找不回了,而GFS的垃圾回收,就算删除了,也可找到。所以我觉得可以将GFS文件系统运用到工程中。

学习 google file system 心得体会的更多相关文章

  1. Google File System 学习

    摘要 Google的人设计并实现了Google File System,一个可升级的分布式文件系统,用于大的分布式数据应用.可以运行在廉价的日用硬件上,具备容错性,且为大量客户端提供了高聚合的性能. ...

  2. Google File System 见解 (作业)

    Google File System ——见解 近年来,大街小巷都传遍的大数据,引起了社会的一阵学习大数据狂热,造成任何公司在招聘人员的时候都会注上一条,会大数据的优先考虑:但是,从另一方面来说,这狂 ...

  3. 经典论文翻译导读之《Google File System》(转)

    [译者预读] GFS这三个字母无需过多修饰,<Google File System>的论文也早有译版.但是这不妨碍我们加点批注.重温经典,并结合上篇Haystack的文章,将GFS.TFS ...

  4. 《The Google File System》论文阅读笔记——GFS设计原理

    一.设计预期 设计预期往往针对系统的应用场景,是系统在不同选择间做balance的重要依据,对于理解GFS在系统设计时为何做出现有的决策至关重要.所以我们应重点关注: 失效是常态 主要针对大文件 读操 ...

  5. 谷歌三大核心技术(一)The Google File System中文版

    谷歌三大核心技术(一)The Google File System中文版  The Google File System中文版 译者:alex 摘要 我们设计并实现了Google GFS文件系统,一个 ...

  6. Colossus: Successor to the Google File System (GFS)

    Colossus is the successor to the Google File System (GFS) as mentioned in the recent paper on Spanne ...

  7. Google file system

    读完了Google file system论文的中文版,记录一下总结,懒得打字,直接上草图:

  8. The Google File System 中文版

    摘要 我们设计并实现了Google文件系统,一个面向分布式数据密集型应用的.可伸缩的分布式文件系统.虽然运行在廉价的日用硬件设备上,但是它依然了提供容错功能,为大量客户机提供了很高的总体性能. 虽然与 ...

  9. 【转】谷歌三大核心技术(一)The Google File System中文版

      The Google File System中文版 译者:alex 摘要 我们设计并实现了Google GFS文件系统,一个面向大规模数据密集型应用的.可伸缩的分布式文件系统.GFS虽然运行在廉价 ...

随机推荐

  1. tplink-ssh登录

    同步发表:https://www.eatm.app/archives/395.html 备份配置信息 开启SSH #修改文件userconfig/etc/config/dropbear, #查看opt ...

  2. Windows Phone 8 获取与监听网络连接状态(转)

    原文地址:http://www.cnblogs.com/sonic1abc/archive/2013/04/02/2995196.html 现在的只能手机对网络的依赖程度都很高,尤其是新闻.微博.音乐 ...

  3. app的描述-软件的描述

    app的描述=需求文档+接口文档+程序架构+工程结构.   程序架构:类结构图: 需求文档:业务逻辑-->时序图.

  4. c# winform 自动升级

    winform自动升级程序示例源码下载  客户端思路: 1.新建一个配置文件Update.ini,用来存放软件的客户端版本: [update] version=2011-09-09 15:26 2.新 ...

  5. Dig命令解析结果

    dig -t RT NAME @NS -t RT 指定要查询的资源记录类型 NAME 需要解析的域(域名) @NS 指定那个域名服务器负责解析 [root@xss ~]# dig www.ihoney ...

  6. .netcore部署Linux并结合Nginx反向代理 get started

    一..NetCore网站准备与发布 首先准备好一个ASP.NET Core Web应用程序,我这里就使用新建的示例站点作为demo演示,使用dotnet publish 命令发布网站. 或者使用VS的 ...

  7. browerify初步了解

    之前在写Signature Request Warnings & eth_sign学习的时候在里的signing examples时了解到browserify工具,可以通过这个例子学习如何使用 ...

  8. 数据同步canal服务端介绍

    1.下载安装包 canal&github的地址,最权威的学习canal相关知识的地方 https://github.com/alibaba/canal 在下面的wiki列表中找到AdminGu ...

  9. OpenCV——积分图计算

    #include <opencv2/opencv.hpp> #include <iostream> #include "math.h" using name ...

  10. JS简单的倒计时(代码优化)

    倒计时网上一大堆,所以也没有什么好说的,支持:1.年,月,日,天,时分秒等倒计时. JS代码如下: /* * js简单的倒计时 * @param {date,obj} 日期 对象格式 */ funct ...