Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

구글의 분산스토리지

1,879 views

Published on

Published in: Sports
  • Login to see the comments

  • Be the first to like this

구글의 분산스토리지

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

×