2. 대규모화와 분산 System
Scale up :: Scale out
Google System의 규모
분산 System
▪ Rack
▪ Cluster
▪ Data Center
Scale out 방식의 문제점
CPU와 HDD의 효율적 사용
대규모 검색 Engine의 구축
3. Google의 분산 System과 검색 Cluster
전세계 network의 연결
Data Center의 분산
검색 Cluster
Index 분할 방식의 변경
Index의 분산
진화된 Google의 Web 검색 절차
Google의 기본적인 사상
11. Hardware의 고장
고장이 나더라도 전체 System 멈추지 않도록 함
여러 가지 장애들
Software적인 방법으로 해결
고난도 분산처리
다수의 machine을
동시에 사용
Scalability - 확장성
병목현상
<병목현상>
12. 다수의 machine -> 거대한 file system
GFS – Google File System
Machine들을 network로 연결하여 data를 잃고 쓰는 기술
주로 Hard Disk Drive
Work Queue
CPU
Work
각 machine의 부하를 감시하며 Queue CPU
machine 별로 분산 수행 시키는 기술
주로 CPU GFS HDD
Cluster 단위로 기능을 구현
< Cluster >
13. 검색 Server의 대규모화
이용자의 검색 요청이 분산
한 단어에 관한 정보가 한 곳에 집중
(wordID에 따른 분산) -> 병목현상 발생
검색 back-end의 대규모화
Crawler의 성능↑ -> Repository 저장되는 Data 양 ↑
URL Server에서 병목현상 발생 가능
Index의 대규모화 Search Engine
이 Int
Index의 분할 Back
용 er
Search
–
자
Index
대규모 Index net
Server
end
14.
15.
16. 분산 처리 system
자신의 위치와 가까운 Data Center와 연결
< 전 세계에 퍼져있는 Google의 data center>
17. GWS LB
Google Web Server Load Balancer
검색요청을 한곳에 모음 부하가 가벼운 곳으로 일을 넘김
Search Cluster
LB
GWS GWS GWS
Document
Index Server Server
18. 검색 자체의 분산
Barrels –> Shard WordID –> DocID
DocID DocID
WordID WordID
<Barrels> <Shard>
19. LB에 의해 부하를 분산
얼마든지 확장 가능한 구조
GWS
Shard Shard Shard
LB LB LB
Index Index Index Index Index Index
Index Index Index
Index Index Index
20. Shard
Index 검색 후 Cluster
이용자의
목록 반환
검색요청 분석
검
색 Index
요 Server
LB GWS
청
Ranking
GWS 결과 반영
Good
검색 Document
GWS
결과 Server
정보생성
HTML로 정리
21. 높은 Software 신뢰성
Hardware의 고장에 유연한 대처
Hardware를 늘려서 부하를 분산
분산 System으로 병목현상 방지
비용 대비 고성능 Hardware 선택