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

구글의 분산스토리지

  • 1.
    D a vi d Chapter3 – 구글의 분산스토리지
  • 2.
    Content GFS – 분산파일 시스템 Bigtable – 분산 스토리지 시스템 Chubby – 분산 잠금 서비스
  • 3.
    GFS – 분산파일 시스템
  • 4.
    GFS- 분산파일 시스템거대한 디스크 공간 - 거대한 용량 & 효율적인 데이터 전송 방대한 데이터 통로 - 네트워크를 통해 파일을 읽고 쓰기 위한 시스템 데이터 전송을 위한 특화 설계 - 소프트웨어를 이용한 장애 대책 - 대용량 파일의 읽고 쓰기 - 파일 큐 이용하기
  • 5.
    GFS 의 3 가지 구성요소 마스터 [Master] - GFS 전체 상태를 관리 통제하는 중앙서버 - 부하가 편중 되지 않도록 균형을 유지한다 . 청크서버 [Chunk Server] - 하드디스크의 입출력 담당 클라이언트 [Client] - GFS 를 이용해서 파일을 읽고 쓰는 어플리케이션
  • 6.
    GFS 의 3 가지 구성요소
  • 7.
    청크를 읽는 과정가장 가까운 서버를 이용한다 .
  • 8.
    청크를 쓰는 과정복수의 서버를 이용한다 .
  • 9.
    동시 기록의 문제점쓰기는 청크별로 수행 , 어떤 클라이언트의 데이터를 먼저 쓰게 될지는 실행 전까지는 알 수 없다 클라이언트에 따라 일부 데이터가 먼저 기록 복수의 데이터의 혼재 ( 쓰기 순서를 보증하지 않음 ) 클라이언트 1 클라이언트 2 파일 …… .. 청크 청크 청크
  • 10.
    원자적 쓰기 순서보증대신에 GFS 는 레코드 추가 기능제공 - 데이터를 효율적으로 추가하도록 설계 한 번에 읽고 쓰는 데이터의 단위 레코드 (Record) 하나의 처리가 마지막까지 중단되지 않고 단번에 이루어지는 것을 일반적으로 ‘ 원자적 Atomic ’ 조작 이라고 한다
  • 11.
    Copy on write( 스냅샷 고속화 ) 스냅샷 - 복사를 순간적으로 해내는 기능 청크 청크 청크 청크 파일 파일 스냅샷 Copy on write
  • 12.
    세계로 눈을 돌린 검색 클러스터 G o o g l e
  • 13.
    가까운 데이터 센터로접속 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 ’
  • 19.
    T h an k y o u