云计算学习笔记
Google云计算技术包括:
Google文件系统GFS、分布式计算编程模型MapReduce、分布式锁服务Chubby、分布式结构化数据表Bigtable、分布式存储系统Megastore以及大规模分布式监控系统Dapper等。
其中GFS提供了海量数据的存储和访问的能力,MapReduce使得海量信息的并行处理变得简单易行,Chubby保证了分布式环境下并发操作的同步问题,Bigtable使得海量数据的管理和组织十分方便,构建在Bigtable之上的Megastore则实现了关系型数据库和NoSQL之间的巧妙融合,Dapper能够全方位的监控整个Google云计算平台的运行状况。
GFS分为:Client(客户端)、Master(主服务器)和ChunkServer(数据块服务器)
Client:GFS提供给应用程序的访问接口。
Master:GFS的管理节点,保存系统的元数据,负责整个文件系统的管理,是GFS文件系统中的“大脑”。
Chunk Server 负责具体的存储工作。
客户端访问GFS时,首先访问Master节点,获取与之进行交互的Chunk Server信息,然后直接访问这些Chunk Server,完成数据存取工作。实现了控制流和数据流的分离。Client与Master之间只有控制流,而无数据流,极大地降低了Master的负载。Client与Chunk Server之间直接传输数据流,由于文件分成多个Chunk分布式存储,Client可以同时访问多个Chunk Server,从而使得整个系统的I/O高度并行,系统整体性能得到提高。
GFS的特点:
1. 采用中心服务器模式
控制和存储分离,使得增加新的Chunk Server容易实现,Master掌握整个系统内ChunkServer的情况,实现系统范围内数据存储的负载均衡。中心服务器缺点是极易成为整个系统的瓶颈。GFS采用多种机制来避免Master成为系统性能和可靠性上的瓶颈,如尽量控制元数据的规模、对Master进行远程备份、控制信息和数据分流等。
2. 不缓存数据
客户端大部分是流式顺序读写,并不存在大量的重复读写,缓存这些数据对提供系统整体性能的作用不大,由于GFS的数据在Chunk Server上以文件的形式存储,如果某块数据读取频繁,本地的文件系统自然会将其缓存。但是对于存储在Master中的元数据,GFS采用了缓存策略,因为Master需要频繁操作元数据,保存元数据到内存可以提高操作的效率。另一方面,采用相应的压缩机制降低存储空间,提高内存利用率。
3.在用户态下实现
4.只提供专用接口
- 点赞
- 收藏
- 关注作者
评论(0)