3. 구글의 탄생
(1) URL 서버가 크롤러에게 웹페이지를 다운로드 하도록 요구한다
(2) 복수의 크롤러가 동시에 다운로드 하면서 docID를 할당해 리포지터
에 저장
(3) 리포지터리에서 웹페이지를 가져오면 인덱스생성이 시작된다. 구조해
석을 통해 웹페이지 내의 텍스트를 추출함과 동시에 웹페이지의 타이틀
등이 DocIndex에 기록되고, URL이 URLlist에 각각 기록된다.
(4) 단어 처리에 의해 모든 단어가 Lexicon에 따라 wordID로 변환되고, 단어의
위치와 크기가 모두 Barrels에 기록된다.
4. (5) 웹페이지내에 링크가 있다면 URLlist를 기초로 docID를 조사하고
링크관계를 Links에 기록한다.
(6) docID를 찾을 수 없다면 URL Server에 의해 새로 크롤링을 시작한다.
(7) 랭킹을 위한 사전 처리를 해야하는데 여기서는 Links를 기초로 페이지
랭크가 계산된다. 최종적인 랭킹처리는 서버가 담당한다.
(8) 검색 서버는 User로부터 요청이 들어오면 Lexicon에 따라 검색어를
변환하고
(9) 이어서 Barrels의 역 인덱스에서 docID list를 가져온 후, 각각의
랭킹함수를 적용해 순위를 결정한다.
(10) 랭킹에 의해 상위로 올라온 docID는 DocIndex에서 웹페이지의
정보를 가져와 보기 쉽게 이용자에게 반환한다.
5. 구글의 공룡화
(1) 소프트웨어로 신뢰성을 높인다.
하드웨어가 고장나더라도 시스템전체의 동작을 유지할수 있도록 한다.
(2) 하드웨어를 늘려서 부하를 분산한다.
데이터를 복제하고 분할하여 하드웨어 늘리기만으로 시스템확장
(3) 비용대비 고성능 하드웨어를 선택한다.
무조건 고성능 하드웨어를 고집할수 없으므로 그시점에서 가격대비
성능이 좋은 하드웨어를 선택한다.