Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.
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)
Próxima SlideShare
Cargando en…5
×

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

2.335 visualizaciones

Publicado el

  • Inicia sesión para ver los comentarios

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*

×