SlideShare a Scribd company logo
Google을
지탱하는 기술



          Mario
목차



□ Google의 탄생


□ Google의 공룡화
Chapter 1.

Google의 탄생
검색엔진의 진화

□ 이용자의 편의성 고려

□ Hardware의 확장

□ Web Page에 순위를 정함
○ Page Rank
○ Anchor Text
○ Word
○ Ranking Function
순위산출방식

□ Page Rank
 ○ 각 Web page에 일정점수 할당
 ○ 다른 Page로 Link하면 자신의 점수 분배
 ○ 최종 점수는 다른 Page에서 받은 점수의 합

□ Anchor Text
 ○ Web Page에 Link할 때 Link된 문자열

 ○ 많은 Page에 Link되어 있으면 신뢰성이
   높다고 간주
순위산출방식

□ Word
 ○ Web page의 모든 단어를 기록
 ○ 단어의 글씨크기, 속성등도 결과에 영향

□ Ranking Function
 ○ 수많은 정보들을 조합하여 최종적으로
   검색결과에 순위를 부여

 ○ 끊임없는 개량작업이 이루어 졌고 앞으로도
   계속될 것임
검색엔진의 3요소


□ 검색서버

○ 이용자와의 통신 관리

○ 요청 해석 / 처리내용 판단

○ Index 검색

○ 결과를 보기쉽게 편집 / 전송
검색엔진의 3요소

□ 검색 Backend
○ Crawler : Web page 정보수집

○ Crawling : 다양한 웹 페이지를 수집

○ Repository : Web page 임시저장소

○ Index creating : Web page를 검색용
               인덱스로 만들어내는 과정
검색엔진의 3요소


□ Index

 ○ 주어진 Data를 안전하게 저장

 ○ 요청받은 Data를 빠른 속도로 찾아냄

 ○ 검색엔진의 Database와 같은 존재
검색의 흐름

□ 이용자가 검색 요청
□ 검색어가 Lexicon에 의해 wordID로 변환
□ wordID를 역Index에서 검색, docID list 취득
□ docID에 Ranking Function 적용,
  점수가 높은순으로 정렬
□ 상위 docID 각각에 대해 Web page 정보추출
□ 정보를 정리해서 결과를 이용자에게 보냄
Chapter 2.

Google의 공룡화
성능향상을 위한 두가지 방법


□ Scale-up
 ○ 보다 뛰어난 하드웨어를 도입

□ Scale-out
 ○ 하드웨어의 수를 늘림

□ Scale-up과 Scale-out의 균형을 맞춰
  효율적인 성능향상을 꾀함
분산 시스템의 구성

□ Rack
 ○ System의 기본
 ○ 하나의 Rack는 40~80대의 PC 역할

□ Cluster
 ○ Rack을 여러 개 연결

□ Data Center
 ○ 다수의 Cluster가 한데 모여있는 것
Scale-out 방식의 문제점


□ Hardware의 고장
○ 장애를 미리 상정하고 대비
○ 문제발생시 동작이 멈추지 않아야 한다

□ 분산처리
○ 모든 장비의 상태를 파악하고 작업을 분산시킴
○ 확장이 용의하고 병목현상이 없도록 설계
CPU와 HDD의 효율적 사용

□ CPU
○ GFS Cluster
 ● 다수의 Machine을 사용, File system 구축

○ Work queue
 ● 여유가 있는 Machine을 찾아 작업 부여

□ HDD
○ Machine들을 Network로 연결하여 Data 조작
검색엔진의 개량

□ 검색서버의 대규모화
□ 검색 Backend의 대규모화
○ Crawler의 성능이 올라가면 Repository에
  저장되는 데이터의 양도 증가,
  병목현상 가능성 잠재
○ URL Server도 병목현상 발생 가능성 잠재
○ Load Balancing과 Index생성
□ Index의 대규모화
구글의 분산 System


□ 검색 요청시 IP조사 후 가까운 Data Center로
 접속됨


□ Data Center가 이용불가할 경우 다른 Data
 Center로 연결
검색 Cluster


□ GWS(Google Web Server)
 ○ 검색 요청을 한곳에 모음

□ LB(Load Balancer)
 ○ 검색요청 분배

□ Document Server
 ○ 각각의 Web page 제목 및 요약정보 생성

More Related Content

What's hot

Meconomy 09.05.22
Meconomy 09.05.22Meconomy 09.05.22
Meconomy 09.05.22parkpaul
 
Основни етапи за изграждане на сайт от W-SEO com
Основни етапи за изграждане на сайт от W-SEO comОсновни етапи за изграждане на сайт от W-SEO com
Основни етапи за изграждане на сайт от W-SEO com
W-SEO com
 
미코노미
미코노미미코노미
미코노미oros83
 
SEO за блогъри
SEO за блогъриSEO за блогъри
SEO за блогъри
seocon
 
Ai basic
Ai basicAi basic
Ai basic
heedaeKwon
 
Story 05
Story 05Story 05
Story 05JooWan
 
MS Teams 알고보면 꿀팁 02
MS Teams 알고보면 꿀팁 02MS Teams 알고보면 꿀팁 02
MS Teams 알고보면 꿀팁 02
LEE Inhee
 
Html 기반의 매쉬업 Air 애플리케이션 이야기
Html 기반의 매쉬업 Air 애플리케이션 이야기Html 기반의 매쉬업 Air 애플리케이션 이야기
Html 기반의 매쉬업 Air 애플리케이션 이야기
lovedev
 
중간과제 Meconomy Sky
중간과제 Meconomy Sky중간과제 Meconomy Sky
중간과제 Meconomy Skyguestd79ea87
 
080728 기업용 설명서
080728 기업용 설명서080728 기업용 설명서
080728 기업용 설명서Dae lim Song
 
디지털 특강 2번째 09.04.10
디지털 특강 2번째 09.04.10디지털 특강 2번째 09.04.10
디지털 특강 2번째 09.04.10parkpaul
 
0321 Marketing
0321 Marketing0321 Marketing
0321 Marketing
Industrial Bank of Korea
 
рит2007 оптимизация бд бесков доронин
рит2007   оптимизация бд   бесков доронинрит2007   оптимизация бд   бесков доронин
рит2007 оптимизация бд бесков доронинMedia Gorod
 
Mathscinet 활용하기
Mathscinet 활용하기Mathscinet 활용하기
Mathscinet 활용하기
POSTECH Library
 
Widget Monetization Strategy Oct 2008(2)
Widget Monetization Strategy Oct 2008(2)Widget Monetization Strategy Oct 2008(2)
Widget Monetization Strategy Oct 2008(2)
Min Seok Kang
 

What's hot (19)

벤치마킹
벤치마킹벤치마킹
벤치마킹
 
Meconomy 09.05.22
Meconomy 09.05.22Meconomy 09.05.22
Meconomy 09.05.22
 
Основни етапи за изграждане на сайт от W-SEO com
Основни етапи за изграждане на сайт от W-SEO comОсновни етапи за изграждане на сайт от W-SEO com
Основни етапи за изграждане на сайт от W-SEO com
 
미코노미
미코노미미코노미
미코노미
 
SEO за блогъри
SEO за блогъриSEO за блогъри
SEO за блогъри
 
Ai basic
Ai basicAi basic
Ai basic
 
Web3
Web3Web3
Web3
 
Story 05
Story 05Story 05
Story 05
 
MS Teams 알고보면 꿀팁 02
MS Teams 알고보면 꿀팁 02MS Teams 알고보면 꿀팁 02
MS Teams 알고보면 꿀팁 02
 
Html 기반의 매쉬업 Air 애플리케이션 이야기
Html 기반의 매쉬업 Air 애플리케이션 이야기Html 기반의 매쉬업 Air 애플리케이션 이야기
Html 기반의 매쉬업 Air 애플리케이션 이야기
 
중간과제 Meconomy Sky
중간과제 Meconomy Sky중간과제 Meconomy Sky
중간과제 Meconomy Sky
 
080728 기업용 설명서
080728 기업용 설명서080728 기업용 설명서
080728 기업용 설명서
 
미코노미
미코노미미코노미
미코노미
 
Web5
Web5Web5
Web5
 
디지털 특강 2번째 09.04.10
디지털 특강 2번째 09.04.10디지털 특강 2번째 09.04.10
디지털 특강 2번째 09.04.10
 
0321 Marketing
0321 Marketing0321 Marketing
0321 Marketing
 
рит2007 оптимизация бд бесков доронин
рит2007   оптимизация бд   бесков доронинрит2007   оптимизация бд   бесков доронин
рит2007 оптимизация бд бесков доронин
 
Mathscinet 활용하기
Mathscinet 활용하기Mathscinet 활용하기
Mathscinet 활용하기
 
Widget Monetization Strategy Oct 2008(2)
Widget Monetization Strategy Oct 2008(2)Widget Monetization Strategy Oct 2008(2)
Widget Monetization Strategy Oct 2008(2)
 

Viewers also liked

Railsガイドを支える技術 (30分版)
Railsガイドを支える技術 (30分版)Railsガイドを支える技術 (30分版)
Railsガイドを支える技術 (30分版)
Yohei Yasukawa
 
구글을 지탱하는 기술
구글을 지탱하는 기술구글을 지탱하는 기술
구글을 지탱하는 기술parkpaul
 
구글을 지탱하는 기술 요약 - Google 검색
구글을 지탱하는 기술 요약 - Google 검색구글을 지탱하는 기술 요약 - Google 검색
구글을 지탱하는 기술 요약 - Google 검색
혜웅 박
 
Google을 지탱하는 기술4
Google을 지탱하는 기술4Google을 지탱하는 기술4
Google을 지탱하는 기술4sid choi
 
구글을 지탱하는 기술
구글을 지탱하는 기술구글을 지탱하는 기술
구글을 지탱하는 기술
semi06
 
비트벡터
비트벡터비트벡터
비트벡터
혜웅 박
 
3 구글의 분산 스토리지(1)
3 구글의 분산 스토리지(1)3 구글의 분산 스토리지(1)
3 구글의 분산 스토리지(1)guest5c3f0b1
 
구글을 지탱하는 기술 요약 - Bigtable
구글을 지탱하는 기술 요약 - Bigtable구글을 지탱하는 기술 요약 - Bigtable
구글을 지탱하는 기술 요약 - Bigtable
혜웅 박
 
구글을 지탱하는 기술 요약 - GFS
구글을 지탱하는 기술 요약 - GFS구글을 지탱하는 기술 요약 - GFS
구글을 지탱하는 기술 요약 - GFS
혜웅 박
 
Google을 지탱하는 기술3
Google을 지탱하는 기술3Google을 지탱하는 기술3
Google을 지탱하는 기술3
sid choi
 
쿠키런 1년, 서버개발 분투기
쿠키런 1년, 서버개발 분투기쿠키런 1년, 서버개발 분투기
쿠키런 1년, 서버개발 분투기
Brian Hong
 

Viewers also liked (11)

Railsガイドを支える技術 (30分版)
Railsガイドを支える技術 (30分版)Railsガイドを支える技術 (30分版)
Railsガイドを支える技術 (30分版)
 
구글을 지탱하는 기술
구글을 지탱하는 기술구글을 지탱하는 기술
구글을 지탱하는 기술
 
구글을 지탱하는 기술 요약 - Google 검색
구글을 지탱하는 기술 요약 - Google 검색구글을 지탱하는 기술 요약 - Google 검색
구글을 지탱하는 기술 요약 - Google 검색
 
Google을 지탱하는 기술4
Google을 지탱하는 기술4Google을 지탱하는 기술4
Google을 지탱하는 기술4
 
구글을 지탱하는 기술
구글을 지탱하는 기술구글을 지탱하는 기술
구글을 지탱하는 기술
 
비트벡터
비트벡터비트벡터
비트벡터
 
3 구글의 분산 스토리지(1)
3 구글의 분산 스토리지(1)3 구글의 분산 스토리지(1)
3 구글의 분산 스토리지(1)
 
구글을 지탱하는 기술 요약 - Bigtable
구글을 지탱하는 기술 요약 - Bigtable구글을 지탱하는 기술 요약 - Bigtable
구글을 지탱하는 기술 요약 - Bigtable
 
구글을 지탱하는 기술 요약 - GFS
구글을 지탱하는 기술 요약 - GFS구글을 지탱하는 기술 요약 - GFS
구글을 지탱하는 기술 요약 - GFS
 
Google을 지탱하는 기술3
Google을 지탱하는 기술3Google을 지탱하는 기술3
Google을 지탱하는 기술3
 
쿠키런 1년, 서버개발 분투기
쿠키런 1년, 서버개발 분투기쿠키런 1년, 서버개발 분투기
쿠키런 1년, 서버개발 분투기
 

More from JooWan

Story 06
Story 06Story 06
Story 06JooWan
 
Story 06
Story 06Story 06
Story 06JooWan
 
Stoty 04
Stoty 04Stoty 04
Stoty 04JooWan
 
Stoty 04
Stoty 04Stoty 04
Stoty 04JooWan
 
미코노미
미코노미미코노미
미코노미JooWan
 
웹사이트 벤치마킹
웹사이트 벤치마킹웹사이트 벤치마킹
웹사이트 벤치마킹JooWan
 
Stoty 02
Stoty 02Stoty 02
Stoty 02JooWan
 
Stoty 03
Stoty 03Stoty 03
Stoty 03JooWan
 
Stoty 03
Stoty 03Stoty 03
Stoty 03JooWan
 
Stoty 02
Stoty 02Stoty 02
Stoty 02JooWan
 
Stoty 01 Ver2
Stoty 01 Ver2Stoty 01 Ver2
Stoty 01 Ver2JooWan
 
Stoty 01 Ver2
Stoty 01 Ver2Stoty 01 Ver2
Stoty 01 Ver2JooWan
 
Story 01
Story 01Story 01
Story 01JooWan
 
Story 01
Story 01Story 01
Story 01JooWan
 

More from JooWan (14)

Story 06
Story 06Story 06
Story 06
 
Story 06
Story 06Story 06
Story 06
 
Stoty 04
Stoty 04Stoty 04
Stoty 04
 
Stoty 04
Stoty 04Stoty 04
Stoty 04
 
미코노미
미코노미미코노미
미코노미
 
웹사이트 벤치마킹
웹사이트 벤치마킹웹사이트 벤치마킹
웹사이트 벤치마킹
 
Stoty 02
Stoty 02Stoty 02
Stoty 02
 
Stoty 03
Stoty 03Stoty 03
Stoty 03
 
Stoty 03
Stoty 03Stoty 03
Stoty 03
 
Stoty 02
Stoty 02Stoty 02
Stoty 02
 
Stoty 01 Ver2
Stoty 01 Ver2Stoty 01 Ver2
Stoty 01 Ver2
 
Stoty 01 Ver2
Stoty 01 Ver2Stoty 01 Ver2
Stoty 01 Ver2
 
Story 01
Story 01Story 01
Story 01
 
Story 01
Story 01Story 01
Story 01
 

구글을 지탱하는 기술

  • 2. 목차 □ Google의 탄생 □ Google의 공룡화
  • 4. 검색엔진의 진화 □ 이용자의 편의성 고려 □ Hardware의 확장 □ Web Page에 순위를 정함 ○ Page Rank ○ Anchor Text ○ Word ○ Ranking Function
  • 5. 순위산출방식 □ Page Rank ○ 각 Web page에 일정점수 할당 ○ 다른 Page로 Link하면 자신의 점수 분배 ○ 최종 점수는 다른 Page에서 받은 점수의 합 □ Anchor Text ○ Web Page에 Link할 때 Link된 문자열 ○ 많은 Page에 Link되어 있으면 신뢰성이 높다고 간주
  • 6. 순위산출방식 □ Word ○ Web page의 모든 단어를 기록 ○ 단어의 글씨크기, 속성등도 결과에 영향 □ Ranking Function ○ 수많은 정보들을 조합하여 최종적으로 검색결과에 순위를 부여 ○ 끊임없는 개량작업이 이루어 졌고 앞으로도 계속될 것임
  • 7. 검색엔진의 3요소 □ 검색서버 ○ 이용자와의 통신 관리 ○ 요청 해석 / 처리내용 판단 ○ Index 검색 ○ 결과를 보기쉽게 편집 / 전송
  • 8. 검색엔진의 3요소 □ 검색 Backend ○ Crawler : Web page 정보수집 ○ Crawling : 다양한 웹 페이지를 수집 ○ Repository : Web page 임시저장소 ○ Index creating : Web page를 검색용 인덱스로 만들어내는 과정
  • 9. 검색엔진의 3요소 □ Index ○ 주어진 Data를 안전하게 저장 ○ 요청받은 Data를 빠른 속도로 찾아냄 ○ 검색엔진의 Database와 같은 존재
  • 10. 검색의 흐름 □ 이용자가 검색 요청 □ 검색어가 Lexicon에 의해 wordID로 변환 □ wordID를 역Index에서 검색, docID list 취득 □ docID에 Ranking Function 적용, 점수가 높은순으로 정렬 □ 상위 docID 각각에 대해 Web page 정보추출 □ 정보를 정리해서 결과를 이용자에게 보냄
  • 12. 성능향상을 위한 두가지 방법 □ Scale-up ○ 보다 뛰어난 하드웨어를 도입 □ Scale-out ○ 하드웨어의 수를 늘림 □ Scale-up과 Scale-out의 균형을 맞춰 효율적인 성능향상을 꾀함
  • 13. 분산 시스템의 구성 □ Rack ○ System의 기본 ○ 하나의 Rack는 40~80대의 PC 역할 □ Cluster ○ Rack을 여러 개 연결 □ Data Center ○ 다수의 Cluster가 한데 모여있는 것
  • 14. Scale-out 방식의 문제점 □ Hardware의 고장 ○ 장애를 미리 상정하고 대비 ○ 문제발생시 동작이 멈추지 않아야 한다 □ 분산처리 ○ 모든 장비의 상태를 파악하고 작업을 분산시킴 ○ 확장이 용의하고 병목현상이 없도록 설계
  • 15. CPU와 HDD의 효율적 사용 □ CPU ○ GFS Cluster ● 다수의 Machine을 사용, File system 구축 ○ Work queue ● 여유가 있는 Machine을 찾아 작업 부여 □ HDD ○ Machine들을 Network로 연결하여 Data 조작
  • 16. 검색엔진의 개량 □ 검색서버의 대규모화 □ 검색 Backend의 대규모화 ○ Crawler의 성능이 올라가면 Repository에 저장되는 데이터의 양도 증가, 병목현상 가능성 잠재 ○ URL Server도 병목현상 발생 가능성 잠재 ○ Load Balancing과 Index생성 □ Index의 대규모화
  • 17. 구글의 분산 System □ 검색 요청시 IP조사 후 가까운 Data Center로 접속됨 □ Data Center가 이용불가할 경우 다른 Data Center로 연결
  • 18. 검색 Cluster □ GWS(Google Web Server) ○ 검색 요청을 한곳에 모음 □ LB(Load Balancer) ○ 검색요청 분배 □ Document Server ○ 각각의 Web page 제목 및 요약정보 생성