3. 1. 검색 엔진의 진화
이용자의 편의성
- 대중화 중요
Hardware 의 확장
Page Ranking
- 각 웹 페이지는 점수를 갖고 있음 .
- 다른 페이지 링크로 점수를 나눠줌 .
4. 2. 검색 엔진 구조
User InternetSearch
Server
Search
Back-endIndex
SearchSearch
EngineEngine
5. 2. 검색 엔진 구조
Crawling
- 웹 페이지 정보 수집 .
Index Creation
- Word ID 를 수치로 변환
- 링크 정보 인덱스 (urlist, links 이용 )
- 주어진 Data 안전하게 저장 .
Search ServerSearch Server
- 스피드가 중요
- 3 단계 랭킹 시스템
6. 3. 시스템 향상 방법
Scale-Up ( 좋은 성능의 CPU)
- 장점 : 시스템의 단순화 , 소프트웨어 불 변경
하드웨어 교체만으로 성능향상 가능
- 단점 : 고가의 고성능 하드웨어 사용해야 함
Scale-Out ( 수적으로 극복 )
- 장점 : 필요에 맞게 장비 수 증가 , 비용억제 가능
- 단점 : 설계초기 복수하드웨어 상정 소프트웨어개발
설계가 잘못되면 성능이 개선되지 않음
7. 3. 시스템 향상 방법
하나의 시스템으로 연결
1. 렉 (Rack)
- 시스템의 기본 , 40~80 대의 PC 부품 , 2~4CPU,
2~4GB 메모리 , 1Gbps LAN
2. 클러스터
- 렉 을 하나의 단위로 여러 개 연결하면 클러스터
- 서로 협조하여 하나의 기능 제공하는 컴퓨터 집합
( 검색 클러스터 , 수집클러스터 , 테스트용 클러스터 )
3. 데이터 센터
- 다수의 렉 의 집합
- 하나의 데이터 센터에는 하나 또는 복수 클러스터 존재
8. 3. 시스템 향상 방법
CPU 와 HDD 의 알뜰한 활용
1. GFS (HDD)
- 다수의 머신을 이용하여 거대한 파일시스템 만들어냄
- 각 머신의 하드디스크 드라이브의 데이터를 네트워크를 이용
읽고 쓸 수 있게 하는 기술
2. Work Queue (CPU)
- 머신의 부하를 감시 , 비교적 여유가 있는 머신에 테스크 부여
9. 3. 시스템 향상 방법
검색 엔진 개량
1. 검색서버의 대규모화
2. 검색 백엔드의 대규모화
3. 인덱스의 대규모화
10. 4. 검색 클러스터
다수의 서버로 부하를 분산
GWS (Google Web Server) ?
- 검색요청을 한곳에 모으는 역할을 한다 .
- 직접 검색 요청을 처리 하지 않으며 결과만 이용자에게 준다 .
검색클러스터 LB
GWS
인덱스서버
GWS GWS
도큐먼트서버
11. 4. 검색 클러스터
새로운 웹 검색 절차
1. 인덱스 서버
- 인덱스 서버를 구성하는 모든 shard 클러스터 검색요구
- shard 클러스터는 담당범위를 검색 , 발견된 웹은 페이지 랭킹
- 다수의 shard 클러스터로 분산처리 함에 따라 이전 방식에
비해서 더 많은 수의 페이지 랭킹을 할 수 있다 .
- 랭킹결과 , 상위 선택된 웹 페이지의 docID 와 점수가 GWS 로
반환
- GWS 는 모든 shard 클러스터로부터 받은 검색 결과를 기다려 ,
상위의 웹 페이지를 최종 검색 결과로 채택
12. 4. 검색 클러스터
2. 도큐먼트 서버
- 도출 검색결과 -> 도큐먼트 서버로 전달
- 기본구조는 인덱스 서버와 동일
- 웹 페이지의 내용이 복수 shard 로 분산 전달
- 도큐먼트 서버의 shard 의 웹 페이지의 URL, 제목 , 논문 등
각종 텍스트를 이용해서 GWS 에서 보내진 docID 를 이용
웹 페이지의 요약과 제목을 만든다 .
3. 그 밖의 처리
- 스펠링 체크서버와의 통신하여 오타확인 , 다른 검색후보 제시
- 광고 서버를 이용해 검색어와 어울리는 광고를 찾아 광고한다 .