学习 google file system 心得体会
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 心得体会的更多相关文章
- Google File System 学习
摘要 Google的人设计并实现了Google File System,一个可升级的分布式文件系统,用于大的分布式数据应用.可以运行在廉价的日用硬件上,具备容错性,且为大量客户端提供了高聚合的性能. ...
- Google File System 见解 (作业)
Google File System ——见解 近年来,大街小巷都传遍的大数据,引起了社会的一阵学习大数据狂热,造成任何公司在招聘人员的时候都会注上一条,会大数据的优先考虑:但是,从另一方面来说,这狂 ...
- 经典论文翻译导读之《Google File System》(转)
[译者预读] GFS这三个字母无需过多修饰,<Google File System>的论文也早有译版.但是这不妨碍我们加点批注.重温经典,并结合上篇Haystack的文章,将GFS.TFS ...
- 《The Google File System》论文阅读笔记——GFS设计原理
一.设计预期 设计预期往往针对系统的应用场景,是系统在不同选择间做balance的重要依据,对于理解GFS在系统设计时为何做出现有的决策至关重要.所以我们应重点关注: 失效是常态 主要针对大文件 读操 ...
- 谷歌三大核心技术(一)The Google File System中文版
谷歌三大核心技术(一)The Google File System中文版 The Google File System中文版 译者:alex 摘要 我们设计并实现了Google GFS文件系统,一个 ...
- 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 ...
- Google file system
读完了Google file system论文的中文版,记录一下总结,懒得打字,直接上草图:
- The Google File System 中文版
摘要 我们设计并实现了Google文件系统,一个面向分布式数据密集型应用的.可伸缩的分布式文件系统.虽然运行在廉价的日用硬件设备上,但是它依然了提供容错功能,为大量客户机提供了很高的总体性能. 虽然与 ...
- 【转】谷歌三大核心技术(一)The Google File System中文版
The Google File System中文版 译者:alex 摘要 我们设计并实现了Google GFS文件系统,一个面向大规模数据密集型应用的.可伸缩的分布式文件系统.GFS虽然运行在廉价 ...
随机推荐
- Python实例---模拟微信网页登录(day2)
第三步: 实现长轮询访问服务器---day2代码 settings.py """ Django settings for weixin project. Generate ...
- 【转】Java学习---快速掌握RPC原理及实现
[原文]https://www.toutiao.com/i6592365493435236872/ RPC概述 RPC(Remote Procedure Call)即远程过程调用,也就是说两台服务器 ...
- 2.3Python基础语法(三)之输入输出
返回总目录 目录: 1.input输入 2.print输出 (一)input输入 1.input的处理方式 # 输入input string = input("请输入一个字符串:" ...
- js常见执行方法window.onload = function (){},$(document).ready()
1. window.onload = function(){}; 当页面DOM对象加载完毕,web浏览器能够运行JS时,此方法即被触发. 2. $(document).ready();当web页面以及 ...
- 极限编程核心价值:反馈(Feedback)
原文:https://deviq.com/feedback 极限编程核心价值:简单(Simplicity) 极限编程核心价值:沟通(Communication) 极限编程核心价值:反馈(Feedbac ...
- 028、HTML 标签1列表、图片、表格
内容简单看一下理解就行了. HTML 是用来描述网页的一种语言.就是用来编写网页的语言 内容:换行.分割,标签属性,编码方式设置,字体标签,特殊符号,列表.图片.表格标签############### ...
- JS内置对象-String对象、Date日期对象、Array数组对象、Math对象
一.JavaScript中的所有事物都是对象:字符串.数组.数值.函数... 1.每个对象带有属性和方法 JavaScript允许自定义对象 2.自定义对象 a.定义并创建对象实例 b.使用函数来定义 ...
- console.time方法与console.timeEnd方法
在Node.js中,当需要统计一段代码的执行时间时,可以使用console.time方法与console.timeEnd方法,其中console.time方法用于标记开始时间,console.time ...
- win10系统上Python和pycharm的安装及配置
1.https://www.python.org/downloads/windows/进入官网下载需要的Python安装包(以2.7版本为例) 2.http://www.jetbrains.com/p ...
- Atcoder 水题选做
为什么是水题选做呢?因为我只会水题啊 ( 为什么是$Atcoder$呢?因为暑假学长来讲课的时候讲了三件事:不要用洛谷,不要用dev-c++,不要用单步调试.$bzoj$太难了,$Topcoder$整 ...