Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
Sky




3 장 Google의 분산 Storage
   GFS – Google File System

   Bigtable – 분산 Storage System

   Chubby – 분산 잠금 Service

   기타 Storage
Why?

 GFS

 GFS의 기능

 GFS의 구조

 GFS의 읽기 쓰기

 정리 – GFS!
Crawler

   많은 Computer                Crawler    Internet


                               Crawler


   대량의 Data 기록   R...
GFS의 구조
   대 용량 Storage
     전 세계의 Web Page    Data                              Data
     정보를 처리
                      ...
   Data 전송을 위한 특화 설계

     Software를 활용한 장애대책
      ▪ 분산된 Back-up으로 안정성 유지

     다른 기능의 감소

     파일을 Cue(대기행렬)로서 사용
  ...
조작              설명
Create          새로운 파일 작성
Delete          기존의 파일 삭제
Open            기존의 파일 연다.
Close           열린 파일을 닫...
   Master
     GFS 전체의 상태를 관리 / 통제

   Chunk Server
     실제 Hard Disk의 입출력을 담당

   Client
     GFS를 이용하여 File을 읽고 쓰는...
가
                               까     Client           Master
                               운
                          ...
   Snapshot
       파일의 복사본을 순간적으로 만들어 내는 기능
       Copy on Write
       GFS에서 파일은 Chunk의 집합
       같은 Chunk를 가르키는 새로운...
출 : The Google File System. Sanjay Ghemawat, Howard Gobioff
 RDB Vs. Bigtable

 Multi Dimensional Sorted Map

 Tablet

 Compaction

 성능향상

 정리 – Bigtable!
     RDB – Relational Database
                                Column


                                값
               ...
<Data Model>
       Row Key                Column Key


Row



                                                        Tim...
   복수의 연속하는 Row를 하나로 포괄

   복수의 Server로 분산 관리

   Locality
         Row Key         Data       Row Key         Data
   ...
   SSTable
       읽기 전용 검색용 Table
       GFS내부에 보관
       Data / Index로 구성 -> 빠른 검색
       하나의 Tablet은 복수의 SSTable로 구...
   준비                      읽기 / 쓰기
                          Tablet Server
                                          GFS...
   Minor Compaction
     Memtable 이 지나치게 커짐
     새로운 SSTable에 내용 기록
     오래된 Commit Log의 정리


   Major Compaction
   ...
   Metadata
     Table의 이름과 Key로 Tablet이 있는 장소 지시
     Tablet의 마지막 Row Key가 기록

   Tablet에 접근
     Root Tablet -> Big...
   Locality Group
     동시에 이용될 가능성 큰 Column Family Group


   Data 압축
     비교적 큰 data영역으로부터 공유하는 문자열의
      Pattern 찾아...
   읽기 Cache
     Scan Cache
      ▪ 최근 Access한 Key에 대응하는 Data 남겨두는 방식
      ▪ 동일한 Key가 여러반 사용되는 경우 효과적
     Block Cache...
Chubby   Master



         Tablet
         Server


         Tablet   GFS
Client
         Server


         Tablet
      ...
 Chubby

 Chubby Cell

 Chubby – File System

 Chubby – Lock Service

 Chubby – Event Notification

 Master 결정
   소 용량, 높은 신뢰성과 편리한 기능
    제공하는 분산 Storage

   주요 기능
     File System
      ▪ 다른 분산 System의 구축을 위한 기반
     Lock Servi...
   Chubby Cell                   Chubby Cell
     5개의 machine
      으로 이뤄진 Chubby
                      Client
     Rep...
   파일에 접근
     Chubby와 GFS의 Name Space는 통합


   Local Cell – 가까이 있는 Cell

   Global Cell – 전 세계로부터 접근이 가능한 Cell
     ...
   File의 잠금
     Shared Lock – Reader Mode
     Exclusive Lock – Writer Mode
     ACL – Access Control List

   외부 re...
   Event
     Chubby에서 Process가 정지하면 자동삭제 되는 임시 파
      일 생성
     Master가 자신의 주소를 임시 파일에 기록
     임시 파일만 감시
     서버의 사...
   Replica의 합의에 의한 결정
     Master는 절반 이상의 Replica가 연결되어 있는 장소
      에 나타남
     항상 3개 이상의 Replica와 통신 가능 상태

   다양한 장애
...
 Chubby

 Chubby Cell

 Chubby – File System

 Chubby – Lock Service

 Chubby – Event Notification

 Master 결정
   OneFS® 운영 체제 software를 사용 – 분산 file
    system에서 단일 global name space 제공
   업계 최초의 유일한 동기식 Cluster Storage
    Archit...
System당 최대 용량                                951TB
Storage 당 HA Host 수                             512
  최대 논리 Unit 수     ...
3 구글의 분산 스토리지(1)
Nächste SlideShare
Wird geladen in …5
×

3 구글의 분산 스토리지(1)

2.334 Aufrufe

Veröffentlicht am

Veröffentlicht in: Technologie, News & Politik
  • Loggen Sie sich ein, um Kommentare anzuzeigen.

3 구글의 분산 스토리지(1)

  1. 1. Sky 3 장 Google의 분산 Storage
  2. 2.  GFS – Google File System  Bigtable – 분산 Storage System  Chubby – 분산 잠금 Service  기타 Storage
  3. 3. Why?  GFS  GFS의 기능  GFS의 구조  GFS의 읽기 쓰기  정리 – GFS!
  4. 4. Crawler  많은 Computer Crawler Internet Crawler  대량의 Data 기록 Repository Index Creation Index 중간 File  대량의 Data 읽음 Creation Index Creation
  5. 5. GFS의 구조  대 용량 Storage  전 세계의 Web Page Data Data 정보를 처리 GFS  Network를 통해 file을 File 1 File 2 읽고 쓰는 System Data Data  거대한 Data 통로 Application  File에서 File 로 변환하는 Process Change
  6. 6.  Data 전송을 위한 특화 설계  Software를 활용한 장애대책 ▪ 분산된 Back-up으로 안정성 유지  다른 기능의 감소  파일을 Cue(대기행렬)로서 사용 ▪ GFS상의 파일 -> Data의 통로
  7. 7. 조작 설명 Create 새로운 파일 작성 Delete 기존의 파일 삭제 Open 기존의 파일 연다. Close 열린 파일을 닫는다. Read 지정한 위치의 Data를 읽어 옴 Write 지정한 위치에 Data를 기록 Snapshot 파일을 복사 Record Append 파일의 끝에 Data를 추가
  8. 8.  Master  GFS 전체의 상태를 관리 / 통제  Chunk Server  실제 Hard Disk의 입출력을 담당  Client  GFS를 이용하여 File을 읽고 쓰는 Application  Chunk (덩어리)  GFS상의 파일의 한 Block 단위 : 64MB  보통 3개의 Chunk Server에 복제되어 보관
  9. 9. 가 까 Client Master 운 서 < Client 버읽 Master 를기 이 > 용 Chunk Chunk Chunk 한 Server Server Server 다 Chunk Chunk Server Server 복 수 Client Master 의 서 < H D D 버쓰 를기 이 > Chunk Chunk Chunk 용 Server Server Server 한 다 Secondary Primary Secondary
  10. 10.  Snapshot  파일의 복사본을 순간적으로 만들어 내는 기능  Copy on Write  GFS에서 파일은 Chunk의 집합  같은 Chunk를 가르키는 새로운 이름의 파일 정보를 만드는 기능  Record Append  한 Record의 data를 파일의 마지막에 추가하는 기능  Record : GFS에서 한번에 읽고 쓰는 data의 단위  원자적(Atomic) 쓰기를 위한 기능  추가 실패할 경우
  11. 11. 출 : The Google File System. Sanjay Ghemawat, Howard Gobioff
  12. 12.  RDB Vs. Bigtable  Multi Dimensional Sorted Map  Tablet  Compaction  성능향상  정리 – Bigtable!
  13. 13.  RDB – Relational Database Column 값 Row  Bigtalble Column 구조화된 Time Stamp Row Key Column Family 데이터 Row
  14. 14. <Data Model> Row Key Column Key Row Time Stamp Column Family Key 값 Row Key + Column Key + Time Stamp Structred Data . . . <개념도>
  15. 15.  복수의 연속하는 Row를 하나로 포괄  복수의 Server로 분산 관리  Locality Row Key Data Row Key Data images.google.com … com.google.images … . . . … . … maps.google.com … com.google.maps … www.google.com … com.google.www …
  16. 16.  SSTable  읽기 전용 검색용 Table  GFS내부에 보관  Data / Index로 구성 -> 빠른 검색  하나의 Tablet은 복수의 SSTable로 구성  Memtable  Memory 상에서 수정 가능  Tablet Server 내부에 보관  Commit Log
  17. 17.  준비  읽기 / 쓰기 Tablet Server GFS GFS Tablet Server 읽기 Commit Commit Log Log memtable memtable SSTable SSTable SSTable 쓰기 SSTable
  18. 18.  Minor Compaction  Memtable 이 지나치게 커짐  새로운 SSTable에 내용 기록  오래된 Commit Log의 정리  Major Compaction  SSTable이 지나치게 늘어남  통합해서 하나의 SSTable로 모으는 작업
  19. 19.  Metadata  Table의 이름과 Key로 Tablet이 있는 장소 지시  Tablet의 마지막 Row Key가 기록  Tablet에 접근  Root Tablet -> Bigtable의 기점 ▪ Client -> Chubby ▪ Root Tablet의 정보를 가져옴 ▪ Root Tablet -> Key 검색 ▪ Key가 포함된 Metadata Tablet의 위치 파악 ▪ Metadata Tablet -> Key 검색 ▪ 해당 Tablet의 위치 파악 ▪ 읽기 / 쓰기 작업 요청
  20. 20.  Locality Group  동시에 이용될 가능성 큰 Column Family Group  Data 압축  비교적 큰 data영역으로부터 공유하는 문자열의 Pattern 찾아내서 중복된 data 줄이는 방법  Data를 일정크기로 압축하는 방법
  21. 21.  읽기 Cache  Scan Cache ▪ 최근 Access한 Key에 대응하는 Data 남겨두는 방식 ▪ 동일한 Key가 여러반 사용되는 경우 효과적  Block Cache ▪ SSTable에서 Data를 읽을 때, 모아진 양을 읽어서 Tablet Server 상에 남겨두는 방식 ▪ 연속된 Data를 차례로 읽는 경우 효과적  Commit Log의 일괄처리 (쓰기에서의 개선)  쓰기는 Commit Log를 위해 반드시 GFS에 접근  Commit Log에 한번에 기록하는 양 늘림  요청이 많을때 모두 모아서 Commit Log에 기록
  22. 22. Chubby Master Tablet Server Tablet GFS Client Server Tablet Server
  23. 23.  Chubby  Chubby Cell  Chubby – File System  Chubby – Lock Service  Chubby – Event Notification  Master 결정
  24. 24.  소 용량, 높은 신뢰성과 편리한 기능 제공하는 분산 Storage  주요 기능  File System ▪ 다른 분산 System의 구축을 위한 기반  Lock Service ▪ 배타 제어  Event Notification
  25. 25.  Chubby Cell Chubby Cell  5개의 machine 으로 이뤄진 Chubby Client  Replica  Master Master  모든 Data Center에 Client 하나이상 존재  동시에 몇천~몇만의 <Chubby의 전체구조> Client가 Access
  26. 26.  파일에 접근  Chubby와 GFS의 Name Space는 통합  Local Cell – 가까이 있는 Cell  Global Cell – 전 세계로부터 접근이 가능한 Cell  각종 접근 제어  Media에서 어떤 Service가 작동중인지에 관한 정보  Bigtable의 Metadata가 어디 있는가에 관한 정보  그 밖에 다양한 System설정 파일
  27. 27.  File의 잠금  Shared Lock – Reader Mode  Exclusive Lock – Writer Mode  ACL – Access Control List  외부 resource의 잠금  GFS File이 Chubby와 조합하여 간접적으로 잠금  Lock Service  Sequencer  단순한 문자열 Data – 요청이 유효한지 확인  Client가 정지했을때, Lock이 계속 되는 상황을 방지
  28. 28.  Event  Chubby에서 Process가 정지하면 자동삭제 되는 임시 파 일 생성  Master가 자신의 주소를 임시 파일에 기록  임시 파일만 감시  서버의 사활 감시, Master의 치환  Cache  Chubby파일 읽은 후, 읽은 내용 Client측에 Cache 로 저장  파일의 내용이 Update될 때 모든 Cache 파기  Adress 취득, Adress 갱신
  29. 29.  Replica의 합의에 의한 결정  Master는 절반 이상의 Replica가 연결되어 있는 장소 에 나타남  항상 3개 이상의 Replica와 통신 가능 상태  다양한 장애  Master의 고장  절반이상의 고장 – X Replica와의 통신 단절 C   Master와의 통신 단절 M  Cell 전체의 통신 단절 – X
  30. 30.  Chubby  Chubby Cell  Chubby – File System  Chubby – Lock Service  Chubby – Event Notification  Master 결정
  31. 31.  OneFS® 운영 체제 software를 사용 – 분산 file system에서 단일 global name space 제공  업계 최초의 유일한 동기식 Cluster Storage Architecture  단일 file system에서 4TB-1.6PB 까지 확장 가능한 시스템 – 기존 storage보다 최대 100배 확장 가능  최대 10GB/초의 유례 없는 총 처리량 – 기존 스토 리지 속도보다 최대 20배 향상  사용하기 쉬우면서도 강력한 Web 기반 관리  60초 내에 용량 및 성능 확장
  32. 32. System당 최대 용량 951TB Storage 당 HA Host 수 512 최대 논리 Unit 수 4096 Storage당 Host Port 수 FC 8개와 iSCSI 4개 System Memory 32GB Storage 당 Drive 수 480 or 960 Disk 유형 Fibre Channel, SATA II, LP SATA II 및 Flash Drive 지원되는 Host Windows*, Linux*, Solaris*, HP-UX*, AIX*, VMware*

×