SlideShare une entreprise Scribd logo
1  sur  10
Google을 지탱하는 기술


             cras5@naver.com
                        Oros



        2009-04-30   cras5@naver.com   1
Content

1장, Google의 탄생
- Google?
- Search Engine 의 3요소
- Google 초기 검색 서버


2장, 구글의 공룡화
- 시스템의 성능향상
- 분산 시스템의구성
- 문제점




                        2009-04-30   cras5@naver.com   2
Google?




Google이 다른 검색 Engine과의 차별성

 - 기존 검색 Engine의 문제 - 속도는 빠르게, 양은 많게
 - Google의 목적 - 유용한 검색 결과




                         2009-04-30
                     
Search Engine 의 3요소


- Search Server : User의 요청에 따라 검색을 수행하
는 컴퓨터
- Search Back-end : Search 나 Ranking을 위해 필
요한 정보를 분석하고, Search Server가 이용하기 쉽
게 가공해 Index 형태로 보관
- Index : Server 와 Back-end 사이에서 이용되는 보
관함




                           2009-04-30
                       
Google 초기 검색 서버

1단계

- URL Server 가 Crawler 에게 Web Page를 Download하
도록 요구한다
 - Crawler : 인터넷상의 다양한 Web page를 수집하는 기
술, 방법
- 복수의 Crawler가 동시에 Download 하면서 docID를 할
당해 Repository에 저장
 - docID : Web page 의 고유의 숫자값
 - Repository : Crawler가 수집한 Web page의 임시 저장
소



                             2009-04-30
                         
Google 초기 검색 서버

2단계

- Repository 에서 Web page를 가져오면 Index Creating이 시작된다. 구조
해석을 통해 Web page 내의 Text를 추출함과 동시에 Web page의 Title등이
DocInext에 기록되고, URL이 URLlist에 각각 기록된다.
 - DocIndex : Web page의 기본정보를 기록하는 Index

3단계

- 단어처리에 의해 모든 단어가 Lexicon에 따라 wordID로 변환되고, 단어의
위치와 크기가 모두 Barrels에 기록된다.
 - Lexicon : Google에서 이용되는 Index(용어집), 단어를 wordID로 변환한
다.
 - Barrels : 단어 Index 생성, 가능한 작게 만들어야 한다
- Web page 내에 link 가 있다면 URLlist를 기초로 docID를 조사하고 link관
계를 Links를 기초로 docID를 조사하고 link관계를 Links에 기록한다.
 - Links : URLlist 에 link 가 다른 link를 향하고 있는 것을 말함.


                                  2009-04-30
                              
Google 초기 검색 서버

4단계

- docID를 찾을 수 없다면 URL Server 에 의해 새로 Crawling을 시작한다. 또한
Anchor Text 는 link 한 곳의 단어 정보로서 Barrels에 기록된다.
  - URLServer : Crawler 를 지휘하는 역할을 하는 Server

5단계

- Ranking 을 위한 사전 처리를 해야하는데 여기서는 Links를 기초로 Page Rank 가 계
산된다. 최종적인 Ranking 처리는 서버가 담당한다.
- 검색 서버는 User로부터 요청이 들어오면 Lexicon 에 따라 검색어를 변환하고 이어서
Barrels의 역 인덱스에서 docID list를 가져온 후, 각각의 Ranking 함수를 적용해 순위를
결정한다.
 - Inverted Index : 검색에 필요한 것은 Web page에 포함되어 있는 단어의 정보가 아
니라 단어가 포함되어 있는 Web page 의 정보이다. 그런 이유로 wordID를 기준으로
docID를 얻는 방법

6단계

- Ranking에 의해 상위로 올라온 docID는 DocIndex에서 Web page의 정보를 가져와
보기 쉽게 User에게 반환한다.

                                     2009-04-30
                                 
시스템의 성능향상

scale-up - 보다 뛰어난 하드웨어를 도입하는 방법
scale-out - 하드웨어의 수를 늘리는 방법

장단점
scale-up 장점: 시스템을 단순하게 할 수 있다.
          소프트웨어를 변경할 필요가 없다.

      단점: 고성능 하드웨어의 가격이 비싸다.

scale-out 장점: 필요에 맞게 장비의 수를 증가 시킬 수 있
다.
           비교적 비용을 억제할 수 있다.
          단점: 처음부터 복수의 하드웨어를 상정해서 소프
트웨어를 개발해야만 한다.

                         2009-04-30
                     
분산 시스템의구성


rack - 시스템의 기본
     하나의 rack 에는 40~80대의 pc에 해당하는 부품

cluster - rack을 하나의 단위로 여러개 연결한 것
       목적따라 다양한 cluster들이 존재

data center 다수의rack가 한데 모여있는것
        세계 각 지에 분산 배치


                        2009-04-30
                    
문제점




하드웨어 고장 , 고난도 분산처리




                    2009-04-30
                

Contenu connexe

Tendances

미코노미
미코노미미코노미
미코노미
oros83
 
미코노미 2장
미코노미 2장미코노미 2장
미코노미 2장
oganadang
 
Tokai Ulib Conference(20070307)
Tokai Ulib Conference(20070307)Tokai Ulib Conference(20070307)
Tokai Ulib Conference(20070307)
真 岡本
 
구글
구글구글
구글
zerk87
 
중간과제 Meconomy Sky
중간과제 Meconomy Sky중간과제 Meconomy Sky
중간과제 Meconomy Sky
guestd79ea87
 
DS-039-如何蒐集資料
DS-039-如何蒐集資料DS-039-如何蒐集資料
DS-039-如何蒐集資料
handbook
 
중간과제 벤치마킹 Sky
중간과제 벤치마킹 Sky중간과제 벤치마킹 Sky
중간과제 벤치마킹 Sky
guestd79ea87
 

Tendances (20)

2021년 1월 9일 개발자 이야기
2021년 1월 9일 개발자 이야기2021년 1월 9일 개발자 이야기
2021년 1월 9일 개발자 이야기
 
미코노미
미코노미미코노미
미코노미
 
2021년 1월 3일 개발자 이야기
2021년 1월 3일 개발자 이야기2021년 1월 3일 개발자 이야기
2021년 1월 3일 개발자 이야기
 
Daum개발플랫폼 및 방법론
Daum개발플랫폼 및 방법론Daum개발플랫폼 및 방법론
Daum개발플랫폼 및 방법론
 
방송과 SNS의 미래
방송과 SNS의 미래방송과 SNS의 미래
방송과 SNS의 미래
 
Keynote Genius
Keynote GeniusKeynote Genius
Keynote Genius
 
Maps War, Google Maps & Competitors
Maps War, Google Maps & CompetitorsMaps War, Google Maps & Competitors
Maps War, Google Maps & Competitors
 
Google Health와 Health 2.0 양광모
Google Health와 Health 2.0 양광모Google Health와 Health 2.0 양광모
Google Health와 Health 2.0 양광모
 
Search 3.0
Search 3.0Search 3.0
Search 3.0
 
미코노미 2장
미코노미 2장미코노미 2장
미코노미 2장
 
Tokai Ulib Conference(20070307)
Tokai Ulib Conference(20070307)Tokai Ulib Conference(20070307)
Tokai Ulib Conference(20070307)
 
Ai basic
Ai basicAi basic
Ai basic
 
구글
구글구글
구글
 
중간과제 Meconomy Sky
중간과제 Meconomy Sky중간과제 Meconomy Sky
중간과제 Meconomy Sky
 
Programming言語Lua紹介(Internet版)
Programming言語Lua紹介(Internet版)Programming言語Lua紹介(Internet版)
Programming言語Lua紹介(Internet版)
 
MathSciNet20090526
MathSciNet20090526MathSciNet20090526
MathSciNet20090526
 
Mathscinet 활용하기
Mathscinet 활용하기Mathscinet 활용하기
Mathscinet 활용하기
 
DS-039-如何蒐集資料
DS-039-如何蒐集資料DS-039-如何蒐集資料
DS-039-如何蒐集資料
 
Web技術勉強会 第18回
Web技術勉強会 第18回Web技術勉強会 第18回
Web技術勉強会 第18回
 
중간과제 벤치마킹 Sky
중간과제 벤치마킹 Sky중간과제 벤치마킹 Sky
중간과제 벤치마킹 Sky
 

En vedette (6)

Scalable
ScalableScalable
Scalable
 
2014 OpenStack Day in Korea - oVirt and OpenStack Integration and more
2014 OpenStack Day in Korea - oVirt and OpenStack Integration and more2014 OpenStack Day in Korea - oVirt and OpenStack Integration and more
2014 OpenStack Day in Korea - oVirt and OpenStack Integration and more
 
2626이가은 클라우드
2626이가은 클라우드2626이가은 클라우드
2626이가은 클라우드
 
서버 아키텍쳐 입문
서버 아키텍쳐 입문서버 아키텍쳐 입문
서버 아키텍쳐 입문
 
KGC 2014: 분산 게임 서버 구조론
KGC 2014: 분산 게임 서버 구조론KGC 2014: 분산 게임 서버 구조론
KGC 2014: 분산 게임 서버 구조론
 
대용량 분산 아키텍쳐 설계 #1 아키텍쳐 설계 방법론
대용량 분산 아키텍쳐 설계 #1 아키텍쳐 설계 방법론대용량 분산 아키텍쳐 설계 #1 아키텍쳐 설계 방법론
대용량 분산 아키텍쳐 설계 #1 아키텍쳐 설계 방법론
 

Plus de oros83

웹기획 V090605
웹기획 V090605웹기획 V090605
웹기획 V090605
oros83
 
웹기획 V090528
웹기획 V090528웹기획 V090528
웹기획 V090528
oros83
 
웹기획 V090522
웹기획 V090522웹기획 V090522
웹기획 V090522
oros83
 
웹기획 V090522
웹기획 V090522웹기획 V090522
웹기획 V090522
oros83
 
벤치마킹
벤치마킹벤치마킹
벤치마킹
oros83
 
웹기획 V090417
웹기획 V090417웹기획 V090417
웹기획 V090417
oros83
 
웹기획 V090402
웹기획 V090402웹기획 V090402
웹기획 V090402
oros83
 
웹기획,
웹기획,웹기획,
웹기획,
oros83
 

Plus de oros83 (8)

웹기획 V090605
웹기획 V090605웹기획 V090605
웹기획 V090605
 
웹기획 V090528
웹기획 V090528웹기획 V090528
웹기획 V090528
 
웹기획 V090522
웹기획 V090522웹기획 V090522
웹기획 V090522
 
웹기획 V090522
웹기획 V090522웹기획 V090522
웹기획 V090522
 
벤치마킹
벤치마킹벤치마킹
벤치마킹
 
웹기획 V090417
웹기획 V090417웹기획 V090417
웹기획 V090417
 
웹기획 V090402
웹기획 V090402웹기획 V090402
웹기획 V090402
 
웹기획,
웹기획,웹기획,
웹기획,
 

구글

  • 1. Google을 지탱하는 기술 cras5@naver.com Oros 2009-04-30 cras5@naver.com 1
  • 2. Content 1장, Google의 탄생 - Google? - Search Engine 의 3요소 - Google 초기 검색 서버 2장, 구글의 공룡화 - 시스템의 성능향상 - 분산 시스템의구성 - 문제점 2009-04-30 cras5@naver.com 2
  • 3. Google? Google이 다른 검색 Engine과의 차별성 - 기존 검색 Engine의 문제 - 속도는 빠르게, 양은 많게 - Google의 목적 - 유용한 검색 결과 2009-04-30 
  • 4. Search Engine 의 3요소 - Search Server : User의 요청에 따라 검색을 수행하 는 컴퓨터 - Search Back-end : Search 나 Ranking을 위해 필 요한 정보를 분석하고, Search Server가 이용하기 쉽 게 가공해 Index 형태로 보관 - Index : Server 와 Back-end 사이에서 이용되는 보 관함 2009-04-30 
  • 5. Google 초기 검색 서버 1단계 - URL Server 가 Crawler 에게 Web Page를 Download하 도록 요구한다 - Crawler : 인터넷상의 다양한 Web page를 수집하는 기 술, 방법 - 복수의 Crawler가 동시에 Download 하면서 docID를 할 당해 Repository에 저장 - docID : Web page 의 고유의 숫자값 - Repository : Crawler가 수집한 Web page의 임시 저장 소 2009-04-30 
  • 6. Google 초기 검색 서버 2단계 - Repository 에서 Web page를 가져오면 Index Creating이 시작된다. 구조 해석을 통해 Web page 내의 Text를 추출함과 동시에 Web page의 Title등이 DocInext에 기록되고, URL이 URLlist에 각각 기록된다. - DocIndex : Web page의 기본정보를 기록하는 Index 3단계 - 단어처리에 의해 모든 단어가 Lexicon에 따라 wordID로 변환되고, 단어의 위치와 크기가 모두 Barrels에 기록된다. - Lexicon : Google에서 이용되는 Index(용어집), 단어를 wordID로 변환한 다. - Barrels : 단어 Index 생성, 가능한 작게 만들어야 한다 - Web page 내에 link 가 있다면 URLlist를 기초로 docID를 조사하고 link관 계를 Links를 기초로 docID를 조사하고 link관계를 Links에 기록한다. - Links : URLlist 에 link 가 다른 link를 향하고 있는 것을 말함. 2009-04-30 
  • 7. Google 초기 검색 서버 4단계 - docID를 찾을 수 없다면 URL Server 에 의해 새로 Crawling을 시작한다. 또한 Anchor Text 는 link 한 곳의 단어 정보로서 Barrels에 기록된다. - URLServer : Crawler 를 지휘하는 역할을 하는 Server 5단계 - Ranking 을 위한 사전 처리를 해야하는데 여기서는 Links를 기초로 Page Rank 가 계 산된다. 최종적인 Ranking 처리는 서버가 담당한다. - 검색 서버는 User로부터 요청이 들어오면 Lexicon 에 따라 검색어를 변환하고 이어서 Barrels의 역 인덱스에서 docID list를 가져온 후, 각각의 Ranking 함수를 적용해 순위를 결정한다. - Inverted Index : 검색에 필요한 것은 Web page에 포함되어 있는 단어의 정보가 아 니라 단어가 포함되어 있는 Web page 의 정보이다. 그런 이유로 wordID를 기준으로 docID를 얻는 방법 6단계 - Ranking에 의해 상위로 올라온 docID는 DocIndex에서 Web page의 정보를 가져와 보기 쉽게 User에게 반환한다. 2009-04-30 
  • 8. 시스템의 성능향상 scale-up - 보다 뛰어난 하드웨어를 도입하는 방법 scale-out - 하드웨어의 수를 늘리는 방법 장단점 scale-up 장점: 시스템을 단순하게 할 수 있다. 소프트웨어를 변경할 필요가 없다. 단점: 고성능 하드웨어의 가격이 비싸다. scale-out 장점: 필요에 맞게 장비의 수를 증가 시킬 수 있 다. 비교적 비용을 억제할 수 있다. 단점: 처음부터 복수의 하드웨어를 상정해서 소프 트웨어를 개발해야만 한다. 2009-04-30 
  • 9. 분산 시스템의구성 rack - 시스템의 기본 하나의 rack 에는 40~80대의 pc에 해당하는 부품 cluster - rack을 하나의 단위로 여러개 연결한 것 목적따라 다양한 cluster들이 존재 data center 다수의rack가 한데 모여있는것 세계 각 지에 분산 배치 2009-04-30 
  • 10. 문제점 하드웨어 고장 , 고난도 분산처리 2009-04-30 