一、Hadoop
Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有着高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上。而且它提供高传输率(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。
和MYSQL是建立在操作系统的文件系统上一样,Hbase也是建立在HDFS这样的分布式文件系统上。HDFS就像您说的,把一个文件分成64M大小的块,分布到集群里各台机器上(一般每一块保留三个备份,同一机架上两台节点保存其中两个,另一机架上一个节点保存另外一个,这样来保证数据不至于因为一台机器、一台机架的宕机、断网导致数据块无法访问),HDFS利用这种方法来存储一个超大的文件,使得保存在不同节点上的文件看上去像是保存在本地硬盘的文件。但是HDFS只保存数据,对数据的解释是由其上的程序来处理的。比如您可以利用一个map/reduce的程序来对一个超大文件进行分析。
Hbase实现了一个数据库,和MYSQL类似,支持插入一行、增加一列之类的操作,你在Hbase里存储的数据最终会以某种格式存放在HDFS上,Hbase负责解释这些数据。由于HBase建立在HDFS之上,天生就拥有分布式的存储系统,这样即使保存PB级的数据,也完全可以支撑,相比之下,MYSQL只能运行在单机上,很难管理如此巨量的数据。
二、GoogleFS
Googl