SlideShare una empresa de Scribd logo
1 de 22
Created by Sky




2장 Google의 공룡화
대규모화와 분산 System

     Scale up :: Scale out
     Google System의 규모
     분산 System
      ▪ Rack
      ▪ Cluster
      ▪ Data Center
     Scale out 방식의 문제점
     CPU와 HDD의 효율적 사용
     대규모 검색 Engine의 구축
Google의 분산 System과 검색 Cluster

     전세계 network의 연결
     Data Center의 분산
     검색 Cluster
     Index 분할 방식의 변경
     Index의 분산
    진화된 Google의 Web 검색 절차

    Google의 기본적인 사상

Scale Up        Scale Out


           Vs
9,000,000,000                               검색 건수
8,000,000,000
                                            페이지 수
7,000,000,000
6,000,000,000
5,000,000,000
4,000,000,000
3,000,000,000
2,000,000,000
1,000,000,000
           0
                1998   2001   2004   2007
Switch
                     Cluster    Cluster
PC    PC

PC    PC
                               Cluster
                     Cluster
PC    PC
                               Cluster
PC    PC


                      Data Center
Rack       Cluster
Rack이란..

     분류, 선반, 틀




         <초기 Google 에서 사용했던 Rack>
Cluster 란..

     (포도·버찌·등꽃 등의)
      송이(bunch)
     밀집하다. 떼 짓다.
     무리, 다발

    종류

     검색 Cluster
     Data 수집 Cluster
     Test용 Cluster
<이동형 Data Center>   < Data Center>
Hardware의 고장

     고장이 나더라도 전체 System 멈추지 않도록 함
     여러 가지 장애들
     Software적인 방법으로 해결

    고난도 분산처리

     다수의 machine을
      동시에 사용
     Scalability - 확장성
     병목현상

                          <병목현상>
다수의 machine -> 거대한 file system


    GFS – Google File System

     Machine들을 network로 연결하여 data를 잃고 쓰는 기술
     주로 Hard Disk Drive

    Work Queue
                                              CPU
                                     Work
     각 machine의 부하를 감시하며            Queue             CPU


      machine 별로 분산 수행 시키는 기술
     주로 CPU                         GFS         HDD




    Cluster 단위로 기능을 구현

                                        < Cluster >
검색 Server의 대규모화

     이용자의 검색 요청이 분산
     한 단어에 관한 정보가 한 곳에 집중
     (wordID에 따른 분산)        -> 병목현상 발생

    검색 back-end의 대규모화

     Crawler의 성능↑ -> Repository 저장되는 Data 양 ↑
     URL Server에서 병목현상 발생 가능

    Index의 대규모화                 Search Engine
                      이                             Int
     Index의 분할                               Back
                       용                              er
                             Search
                                               –
                       자
                                      Index
     대규모 Index                                      net
                             Server
                                              end
분산 처리 system

    자신의 위치와 가까운 Data Center와 연결





           < 전 세계에 퍼져있는 Google의 data center>
GWS                            LB
                             
     Google Web Server             Load Balancer
     검색요청을 한곳에 모음                  부하가 가벼운 곳으로 일을 넘김


                                          Search Cluster
                                  LB



                 GWS          GWS        GWS



                                        Document
               Index Server              Server
검색 자체의 분산

     Barrels –> Shard   WordID –> DocID




DocID                                     DocID

        WordID                   WordID

           <Barrels>        <Shard>
LB에 의해 부하를 분산

    얼마든지 확장 가능한 구조

                                     GWS




    Shard                  Shard                   Shard
              LB                     LB                      LB

      Index        Index     Index         Index     Index        Index

      Index                  Index                   Index
                   Index                   Index                  Index
Shard
                       Index 검색 후              Cluster
            이용자의
                       목록 반환
            검색요청 분석
 검
 색                         Index
 요                         Server
       LB    GWS
 청



                                     Ranking
                           GWS       결과 반영



Good
       검색                 Document
             GWS
       결과                  Server

                             정보생성
            HTML로 정리
높은 Software 신뢰성

     Hardware의 고장에 유연한 대처


    Hardware를 늘려서 부하를 분산

     분산 System으로 병목현상 방지


    비용 대비 고성능 Hardware 선택

2 구글의 공룡화

Más contenido relacionado

La actualidad más candente

구글
구글구글
구글oros83
 
웹20시대의정보검색과전략(Keris)
웹20시대의정보검색과전략(Keris)웹20시대의정보검색과전략(Keris)
웹20시대의정보검색과전략(Keris)POSTECH Library
 
Head first relay & graphql
Head first relay & graphqlHead first relay & graphql
Head first relay & graphql승욱 김
 
Status Ruby on Rails in China
Status Ruby on Rails in ChinaStatus Ruby on Rails in China
Status Ruby on Rails in ChinaJesse Cai
 
Luft : 10억 데이터를 10초만에 쿼리하는 DB 개발기
Luft : 10억 데이터를 10초만에 쿼리하는 DB 개발기Luft : 10억 데이터를 10초만에 쿼리하는 DB 개발기
Luft : 10억 데이터를 10초만에 쿼리하는 DB 개발기Hyojun Kim
 
6 «а» класс на пути к
6 «а» класс на пути к6 «а» класс на пути к
6 «а» класс на пути кguest15dc2b
 
6 простых шагов
6 простых шагов6 простых шагов
6 простых шаговDariaLang
 
6 самых простых шагов
6 самых простых шагов6 самых простых шагов
6 самых простых шаговNastenaSalm
 
2021년 1월 9일 개발자 이야기
2021년 1월 9일 개발자 이야기2021년 1월 9일 개발자 이야기
2021년 1월 9일 개발자 이야기Jay Park
 
2021년 1월 16일 개발자 이야기
2021년 1월 16일 개발자 이야기2021년 1월 16일 개발자 이야기
2021년 1월 16일 개발자 이야기Jay Park
 
Programming言語Lua紹介(Internet版)
Programming言語Lua紹介(Internet版)Programming言語Lua紹介(Internet版)
Programming言語Lua紹介(Internet版)zetamatta
 
중간과제 벤치마킹 Sky
중간과제 벤치마킹 Sky중간과제 벤치마킹 Sky
중간과제 벤치마킹 Skyguestd79ea87
 
346 Ch
346 Ch346 Ch
346 Chanjaan
 

La actualidad más candente (19)

구글
구글구글
구글
 
웹20시대의정보검색과전략(Keris)
웹20시대의정보검색과전략(Keris)웹20시대의정보검색과전략(Keris)
웹20시대의정보검색과전략(Keris)
 
Head first relay & graphql
Head first relay & graphqlHead first relay & graphql
Head first relay & graphql
 
Status Ruby on Rails in China
Status Ruby on Rails in ChinaStatus Ruby on Rails in China
Status Ruby on Rails in China
 
6
66
6
 
945202076
945202076945202076
945202076
 
6
66
6
 
Luft : 10억 데이터를 10초만에 쿼리하는 DB 개발기
Luft : 10억 데이터를 10초만에 쿼리하는 DB 개발기Luft : 10억 데이터를 10초만에 쿼리하는 DB 개발기
Luft : 10억 데이터를 10초만에 쿼리하는 DB 개발기
 
6 «а» класс на пути к
6 «а» класс на пути к6 «а» класс на пути к
6 «а» класс на пути к
 
6 простых шагов
6 простых шагов6 простых шагов
6 простых шагов
 
6 самых простых шагов
6 самых простых шагов6 самых простых шагов
6 самых простых шагов
 
2021년 1월 9일 개발자 이야기
2021년 1월 9일 개발자 이야기2021년 1월 9일 개발자 이야기
2021년 1월 9일 개발자 이야기
 
2021년 1월 16일 개발자 이야기
2021년 1월 16일 개발자 이야기2021년 1월 16일 개발자 이야기
2021년 1월 16일 개발자 이야기
 
학술저작권과오픈억세스 V2
학술저작권과오픈억세스 V2학술저작권과오픈억세스 V2
학술저작권과오픈억세스 V2
 
Programming言語Lua紹介(Internet版)
Programming言語Lua紹介(Internet版)Programming言語Lua紹介(Internet版)
Programming言語Lua紹介(Internet版)
 
S20
S20S20
S20
 
중간과제 벤치마킹 Sky
중간과제 벤치마킹 Sky중간과제 벤치마킹 Sky
중간과제 벤치마킹 Sky
 
346 Ch
346 Ch346 Ch
346 Ch
 
Mathscinet 활용하기
Mathscinet 활용하기Mathscinet 활용하기
Mathscinet 활용하기
 

2 구글의 공룡화

  • 1. Created by Sky 2장 Google의 공룡화
  • 2. 대규모화와 분산 System   Scale up :: Scale out  Google System의 규모  분산 System ▪ Rack ▪ Cluster ▪ Data Center  Scale out 방식의 문제점  CPU와 HDD의 효율적 사용  대규모 검색 Engine의 구축
  • 3. Google의 분산 System과 검색 Cluster   전세계 network의 연결  Data Center의 분산  검색 Cluster  Index 분할 방식의 변경  Index의 분산 진화된 Google의 Web 검색 절차  Google의 기본적인 사상 
  • 4.
  • 5. Scale Up Scale Out Vs
  • 6. 9,000,000,000 검색 건수 8,000,000,000 페이지 수 7,000,000,000 6,000,000,000 5,000,000,000 4,000,000,000 3,000,000,000 2,000,000,000 1,000,000,000 0 1998 2001 2004 2007
  • 7. Switch Cluster Cluster PC PC PC PC Cluster Cluster PC PC Cluster PC PC Data Center Rack Cluster
  • 8. Rack이란..   분류, 선반, 틀 <초기 Google 에서 사용했던 Rack>
  • 9. Cluster 란..   (포도·버찌·등꽃 등의) 송이(bunch)  밀집하다. 떼 짓다.  무리, 다발 종류   검색 Cluster  Data 수집 Cluster  Test용 Cluster
  • 10. <이동형 Data Center> < Data Center>
  • 11. Hardware의 고장   고장이 나더라도 전체 System 멈추지 않도록 함  여러 가지 장애들  Software적인 방법으로 해결 고난도 분산처리   다수의 machine을 동시에 사용  Scalability - 확장성  병목현상 <병목현상>
  • 12. 다수의 machine -> 거대한 file system  GFS – Google File System   Machine들을 network로 연결하여 data를 잃고 쓰는 기술  주로 Hard Disk Drive Work Queue  CPU Work  각 machine의 부하를 감시하며 Queue CPU machine 별로 분산 수행 시키는 기술  주로 CPU GFS HDD Cluster 단위로 기능을 구현  < Cluster >
  • 13. 검색 Server의 대규모화   이용자의 검색 요청이 분산  한 단어에 관한 정보가 한 곳에 집중 (wordID에 따른 분산) -> 병목현상 발생 검색 back-end의 대규모화   Crawler의 성능↑ -> Repository 저장되는 Data 양 ↑  URL Server에서 병목현상 발생 가능 Index의 대규모화 Search Engine  이 Int  Index의 분할 Back 용 er Search – 자 Index  대규모 Index net Server end
  • 14.
  • 15.
  • 16. 분산 처리 system  자신의 위치와 가까운 Data Center와 연결  < 전 세계에 퍼져있는 Google의 data center>
  • 17. GWS LB    Google Web Server  Load Balancer  검색요청을 한곳에 모음  부하가 가벼운 곳으로 일을 넘김 Search Cluster LB GWS GWS GWS Document Index Server Server
  • 18. 검색 자체의 분산   Barrels –> Shard WordID –> DocID DocID DocID WordID WordID <Barrels> <Shard>
  • 19. LB에 의해 부하를 분산  얼마든지 확장 가능한 구조  GWS Shard Shard Shard LB LB LB Index Index Index Index Index Index Index Index Index Index Index Index
  • 20. Shard Index 검색 후 Cluster 이용자의 목록 반환 검색요청 분석 검 색 Index 요 Server LB GWS 청 Ranking GWS 결과 반영 Good 검색 Document GWS 결과 Server 정보생성 HTML로 정리
  • 21. 높은 Software 신뢰성   Hardware의 고장에 유연한 대처 Hardware를 늘려서 부하를 분산   분산 System으로 병목현상 방지 비용 대비 고성능 Hardware 선택 