课件04多结构化数据管理google GFS1.pptx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
多结构化数据管理潘鹏数据存储与组织方法 现有技术(Google GFS)GFS+BigTable+MapReduceGFS基本理念GFS——几百甚至几千台普通的廉价设备组装的存储机群, 同时被相当数量的客户机访问。文件可能非常巨大(数GB的文件非常普遍),每个文件通常都包含许多应用程序对象(例如web文档、微博)。经常需要处理快速增长的、并且由数亿个对象构成的、数以TB的数据集。绝大部分的修改是在文件尾部追加数据,而不是覆盖原有数据。一旦写完之后,对文件的操作就只有读,而且通常是按顺序读。GFS基本理念 组件失效 ↓ 是常态而不是意外事件(任何给定时间内都有可能发生某些组件无法工作、无法从它们目前的失效状态中恢复)。 放松了对一致性模型的要求,引入了原子性的记录追加操作,从而保证多个客户端能同时进行追加操作,不需要额外的同步操作来保证数据的一致性。GFS基本概念大块Chunk:文件都被分割成固定大小的Chunk。 Chunk创建时,Master服务器会给每个Chunk分配一个不变的、全球唯一的64位的Chunk标识。Namespace:GFS提供了一套类似传统文件系统的API接口函数(没有严格按照POSIX等标准API的形式实现),文件以分层目录的形式组织,用路径名来标识。 在逻辑上,GFS的名称空间就是一个全路径和元数据映射关系的查找表。GFS基本概念1)利用前缀压缩,namespace表高效的存储在内存中。2)在存储名称空间的树型结构上,每个节点(绝对路径的文件名或绝对路径的目录名)都有一个关联的读写锁。不同于许多传统文件系统,GFS没有针对每个目录实现能够列出目录下所有文件的数据结构,GFS也不支持文件或者目录的链接(即Unix术语中的硬链接或者符号链接)。元数据的存储与访问机制GFS基本概念Chunkserver:Chunk服务器把Chunk以linux文件的形式保存在本地硬盘上,并且根据指定的Chunk标识和字节范围来读写块数据。 可靠性→ 每个块都会复制到多个chunkserver上(缺省3个存储复制节点)。 用户可以为不同的文件命名空间区域设定不同的复制级别。GFS基本概念Master:GFS分布式文件系统中的总控节点。执行所有的namespace操作。管理整个系统里所有Chunk的副本决定Chunk的存储位置创建新Chunk和它的副本协调各种系统活动以保证Chunk被完全复制在所有的Chunk服务器之间进行负载均衡回收不再使用的存储空间GFS基本概念 Master管理所有的文件系统元数据:Namespace访问控制信息文件和Chunk的映射信息Chunk当前的位置信息Master节点还管理着系统范围内的活动:Chunk租约管理孤儿Chunk(orphaned chunks)的回收Chunk在Chunk服务器之间的迁移。GFS基本概念一个GFS集群包含一个逻辑上单独的Master节点(Master组件)。 物理上有Master节点复制机制,为便于理解,可认为一个逻辑的Master节点包括两台物理主机,即两台Master服务器。 与Chunk服务器通讯? Master节点使用心跳信息周期地和每个Chunk服务器通讯,发送指令到各个Chunk服务器并接收Chunk服务器的状态信息。GFS基本概念Client:GFS客户端实现了GFS文件系统的API接口函数,代码以库的形式被链接到客户程序里。应用程序与Master节点和Chunk服务器通讯,对数据进行读写操作。 ↓ 客户端和Master节点的通信只获取元数据,所有的数据操作都是由客户端直接和Chunk服务器进行交互的。Data message Control messageGFS架构(容错,可伸缩性,数据存储,集群存储)MEMCACHE? DHT?Master保存的内容——元数据Master存储3种主要类型的元数据: 文件和Chunk的命名空间 文件和Chunk的对应关系 每个Chunk副本的存放地点Master不持久保存Chunk位置信息 ↓在启动或者有新的Chunk服务器加入时,向各个Chunk服务器轮询它们所存储的Chunk信息,并通过周期性的心跳信息监控Chunk服务器的状态。内存中Chunk的位置信息 Master在启动和之后定期轮询Chunk服务器及其更新的设计简化了Master和Chunk服务器数据同步的问题(在一个有数百台服务器的集群中,这类事件会频繁的发生:有Chunk服务器加入/离开集群、更名、失效、重启)。只有Chunk服务器才能最终确定一个Chunk是否在它的硬盘上,Chunk服务器的错误可能会导致Chunk自动消失(如硬盘损坏或无法访问),或者操作人员会重命名一个Chunk服务器。 → 不在Master上持久化维护这些信息的全局视图。Mast

文档评论(0)

2232文档 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档