2. 차례
시스템
분산 시스템
기반 시스템
검색 Cluster
인덱스 분할
3. 시스템의 성능 향상
Scale-up : 보다 뛰어난 하드웨어를 도입하는 방법
Scale-out : 하드웨어의 수를 늘리는 방법
4. 장.단점
Scale-up Scale-out
시스템을 단순하게 할 수 있
필요에 맞게 장비의 수를 증가
다
장점 시킬 수 있다
소프트웨어를 변경할 필요
비교적 비용을 억제할 수 있다
가 없다
처음부터 복수의 하드웨어를 상
정해서 소프트웨어를 개발해야
고성능 하드웨어의 가격이 만 한다
단점
비싸다 설계가 잘못될 경우, 대수를 늘
려도 성능이
개선되지 않는다.
5. 시스템 연결
Rack
시스템의 기본
하나의 Rack에는 40~80대의 PC에 해당하는 부품
Cluster
하나의 단위로 여러 개 연결한 것
Rack을
목적따라 다양한 Cluster들이 존재
- (검색 Cluster, 수집 Cluster, 테스트용 Cluster 등
…)
Data Center
다수의 Rack가 한데 모여있는 것
세계 각지에 분산 배치
6. 분산 시스템의 구성
Data Center
Rack
Cluster
스위
Cluster Cluster
치
PC PC
PC PC
Cluster
PC PC
Cluster
Cluster
7. 싼 장비를 대량으로 이용 시 문
제점
하드웨어 고장
저가의 하드웨어는 고장이 날 확률이 그만큼 높다
장애를 미리 상정하고 대비할 필요가 있다
문제 발생시 전체적으로 동작을 계속 할 수 있게
해야 한다
고난도 분산처리
모든 장비의 상태를 파악하고 알맞게 작업을 분산
시켜야 한다
얼마든지 확장할 수 있는 구조를 설계한 후 병목현
상이 없도록 해야 한다
확장성scalability : 장비의 수를 늘리면 늘린 만큼 성능
8. 기반 시스템
GFS Cluster
GFS : Google File System
다수의 머신을 사용하여 거대한 파일 시스템을 만들어내는 기술
머신들을 네트워크로 연결하여 일관되게 데이터를 읽고 쓸 수 있
도록 하는 기술
GFS Cluster : GFS에 의해 연결된 머신들이 집합
하드드라이브를 다룸
Work Queue
CPU를 다룸
비교적 여유가 있는 머신에서 주어진 태스크를 실행하는 기능 –
쉬고 있는 머신을 자동으로 찾아내 순차적으로 실행시킴
GFS의 주요업무 디스크 읽기.쓰기, 데이터 전송 – CPU부담
적음
Work Queue에 의해 부하가 높은 태스크를 동시에 실행하면 각
각의 능력 최대활용 가능
9. 검색엔진 개량
검색 back-end의 대규모화
성능이 올라가는 만큼 Repository에 저
Crawler의
장되는 데이터의 양도 증가 – 고속화 하지 않으면
병목현상 유발
URL서버도 병목현상 발생 가능성 있음
Load-Balancing과 인덱스 생성 – 인덱스를 하나로
합칠 때
인덱스의 대규모화
대규모 인덱스 사용 X
대규모 인덱스 사용 – 범용 인덱스 시스템 준비
10. 새로운 검색엔진
단 한 번의 검색이라도 다수의 컴퓨터에 의해
분산처리
Data Center
: 지리적인 위치에 따라 바뀜
IP조사
주소 창에 주소 입력 시 주소가 같아도 자신이 위
치한 곳에서 되도록 가까운 곳에 있는 Google의
Data Center연결 – 부하 분산의 첫 걸음
재해로 인해 하나의 Data Center가 심각한 타격을
받을 경우, DNS는 그 Data Center의 IP주소 반환
X
각각 독립적으로 웹 검색 – 검색 서버와 검색용 인
덱스로 구성된
11. 검색 Cluster
복수의 서버를 조합해 검색을 처리
GWS (Google Web Server)
각각의 검색 요청을 한 곳에 모으는 일 실행
웹 서버와 같은 위치
도큐먼트 서버에게 인덱스 서버가 찾은 목록 전달
도큐먼트 서버에서 만든 정보를 HTML로 정리해서 이
용자에게 전달
Load Balancer, LB
검색 요청 분배->복수의 GWS 중 하나와 연결
부하가 가벼운 GWS에 처리를 맡김
도큐먼트 서버
각각의 웹 페이지 제목 및 요약 등의 정보 만듦
13. 인덱스 분할
쉽게 확장할 수 있는 검색 시스템 구축 필요
Shard 인덱스 생성
아닌 docID에 의해 인덱스 분할
wordID가
인덱스 당 웹 페이지의 수 제한 but 그 하나하나는
모든 단어를 포함한 완전한 인덱스 생성
장점
웹페이지 수 제한 시 생성되는 인덱스의 크기도
줄일 수 있음
14. Shard(파편)
모든 Shard에서 같은 검색을 하고 그 결과를 통
합해야 함
각 Shard는 작은 클러스터로 구성
읽기 전용 – 정기적인 업데이트 외에 갱신 하지
않음
얼마든지 확장 가능한 구조