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.

구글을 지탱하는 기술 요약 - GFS

1,208 views

Published on

Hadoop의 HDFS의 모델이 된 Google의 GFS 설명.

Published in: Software
  • Login to see the comments

구글을 지탱하는 기술 요약 - GFS

  1. 1. 구글의 분산파일시스템(GFS) 구글을 지탱하는 기술 #2 박혜웅 2009.01.02 본 내용은 요약자의 주관적인 견해가 반영되어 있으므로 정확한 내용은 원서 ”구글을 지탱하는 기술” 를 참고하시기 바랍니다
  2. 2. 구글의 분산 아키텍쳐 Google File System(Distributed File System)
  3. 3. 구글의 데이타 규모 0 2,000,000,000 4,000,000,000 6,000,000,000 8,000,000,000 10,000,000,000 1998년 2001년 2004년 2007년(추정)보유 페이지수 하루 검색건수
  4. 4. 구글의 분산 방식  스케일 아웃(↔스케일업)  하드웨어의 수를 늘려 데이타 및 태스크 분산  소프트웨어에 의한 문제 해결  저가의 하드웨어 사용  모든 하드웨어의 기능 및 문제를 소프트웨어로서 해결  적절한 하드웨어 선택  가격대비 성능이 좋은 하드웨어 선택  전력량을 최소화하기 위한 하드웨어 커스터마이징  컴퓨터의 각 기능 분산  CPU – Map/Reduce (Work Queue)  HDD - GFS(Google File System)  RAM - Chubby  Database - Bigtable
  5. 5. 구글의 데이터 센터 데이터 센터 클러스터 클러스터 랙 랙 랙 랙 랙 랙 랙 랙 랙 랙 랙 랙 랙 랙 랙 랙 랙 랙 랙 PC 스위치 PCPC PC PCPC PC PCPC PC PCPC PC: CPU 2~4개, RAM 2-4GB, HDD 2~4개 랙: 40~80대의 PC로 구성, LAN 1Gbps
  6. 6. 분산쓰기 Chunk #1 File Chunk #2 Chunk #3 PC Chunk #1 PC Chunk #2 Chunk #3 rack PC Chunk #1 PC Chunk #2 Chunk #2 PC Chunk #3Chunk #1 rack copies for backup Chunk #3 64MB split PC
  7. 7. 분산읽기 Chunk #1 File Chunk #2 Chunk #3 PC Chunk #1 PC Chunk #2 PC Chunk #3 rack PC Chunk #1 PC Chunk #2 Chunk #2 PC Chunk #3Chunk #1 rack merge Chunk #3 read fail
  8. 8. PC #1 PC #2 PC #3 쓰기과정 Client Master Chunk Server chunks primary, near chunk server address 2 Chunk Server chunks Chunk Server chunks File read, split1 writing file to near chunk server 3 writing complete4 copy5 copy5 6 writing success Primary Chunk Server Near Chunk Server
  9. 9. 읽기과정 Client Master chunk servers & chunk info2 request reading with filepath1 File merge with chunk info 5 chunk data4 PC #1 PC #2 PC #3 Chunk Server chunks Chunk Server chunks Chunk Server chunks Near Chunk Server chunk data4 chunk #1 chunk #1 chunk #2
  10. 10. 원자적 쓰기 Record #1 Record #2 Record #3 Record #1 Record #1 Record #2 Record #3 Record #1 Record #1 Record #2 Record #3 Record #1 Time chunk atomic writing writing failure Client Chunk Server #1 Chunk Server #2 Record: chunk의 일부분이며, Bigtable의 한 Row rewriting success
  11. 11. 원자적 읽기 Record #1 Record #2 Record #3 Record #1 Record #1 Record #2 Record #3 Record #1 Time chunk checksum failure Client Chunk ServerRecord #1 Record #1 old timestamp atomic reading Record: chunk의 일부분이며, Bigtable의 한 Row

×