Google 三架马车中,第一架即是 GFS(Googel File system )
文件系统从垂直伸缩到水平伸缩
早期,为了提升计算机的运算以及存储能力,主要靠的是垂直伸缩的方式。摩尔定律提出集成电路上晶体管的数目每两年会增加一倍。当时,半导体行业大致按照摩尔定律发展了半个多世纪。
独立硬盘冗余阵列(RAID, Redundant Array of Independent Disks)可以认为是一种垂直伸缩。其基本思想是把多个磁盘组装起来称为一个磁盘阵列,使之性能达到甚至超过一个价格昂贵、容量巨大的硬盘。根据 RAID 实现方式的不同,可以有不同的效果,包括提升容量、磁盘容错、处理性能。
互联网时代,计算机硬件的性能提升早已放缓,公司购买大型计算机的成本是很大的,所以开始出现水平伸缩的方式,通过分布式技术,在集群中不断增加计算机来提升计算能力。将 RAID 的思想应用到分布式集群,就产生了分布式文件系统,分布式存储技术的典型代表就是 HDFS。
HDFS (Hadoop Distributed File System) 被设计用来搭建大规模的分布式集群,提供海量数据的读写、存储。
HDFS 的特点和设计目标:硬件容错 大规模集群有大量节点,硬件会有一定的损坏概率,所以 HDFS 支持错误检测,快速和自动的恢复服务。
流式访问 HDFS 支持流式访问数据,被设计用于批量处理而非用户交互。重点是高吞吐量访问而不是低延迟。(换句话受,HDFS 为高吞吐量而设计,以高延迟为代价)
存储大文件 HDFS 适合存储大型文件,并将文件分块存储到不同的节点上。
简单一致性模型 一次写入,多次读取。支持追加数据