5. 대량의 PC 를 어떻게 이용하는 거지 ?
하나의 시스템으로 연결
스위치스위치
PCPCPCPC
PCPCPCPC
PCPCPCPC
PCPCPCPC
렉렉
클러스터클러스터 클러스터클러스터 클러스터클러스터
클러스터클러스터
클러스터클러스터
클러스터클러스터
데이터 센터데이터 센터
클러스터클러스터
6. 하나의 시스템으로 연결
렉 (Rack)
- 시스템의 기본 , 2~4CPU, 2~4GB 메모리 , 1Gbps LAN
클러스터
- 서로 협조하여 하나의 기능 제공하는 컴퓨터 집합
( 검색 클러스터 , 수집클러스터 , 테스트용 클러스터 )
데이터 센터
- 다수의 렉의 집합
7. 값싼 장비의 대량 이용시 문제점
하드웨어의 고장
- 저가의 하드웨어 , 하드웨어를 늘릴수록 고장 확률이 높다 .
- 고장에 대한 장애에 대해 미리 대비해야 한다 .
고난도 분산처리
- 다수 머신의 동시 사용시 어려움
- 복수 머신 처리시에 성능의 저하
- 최대 확장구조 파악 , 병목현상 방지
8. CPU 와 HDD 의 알뜰한 활용
GFS 클러스터
- 다수의 머신을 이용하여 거대한 파일시스템 만들어냄
- 각 머신의 하드디스크 드라이브의 데이터를 네트워크를 이용
읽고 쓸 수 있게 하는 기술
Work Queue 클러스터 (CPU)
- 머신의 부하를 감시 , 비교적 여유가 있는 머신에게 테스크 부여
9. 검색 엔진 개량
검색서버의 대규모화
검색 서버
Barrels
Lexicon
Docindex
확장한다
10. 검색 엔진 개량
검색 백엔드의 대규모화
단어 처리
구조 해석
확장성이 있는가 ? 리포지터리
병목현상 ?
확장한다
크롤러
크롤러
크롤러
병목현상 ?
11. 검색 엔진 개량
인덱스의 대규모화
- 인덱스 분할을 매번 고려하는 것이 번거로운 만큼 시스템이
자동적으로 분산처리를 할 수 있도록 범용 인덱스 시스템준비
13. 가까운 데이터 센터로 접속
DNSDNS
http://www.google.com/
x. x. x. x
Data CenterData Center
Data CenterData Center
Data CenterData Center
14. 다수의 서버로 부하를 분산
GWS (Google Web Server)
- 검색요청을 한곳에 모으는 역할을 한다 .
- 직접 검색 요청을 처리 하지 않으며 결과만 이용자에게 준다 .
인덱스 서버
도큐먼트 서버
검색클러스터
LB
GWS
인덱스서버
GWS GWS
도큐먼트서버
15. 많은 인덱스를 한번에 검색
G W S
LB
index index
index index
shard LB
index index
index index
shard LB
index index
index index
shard
16. 새로운 웹 검색 절차
shard
shard
shard
shard
shard
G W S
스펠링 체크 서버
광고 서버
검색어
검색어 검색어
요약
docID
docID
인덱스 서버인덱스 서버 도큐먼트 서버도큐먼트 서버
11
11
22
’’
17. 새로운 웹 검색 절차
인덱스 서버
- 인덱스 서버를 구성하는 모든 shard 클러스터 검색요구
- shard 클러스터는 담당범위를 검색 , 발견된 웹은 페이지 랭킹
- 다수의 shard 클러스터로 분산처리 함에 따라 이전 방식에
비해서 더 많은 수의 페이지 랭킹을 할 수 있다 .
- 랭킹결과 , 상위선택된 웹페이지의 docID 와 점수가 GWS 로 반
환
- GWS 는 모든 shard 클러스터로부터 받은 검색 결과를 기다려 ,
상위의 웹페이지를 최종 검색 결과로 채택
11
18. 새로운 웹 검색 절차
도큐먼트 서버
- 도출 검색결과 -> 도큐먼트 서버로 전달
- 기본구조는 인덱스 서버와 동일
- 웹페이지의 내용이 복수 shard 로 분산 전달
- 도큐먼트 서버의 shard 의 웹페이지의 URL, 제목 , 논문등
각종 텍스트를 이용해서 GWS 에서 보내진 docID 를 이용
웹페이지의 요약과 제목을 만든다 .
그 밖의 처리
- 스펠링 체크서버와의 통신을 통해 오타확인 , 다른 검색후보 제시
- 광고 서버를 이용해 검색어와 어울리는 광고를 찾아 광고한다 .
22
11
’’