GFSChubbyBigTable的三者详细定义相互关系,一方面,对于GFSChubbyBigTable的定义,一方面,对于GFS2,对于Chubby3定义2、2、3者之间的关系
叮嘟!这里是小啊呜的学习课程资料整理。好记性不如烂笔头,今天也是努力进步的一天。一起加油进阶吧!
另一方面,GFS Chubby BigTable定义1,对于GFS GFS 谷歌文件系统) GFS,谷歌公司设计用于存储大量的搜索数据的专用文件系统。 GFS是一种可扩展的分布式文件系统,用于大型、分布式、访问大量数据的APP应用程序。 它在廉价的常用硬件上工作,提供容错功能。 为广大用户提供整体性能高的服务。
GFS将系统节点分为以下三个角色:
GFS的新之处不在于采用了多么惊人的新技术,而在于利用廉价的商用计算机集群构建分布式文件系统,在降低成本的同时接受了实用化的考验。
一个GFS包括一个主服务器master )和多个块服务器,允许一个GFS同时向多个客户端APP应用程序多个客户端)提供文件服务。
文件被拆分为固定的块,主服务器计划存储在块服务器的本地硬盘上。 主服务器负责记录数据如子库存)并维护和管理文件系统,包括租用块、回收垃圾块以及在服务器之间迁移块。 此外,主服务器定期通过消息与每个块服务器进行交互,监视运行状况并发出命令。 APP应用通过主服务器和块服务器之间的交互来实现对APP应用数据的读写。 APP应用程序与主服务器的交互仅限于元数据或部分控制数据,而其他数据操作则直接与块服务器进行交互。 这种将控制与业务分离的框架在互联网产品方案中广泛而成功。
2、Chubby Google Chubby是一种分布式加锁服务,Chubby底层一致性的实现是以Paxos为基础的。 Chubby是一种针对松散耦合分布式系统的锁定服务,通常用于为由许多小型计算机组成的松散耦合分布式系统提供高可用性锁定服务。 分布式锁定服务的目的是使客户端进程能够同步彼此的操作,并就当前环境的基本状态信息达成一致。 最典型的场景是进行服务器的主选举。GFS使用Chubby来实现对GFS Master服务器的选举。
系统结构:
典型的Chubby集群,或称为Chubby cell,通常由5台服务器组成。 这些复印服务器采用Paxos协议,通过投票方式将一个服务器确定为主机。 当一台服务器为主服务器时,Chubby将保证其他服务器不为主服务器的时间,时间为租赁期。 在运行过程中,主服务器将不断被租用,如果主服务器出现故障,其馀的服务器将选择新的主服务器并生成新的主服务器。
在实际操作中,只有主服务器可以向数据写入,其他服务器使用Paxos协议从主服务器同步数据库数据更新。 Chubby客户端会轮询所有服务器,以了解该服务器是否为主服务器,在查询过程中,这些非主服务器会将主服务器的标识信息反馈给客户端存储小数据),并尽快mmster
当客户端移动到主服务器时,所有请求都将发送到主服务器,Chubby Master使用一致性协议向所有副本服务器广播写入请求,并在接受请求后响应客户端。 关于读取请求,Master服务器单独处理即可。
在Chubby运行期间,主服务器定期轮询DNS列表,并立即识别出服务器地址的更改。 群集中的其他副本服务通过复制获取最新的服务地址列表。
有关Chubby的详细信息,请参阅博文。 https://www.Jian Shu.com/p/3ce 17952 e4f 3、bigtable是Goole开发的基于GFS和Chubby的分布式存储系统。 Bigtable分布式数据存储系统是谷歌为公司内部大量结构化数据开发的云存储技术是谷歌第三云计算的关键技术是所有云时代分布式存储系统的
Bigtable旨在确保处理数Pb级的海量数据并将其部署到上千台计算机上。Bigtable具有高可靠性、高性能、可伸缩等特性借鉴了并行数据库和内存数据库的一些特性,但Bigtable提供了完全不同的接口。Bigtable不支持完整的关系数据模型,而是为用户提供了简单的数据模型,使客户可以动态控制数据的分布和格式
Bigtable是稀疏、分布式和持久性存储的多维有序映射表,表的索引为外键、列键和时间戳。 存储在Bigtable中的表项是未解析的字节数组,数据模型如下:
p> row:string,column:string, time:int64)→string
选定该数据模型,是在仔细分析了Bigtable系统的种种用途之后决定的 [1] 。比如一个存储了大量网页及其相关信息的表Webtable,Webtable使用URL作为行关键字,使用网页的某些属性作为列名,网页的内容存入contents列中,并使用获取该网页的时间戳标识同一个网页的不同版本 。在Bigtable中,Webtable的存储范例如下图所示 。
BigTable与并行关系数据库的比较:
二、关于GFS&Chubby&BigTable三者之间的关系 Bigtable系统实现了数据的分布式管理和结构的组织 。Bigtable包含了3个主要的组件:链接到每个客户的库,一个Master服务器和多个Tablet服务器。根据负载情况的变化,Bigtable可以动态的向集群中添加或者删除Tablet服务器 。
Bigtable依赖一个高可用和持续分布式锁服务器Chubby进行管理。Chubby提供了一个名字空间,里面包含了目录和小文件 。每个目录或者文件可以当成是一个锁,读写文件的操作都是原子的 。每个Chubby的客户程序都维护一个与Chubby服务的会话 。
Bigtable使用Google的分布式文件系统(GFS)存储日志文件和数据文件。Bigtable集群通常运行在一个共享的机器池里,Bigtable依赖集群管理系统调度任务、管理共享机器上的资源、处理机器的故障以及监视机器的状态。
Ending!
更多课程知识学习记录随后再来吧!
就酱,嘎啦!
注:
1、人生在勤,不索何获。
2、关于BigTable详细参见:
https://baike.baidu.com/item/BigTable/3707131?fr=aladdin
3、关于Chubby详细参见博文:
https://www.jianshu.com/p/3ce17952e4f3
4、关于GFS详细参见:
https://baike.baidu.com/item/GFS/1813072?fr=aladdin