Google三大论文
虽然Google没有公布这三个的源码,但是他发布了这三个产品的详细设计论文,奠定了风靡全球的大数据算法的基础!
Google FS
(1)2003年,Google File System论文:分布式文件系统。
Hadoop HDFS是一样的
(2)运行于廉价的普通硬件上,提供容错功能。从根本上说:文件被分割成很多块,使用冗余的方式储存于商用机器集群上。
(3)集群由一个master和多个chunkServer
HDFS
(4)将大文件拆分成固定大小的小文件(128MB)
(5)为了避免单个Master节点失效。Master被人干掉了,那么整个集群都完了。
(a)一个GFS集群由多个back up Master存在,允许多个Master的多个备胎存储在,他们和Master一样,Master存储了什么数据这些备胎也就存储了什么数据,仅仅这些备胎Master不能向小弟发送命令(只是和老大一样,但是不能工作)
(b)当Master失效,通过chubby锁服务选举一个备胎的Master作为正式的Master
MapReduce
(1)2004年发布。
(2)处理海量数据:将一个大任务进行拆分为多个小任务(Map),这些同时小任务运行在不同的机器中,分别得到一小部分结果,最后将这些结果进行合并(reduce)
(3)MapReduce分成2种任务,Map任务(拆分之后的小任务)和Reduce任务(将Map的结果进行合并)。
(4)开发人员在编写MapReduce程序的时候,我们重点关注(a)Mapper中map方法:每一条数据是怎么处理;(b)Reduce中Reduce方法:每个种key的处理。
BigTable(大表)
Bigtable发布于2006年,启发了无数的NoSQL数据库,比如:Cassandra、HBase等等。Cassandra架构中有一半是模仿Bigtable,包括了数据模型、SSTables以及提前写日志(另一半是模仿Amazon的Dynamo数据库,使用点对点集群模式)。
MySQL:非关系型数据库
Nosql:非关系型数据,表与表之间没有关联。
Master失效,通过chubby锁服务选举一个备胎的Master作为正式的Master
Chubby锁服务
Zookeeper实现功能和chubby锁服务的功能是一样的,都是为其他框架提供服务的