一。概述
google包括三大核心技术:GFS(Goole文件系统),MapReduce(分布式计算系统),BigTable(分布式存储系统)。
1.GFS,底层,负责服务器、机器数据的存储。将大体积的数据库分成固定大小的数据块放到两到三个服务器上。当一个服务器发生故障时,可将数据迅速从另外一个服务器上恢复过来。
2.MapRdeuce,Google开发的编程工具,由于1TB的大规模数据集的并行计算。可将一个搜索任务分成数百个小任务,并行处理,将最终结果在后台合并,将最终结果返回到客户端。
3.BigTable,对半结构化数据进行分布存储与访问接口,是建立在GFS和MapReduce上的结构化分布式存储系统。
google的集群采用key/value的形式存储,可以增强系统的可扩展性(scalability)。扩展性体现下两点:(1)可以支持极大的数据存储;(2)可以支持数量很多的并发查询。
key/value模式相比于RDBMS模式存在缺陷:
(1)没有schema(数据库对象的集合),不提供数据之间的关系和数据的完备性,需要开发人员自己处理;
(2)人们对它的接口不熟悉,当前出现的做法是再key/value存储上添加一个类SQL的抽象接口层。
二。详述
1.GFS是google自己研发的适用于大规模分布式数据处理相关应用的、可扩展的分布式文件系统。处理的数据库大小为64M(windows处理的一般为4KB),有两部分组成,主服务器和块服务器。
主服务器节点保存的数据为:文件和块的命名空间;文件到块的映射;每一个块的副本位置。所有元数据是保存在主服务器的内存中,命名空间和映射保存在主服务器本地磁盘的日志中。通过日志,在宕机时恢复主服务器状态。
主服务器的值日保存了关键元素变化的历史记录,是GFS的核心。主服务器在日志增长超过一定大小时,执行检查点动作,在下次启动时从本地硬盘读这个最新检查点,检查点类似B-树形式。
HDFS是开源GFS。
google包括三大核心技术:GFS(Goole文件系统),MapReduce(分布式计算系统),BigTable(分布式存储系统)。
1.GFS,底层,负责服务器、机器数据的存储。将大体积的数据库分成固定大小的数据块放到两到三个服务器上。当一个服务器发生故障时,可将数据迅速从另外一个服务器上恢复过来。
2.MapRdeuce,Google开发的编程工具,由于1TB的大规模数据集的并行计算。可将一个搜索任务分成数百个小任务,并行处理,将最终结果在后台合并,将最终结果返回到客户端。
3.BigTable,对半结构化数据进行分布存储与访问接口,是建立在GFS和MapReduce上的结构化分布式存储系统。
google的集群采用key/value的形式存储,可以增强系统的可扩展性(scalability)。扩展性体现下两点:(1)可以支持极大的数据存储;(2)可以支持数量很多的并发查询。
key/value模式相比于RDBMS模式存在缺陷:
(1)没有schema(数据库对象的集合),不提供数据之间的关系和数据的完备性,需要开发人员自己处理;
(2)人们对它的接口不熟悉,当前出现的做法是再key/value存储上添加一个类SQL的抽象接口层。
二。详述
1.GFS是google自己研发的适用于大规模分布式数据处理相关应用的、可扩展的分布式文件系统。处理的数据库大小为64M(windows处理的一般为4KB),有两部分组成,主服务器和块服务器。
主服务器节点保存的数据为:文件和块的命名空间;文件到块的映射;每一个块的副本位置。所有元数据是保存在主服务器的内存中,命名空间和映射保存在主服务器本地磁盘的日志中。通过日志,在宕机时恢复主服务器状态。
主服务器的值日保存了关键元素变化的历史记录,是GFS的核心。主服务器在日志增长超过一定大小时,执行检查点动作,在下次启动时从本地硬盘读这个最新检查点,检查点类似B-树形式。
HDFS是开源GFS。