1、Google File System概述

google file system是一个分布式文件系统,针对的是数据密集型应用,提供容错功能,运行在低廉的服务器上,同时给大量的用户提供高性能服务。尽管google file system有着传统的分布式文件系统的目标,但是GFS的开发兼顾观察现在Internet应用下的技术需求和场景,为了扩展也考虑将来的场景,这是Google File System与传统的分布式文件系统不同的地方。

2、GFS设计时的目标及考虑因素

  • 传统的分布式文件系统的目标:扩展性(scalability),可靠性(reliability),有效性(availability)

  考虑现实条件及场景:

  • 构成GFS的组件故障是正常的,而不是意外:GFS设计目标是由成百上千的存储服务器,甚至更多,这些存储服务器是低廉的,同时会被大量的客户访问。这些存储服务器的数量和质量就确定了GFS组件的故障时正常的
  • 按照传统的观点,文件是巨大的:几个GB大小的文件是很正常的。
  • 文件数据的更改不是覆盖原有的数据,而是在文件的后面添加新的数据
  • 在设计的时候兼顾考虑应用和文件系统,这样方便以后扩展

3、GFS设计时假定的前提条件

  • 系统建立在低廉的服务器上,会发生故障
  • 存储中等程度数量的大文件
  • 负载有两种读:大型的streaming reads和小型的random reads
  • 负载有大量的顺序添加写操作
  • 总体的带宽比时延更重要

4、设计接口(Interface)

采用的不是传统的POSIX接口,支持操作为create、delete、open、close etc

5、

最新文章

  1. Control.DataBinding数据绑定简单用法:
  2. HTML5部分新标签属性及DOM扩展元素
  3. 近期编程问题——read:resource temporarily unavailable
  4. HTML5 canvas globalCompositeOperation绘图类型讲解
  5. 【jQuery基础学习】11 jQuery性能简单优化
  6. Linux&shell之如何控制脚本
  7. Ubuntu14.04安装androidStudio错误解除
  8. c#管理文件系统
  9. Struts2重要知识点总结
  10. python 特定份数的数据概率统计(原创)
  11. 075 importSTV的使用,与bulkload的使用
  12. shell-跳板机便捷增加用户及设置密码
  13. Tensorflow 使用slim框架下的分类模型进行分类
  14. C#与android连接 SimpleWifi
  15. luogu4407 [JSOI2009]电子字典 字符串hash + hash表
  16. pip 更换国内源
  17. Spring配置文件中<bean>标签的scope属性
  18. centos 在vm下网络不通
  19. UVa11988 Broken Keyboard (a.k.a. Beiju Text)
  20. BeanUtils Date

热门文章

  1. java利用直方图实现图片对比
  2. react-native一些好的组件
  3. 给div加上padding和border,如何不让div整体改变
  4. Linux Centos7安装Oracle12c第二版本
  5. Thrift-RPC client in Flume
  6. 12_Redis缓存穿透
  7. 多线程 读写锁SRWLock
  8. Markdown学习使用
  9. Struts学习-Hibernate2
  10. Idea中Git的使用和两种类型的冲突解决