|
GFS的特点,在设计上,GFS主要有8个特点:
1.大文件和大数据块,数据文件的大小普遍在GB级别,而且其每个数据块默认大小为64MB,这样做的好处是减少了元数据的大小,能使Master节点非常方便地将元数据放置在内存中以提升访问效率。
2.操作以添加为主,因为文件很少被删减或者覆盖,通常只是进行添加或者读取操作,这样能充分考虑到硬盘现行吞吐量大和随机读写慢的特点。
3.支持容错,首先,虽然当时为了设计方便,采用了单Master的方案,但是整 个系统会保证每个Master都有其相对应的复制品,以便于在Master节点出现问题时进行切换,其次,在Chunk层,GFS已经在设计上将节点失败视为常态,所以能非常好地处理Chunk节点失效的问题。
4.高吞吐量,虽然其单个节点的性能无论是从吞吐量还是延迟都很普通,但因为其支持上千个节点,所以总的数据吞吐量是非常惊人的。
5.保护数据,文件被分割成固定尺寸的数据块以便于保存,而且每个数据块都会被系统复制3份。
6.扩展能力强,因为元数据偏小,使得一个Master节点能控制上千个存储数据的Chunk节点。
7.支持压缩,对于那些稍旧的文件,可以通过对它进行压缩,来节省硬盘空间,并且压缩率非常惊人,有时甚至接近90%。
8.用户空间,虽然在用户空间运行在运行效率方面稍差,但是更便于开发和测式,还能更好地利用Linux自带的一些POSIC API。
|
|