4. 구글의 분산 방식
스케일 아웃(↔스케일업)
하드웨어의 수를 늘려 데이타 및 태스크 분산
소프트웨어에 의한 문제 해결
저가의 하드웨어 사용
모든 하드웨어의 기능 및 문제를 소프트웨어로서 해결
적절한 하드웨어 선택
가격대비 성능이 좋은 하드웨어 선택
전력량을 최소화하기 위한 하드웨어 커스터마이징
컴퓨터의 각 기능 분산
CPU – Map/Reduce (Work Queue)
HDD - GFS(Google File System)
RAM - Chubby
Database - Bigtable
5. 구글의 데이터 센터
데이터 센터
클러스터 클러스터
랙 랙
랙 랙
랙
랙
랙 랙 랙
랙 랙
랙 랙
랙
랙
랙 랙 랙
랙
PC
스위치
PCPC
PC PCPC
PC PCPC
PC PCPC
PC: CPU 2~4개, RAM 2-4GB, HDD 2~4개
랙: 40~80대의 PC로 구성, LAN 1Gbps
6. 분산쓰기
Chunk #1
File
Chunk #2 Chunk #3
PC
Chunk #1
PC
Chunk #2 Chunk #3
rack
PC
Chunk #1
PC
Chunk #2
Chunk #2
PC
Chunk #3Chunk #1
rack
copies for
backup
Chunk #3
64MB
split
PC
7. 분산읽기
Chunk #1
File
Chunk #2 Chunk #3
PC
Chunk #1
PC
Chunk #2
PC
Chunk #3
rack
PC
Chunk #1
PC
Chunk #2
Chunk #2
PC
Chunk #3Chunk #1
rack
merge
Chunk #3
read fail
8. PC #1 PC #2 PC #3
쓰기과정
Client Master
Chunk
Server
chunks
primary, near chunk
server address
2
Chunk
Server
chunks
Chunk
Server
chunks
File
read, split1
writing file to
near chunk server
3
writing complete4
copy5 copy5
6 writing success
Primary Chunk
Server
Near Chunk
Server
9. 읽기과정
Client Master
chunk servers & chunk info2
request reading with filepath1
File
merge with
chunk info
5
chunk data4
PC #1 PC #2 PC #3
Chunk
Server
chunks
Chunk
Server
chunks
Chunk
Server
chunks
Near Chunk
Server
chunk data4
chunk #1 chunk #1 chunk #2
10. 원자적 쓰기
Record #1 Record #2 Record #3 Record #1
Record #1 Record #2 Record #3 Record #1
Record #1 Record #2 Record #3 Record #1
Time
chunk
atomic writing
writing failure
Client
Chunk Server #1
Chunk Server #2
Record: chunk의 일부분이며, Bigtable의 한 Row
rewriting success
11. 원자적 읽기
Record #1 Record #2 Record #3 Record #1
Record #1 Record #2 Record #3 Record #1
Time
chunk
checksum failure
Client
Chunk ServerRecord #1
Record #1
old timestamp
atomic reading
Record: chunk의 일부분이며, Bigtable의 한 Row