Google File System

简介

这三篇论文是分布式存储的奠基论文也是Google的成名论文。

Google File System

GFS面向大规模数据密集型存储应用,可以运行在普通硬件上,能够提供超过数TB的存储空间、以及灾难冗余能力。

设定

  • 一个系统中所有的组件(即某台物理机)都是不可靠的,其失效是常态事件。
  • 需要存储的文件都非常大,且超过了一般文件系统能够支持的大小。
  • 文件的读写方式是在文件结尾追加数据。
  • 应用程序和文件系统 API 的协同设计提高了整个系统的灵活性。

设计

文件读写

文件的读写方式

  • 顺序流式读取
  • 随机读取

由于随机读取方式效率不高,会通过把小规模的随机存取合并、排序后,一次性完成。

对于大规模流式存取,采用生产者-消费者模型,保证同时只有一个生产者对文件进行追加数据。

在文件读写方式中,系统的延迟不重要,重要的是网络带宽。

架构

在这里插入图片描述
在逻辑上,一个GFS集群包含一个Master节点,以及多个chunk服务器。

每个存储在GFS上的文件,都会被分割为具有唯一标识的固定大小的块。Chunk服务器直接将这些块以文件形式存储到硬盘中。出于可靠性考虑,每个块会被在3个及以上的服务器中被存储。

Master 节点管理所有的文件系统元数据。这些元数据包括名字空间、访问控制信息、文件和 Chunk 的映射信息、以及当前 Chunk 的位置信息。Master 节点使用心跳信息周期地和每个Chunk服务器通讯,发送指令到各个 Chunk 服务器并接收 Chunk 服务器的状态信息。

Master服务器在Chunk服务器接入后,和Chunk服务器同步数据,获得Chunk服务器上保存的元信息。

在这里插入图片描述

租约和变更顺序

Master和主chunk服务器建立租约,主chunk和用户之间通过控制流进行交互。用户和任意chunk服务器间形成数据流。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值