关于Google File System(GFS)的感想

李雪琪 2019-04-18 05:02:22
当我花了数小时读完老师要求的论文时,我觉得大数据时代我们对一切都科技发展带给我们的便利已经习以为常,却从没认真去了解过其中的魅力。就像老师说的,我们作为大学生还是有必要尝试着去读一次专业的学术论文。 尽管作为一个对云计算一窍不通的人,还是从论文中学到了并尽可能的理解了gfs大体的构建。所以下面主要从gfs的构成,如何有效读取和写入,master服务器稳定和数据恢复等方面浅谈自己的读后感想。 gfs的构建,一个gfs集群包含一个单独的master节点,多台chunk服务器,并且同时被多个客户端访问。在gfs中储存的文件都会被分割成固定大小的chunk,并且为了方便识别储存的数据,会在创建每一个chunk时,分配一个不变的,全球唯一的64位chunk标识,并且以linux文件的形式保存在本地硬盘上。单一的master节点会大大简化gfs的设计,因为客户端通过master找到需要询问的chunk服务器,客户端将这些元数据缓存一段时间后,后续会直接与chunk服务器进行数据读取。对于元数据都储存在master的内存中,有三种主要类型的元数据,文件和chunk的命名空间,文件和chunk的对应关系,每个chunk副本的存放地点。关于我自己的理解是这些类型的元数据会方便实现读取,保持master服务器与chunk同步状态,不会导致master服务器崩溃。 文件的读取和写入,对于读取和写入效率,当读取和写入的客户机增加时,多个客户机同时读取和写入的几率也增加,导致整体的读取和写入效率降低。感觉就像我们平时用网线,当多个人用同一条网线时,你的网速就会变得很慢,放视频打游戏动不动就卡机。gfs系的读取有两种操作,一种是大规模的流式读取,大规模的流式读取通常一次读取数百KB的数据,甚至更多。而另外一种是小规模的随机读取,并且在gfs中对于记录追加通过chunk和chunk的副本进行操作,保证至少有一次原子的写入操作成功执行。 master服务器的稳定和数据恢复备份。在gfs中为了保持master服务器的可靠性,master服务器的状态也要复制,master服务器的所有操作日志和checkpoint文件都被复制到多台机器上,其中操作日志是元数据的唯一持久化存储记录,在master服务器在灾难恢复时,通过重演操作日志把文件系统恢复到最近的状态,而checkpoint是对数据库做一次快照的行为,读取checkpoint文件以及重演checkpoint之后的有限个日志文件就能恢复系统。而且在论文中可以了解到快照是对一个文件或者目录树做一个拷贝,可以瞬间完成,并且不会对同时进行的其他操作造成干扰,所以通过快照,用户可以创建一个巨大的数据集的分支拷贝,就如同备份一样,可以直接提交或者回到拷贝当前状态。 以上就是读过论文后对gfs的浅谈,其实确实还有许多方面以现在的知识储备不能够完全理解,但是从中也确实了解一二,学到了新的知识,同时也见识到了其中的魅力。
...全文
68 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

1,092

社区成员

发帖
与我相关
我的任务
社区描述
云计算服务器、网络、虚拟化相关讨论
社区管理员
  • 服务器
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧