Google key technologies

5

Click here to load reader

Transcript of Google key technologies

Page 1: Google key technologies

Google 4 Key Technologies

Chen Ting Zhao

Page 2: Google key technologies

GFS – Google File System

• 架构特点• Master 节点管理元数据

• 数据直接在client和Chunk节点间传输

• 文件分割为Chunks,一般为64MB

Google使用情况(2009)• 200+ 集群,很多集群有1000+机器• 4+ PB 文件系统

• 40 GB/s 读写负载

GFS Workload特点• 大文件的存储

• 一次写入多次读取

metadata

data

Page 3: Google key technologies

Big Table分布式多维度稀疏映射

(row, column, {timestamp}) -> cell contents

ROW:任意长度,一般10-100Bytes,最大小于64MCOLUMN: 任意维度的信息

TIMESTAMP: 时间维度,维护数据历史版本

过大的表可以通过行范围分为多个tablets- 100-200MB,不连续,分布在不同的机器和机柜

- 负载均衡:从负载重的机器迁移到负载轻的,对常访问的tablets进行缓存

Google使用情况2009Cluster数量: >500数据量: 70+ PB 操作访问量: 10M ops/secI/O: 30+ GB/s最大Cluster数据量:6000TB+

3000+ 机器最大Cluster操作访问: >500000+ ops/s

Page 4: Google key technologies

Map/Reduce• Map/Reduce是一种简单大数据计算问题的编程

Map的过程是

(k1,v1) -> list(k2,v2)Reduce的过程是

(k2,list(v2)) -> list(v2)

Google使用情况2009Job数量: 3467K平均完成时间: 475s输入数据(TB): 544,130中间数据(TB): 90,120输出数据(TB): 57,520平均worker机器数量: 488

Map/Reduce Workload特点:1. 计算问题可以分解成为若干并行执行的模块,并通过Reduce模块对结

果进行合并

2. 适合顺序的计算过程,较不适合循环和迭代的计算过程

Page 5: Google key technologies

Chubby松耦合分布式文件系统的锁

• 创建文件其实就是进行“加锁”操作

• client通过打开、关闭和读取文件,

获取共享锁或者独占锁; 并且通过通信机制,向其他client发送更

新信息。

Chubby特点:1. advisory lock,当一个client将某个文件锁住以后,如果有其他client想不解锁而直

接访问这个文件,这种行为是不会被阻止的。

2. coarse-grained(粗颗粒度的)锁住的时间都比较长,可能是几小时或者几天。

相比fined-grained的负载要小很多,因为加锁解锁并不会太频繁