GFS- 분산파일 시스템거대한 디스크 공간 - 거대한 용량 & 효율적인 데이터 전송 방대한 데이터 통로 - 네트워크를 통해 파일을 읽고 쓰기 위한 시스템 데이터 전송을 위한 특화 설계 - 소프트웨어를 이용한 장애 대책 - 대용량 파일의 읽고 쓰기 - 파일 큐 이용하기
5.
GFS 의 3 가지 구성요소 마스터 [Master] - GFS 전체 상태를 관리 통제하는 중앙서버 - 부하가 편중 되지 않도록 균형을 유지한다 . 청크서버 [Chunk Server] - 하드디스크의 입출력 담당 클라이언트 [Client] - GFS 를 이용해서 파일을 읽고 쓰는 어플리케이션
동시 기록의 문제점쓰기는 청크별로 수행 , 어떤 클라이언트의 데이터를 먼저 쓰게 될지는 실행 전까지는 알 수 없다 클라이언트에 따라 일부 데이터가 먼저 기록 복수의 데이터의 혼재 ( 쓰기 순서를 보증하지 않음 ) 클라이언트 1 클라이언트 2 파일 …… .. 청크 청크 청크
10.
원자적 쓰기 순서보증대신에 GFS 는 레코드 추가 기능제공 - 데이터를 효율적으로 추가하도록 설계 한 번에 읽고 쓰는 데이터의 단위 레코드 (Record) 하나의 처리가 마지막까지 중단되지 않고 단번에 이루어지는 것을 일반적으로 ‘ 원자적 Atomic ’ 조작 이라고 한다
11.
Copy on write( 스냅샷 고속화 ) 스냅샷 - 복사를 순간적으로 해내는 기능 청크 청크 청크 청크 파일 파일 스냅샷 Copy on write
가까운 데이터 센터로접속 DNS http://www.google.com/ x. x. x. x Data Center Data Center Data Center
14.
다수의 서버로 부하를분산 GWS (Google Web Server) - 검색요청을 한곳에 모으는 역할 을 한다 . - 직접 검색 요청을 처리 하지 않으며 결과만 이용자에게 준다 . 인덱스 서버 도큐먼트 서버 검색클러스터 LB GWS 인덱스서버 GWS GWS 도큐먼트서버
15.
검색 클러스터 구조이용자의 검색요청 - 로드벨런스 (LB) 가 이를 분배 -GWS 중 하나연결 LB 는 GWS 의 동작을 항상 감시 부하가 가벼운 GWS 에 처리 맡김 GWS 는 이용자의 검색 요청을 분석한 후 인덱스 서버에게 처리 의뢰 인덱스 서버는 미리 준비한 인덱스를 이용해 검색한 후 웹페이지 목록을 돌려줌 GWS 는 도큐먼트 서버에게 인덱스 서버가 찾아낸 목록 전달 도큐먼트 서버는 웹페이지 제목 및 요약 등의 정보를 만들어냄 GWS 는 보기 편하게 HTML 로 정리 해서 이용자에게 전달 # 숫자를 늘리면 얼마든지 부하를 분산 시킬 수 있는 GWS 와는 달리 인덱스 서버 , 도큐먼트 서버에 부하가 집중되므로 분산 이 중요 검색클러스터 LB GWS 인덱스서버 GWS GWS 도큐먼트서버
16.
새로운 웹 검색절차 (1/3) shard shard shard shard shard G W S 스펠링 체크 서버 광고 서버 검색어 검색어 검색어 요약 docID docID 인덱스 서버 도큐먼트 서버 1 1 2 ’
17.
새로운 웹 검색절차 (2/3) 인덱스 서버 - 인덱스 서버를 구성하는 모든 shard 클러스터 검색요구 - shard 클러스터는 담당범위를 검색 , 발견된 웹은 페이지 랭킹 - 다수의 shard 클러스터로 분산처리 함에 따라 이전 방식에 비해서 더 많은 수의 페이지 랭킹을 할 수 있다 . - 랭킹결과 , 상위선택된 웹페이지의 docID 와 점수가 GWS 로 반환 - GWS 는 모든 shard 클러스터로부터 받은 검색 결과를 기다려 , 상위의 웹페이지를 최종 검색 결과로 채택 1
18.
새로운 웹 검색절차 (3/3) 도큐먼트 서버 - 도출 검색결과 -> 도큐먼트 서버로 전달 - 기본구조는 인덱스 서버와 동일 - 웹페이지의 내용이 복수 shard 로 분산 전달 - 도큐먼트 서버의 shard 의 웹페이지의 URL, 제목 , 논문등 각종 텍스트를 이용해서 GWS 에서 보내진 docID 를 이용 웹페이지의 요약과 제목을 만든다 . 그 밖의 처리 - 스펠링 체크서버와의 통신을 통해 오타확인 , 다른 검색후보 제시 - 광고 서버를 이용해 검색어와 어울리는 광고를 찾아 광고한다 . 2 1 ’