가입하고 포인트 받기
구글을 지탱하는 기술
니시다 케이스케 지음
멘토르
 펴냄
18,000 원
16,200원 
앱에서 포인트받고 구매
376쪽 | 2008-12-01
분량 보통인책 | 난이도 보통인책
상세 정보
구글의 분산 처리 시스템, 데이터 시스템, 대용량 데이터 처리 등 그동안 쉽게 접할 수 없었던 구글 시스템에 대한 정보를 보다 구체적으로 그려낸 책. 구글의 기업 운영 방식과 그들만이 가지고 있는 문화와 시스템에 대한 정보를 담고 있어, 베일에 싸인 구글을 알고자하는 사람들의 갈증을 풀어준다.<BR> <BR> 아울러, 구글의 전반적인 모습을 국내에 소개하고, 관련 그림과 도표 등을 통해 시스템을 간접적으로 체험할 수 있는 기회를 제공하고 있다. 구글 초기 모습을 중심으로 검색의 기본적인 작동 원리를 설명하는 1장을 시작으로 총 6장으로 나누어 구글의 시스템을 알아볼 수 있다.
더보기
목차

추천사
감수자 서문
서문

1장 구글의 탄생
1. 검색엔진의 진화
이용자의 편의성을 가장 먼저 생각한다
하드웨어를 확장한다
웹 페이지에 순위를 매기다
Column 페이지랭크의 현재
2. 검색엔진의 구조
검색엔진의 3요소
검색 서버의 역할
검색 백엔드의 역할
인덱스의 역할
검색에 적합한 인덱스 구조
데이터 구조를 색인한다
3. 크롤링-온 세상의 웹 페이지를 수집한다
기능적인 시스템 오류
Column “마음에 드셨나요?”
웹 페이지 수집에는 시간이 걸린다
여러 개의 다운로드를 동시에 진행한다
끝나지 않는 크롤링
4. 인덱스 생성-검색용 데이터베이스를 만든다
웹페이지의 구조 해석
단어 정보의 인덱스
링크 정보의 인덱스
랭킹 정보의 인덱스
검색 순위
5. 검색 서버-요청하는 정보를 즉석에서 찾아낸다
검색 결과에 순위를 매기다
복잡한 검색도 빠르게 실행한다
3단계 랭킹 시스템
구글의 기술력 파헤치기!

2장 구글의 공룡화
1. 인터넷을 검색하는 거대 시스템
값싼 PC를 대량으로 이용한다
하나의 시스템으로 연결한다
숫자만 늘린다고 능사는 아니다
CPU와 HDD를 알뜰하게 활용한다
검색엔진을 개량하자
2. 세계로 눈을 돌린 검색 클러스터
전 세계로 제공되는 웹 검색 서비스
가까운 데이터 센터로 접속한다
다수의 서버로 부하를 분산한다
일정한 페이지별로 인덱스를 분할한다
많은 인덱스를 한번에 검색한다
새로운 웹 검색 절차
구글의 기술력 파헤치기!

3장 구글의 분산 스토리지
1.GFS-분산 파일 시스템
거대한 디스크 공간
방대한 데이터 통로
데이터 전송을 위한 특화 설계
파일 조작을 위한 인터페이스
파일은 자동적으로 복제된다
읽기-가장 가까운 서버를 이용한다
쓰기-복수의 서버를 이용한다
Column 가장 가까운 서버
동시 기록의 문제점
원자적 쓰기
‘Copy on write'기능으로 스냅샷을 고속화한다
부하가 편중되지 않도록 균형을 유지한다
모든 장애 대책을 실행한다
읽기?쓰기를 모두 확장한다
복구 시간
데이터 관리의 기반으로서 동작한다
2. Bigtable-분산 스토리지시스템
거대한 데이터베이스를 구축한다
구조화된 데이터를 저장한다
읽고 쓰기는 원자적으로 실행된다
테이블을 분할해서 관리한다
다수의 서버로 테이블을 분산처리한다
GFS와 메모리를 사용한 데이터 관리
테이블의 크기에 따른 부하 분산
다양한 방법으로 성능을 향상시킨다
사용 방법에 따라 성능이 바뀐다
3.Chubby-분산 잠금 서비스
분산 스토리지는 Chubby에서 시작된다
5개의 복사본이 만들어진다
파일 시스템으로 이용한다
잠금 서비스의 이용
통지를 활용한다
Column DNS를 치환한다
마스터는 투표로 정해진다
구글의 기술력 파헤치기!

4장 구글의 분산 데이터 처리
1. MapReduce-분산처리를 위한 기반 기술
대용량 데이터 분산 가공
데이터 처리 기술
Column MapReduce의 유래
역 인덱스를 만들어 보자
MapReduce로 할 수 있는 일
워커에 의한 공동작업-MapReduce의 전체 모습
3단계 처리
고속화에 필요한 아이디어
실행 과정에는 단계가 있다-MapReduce의 과정
MapReduce의 장애 대책
MapReduce의 읽기 성능
Column Bigtable과 MapReduce
2. Sawzall-분산처리용 프로그래밍 언어
간편한 분산처리를 꿈꾸는 사람들
스크립트 언어 프로그램
부작용을 초래하지 않는 언어 사양
표준 어그리게이터
보다 실제적인 프로그램의 예
에러는 무시할 수도 있다
Sawzall은 어떻게 구현될까?
순조롭게 확장되는 실행 성능
Column Bigtable과 Sawzall
Column 대규모 분산 시스템을 시험해 본다
구글의 기술력 파헤치기!

5장 구글의 운용 비용
1. 구글의 운용 비용은 얼마나 될까
하드웨어 구입 비용
저가의 하드웨어로 비용을 절감한다
전기료는 하드웨어 만큼 비싸지 않다
간접적으로 추가되는 전력의 설비 비용
점점 늘어나는 전력 비용
2. CPU는 어디에 전기를 사용하는가
전력과 성능의 관계
CMOS 회로의 소비 전력
소비 전력을 억제하기 위한 방법
클럭 단위의 처리 효율성을 올린다
멀티 코어에 의한 성능 향상
3. PC의 소비 전력을 절감한다
고클럭 CPU는 전력 효율이 나쁘다
멀티 스레드를 활용하여 전력 효율을 높인다
전원의 효율을 높인다
4. 데이터 센터의 전력 배치
피크 전력은 비용과 직결된다
한정된 전력을 최대한 유용하게 사용한다
계층적 전력 배분의 설계
머신이 증가하면 전력은 평준화된다
전력 절감 기술로 비용 효율을 높인다
Column 소비 전력의 측정 방법
방식을 바꾸면 설비 효율이 2배가 된다
5. 하드디스크는 언제 고장 나는가
10만 대의 하드디스크를 조사하다
고장의 전조가 되는 요인들
사용 시간과 고장률의 관계
사용 횟수와 고장률의 관계
온도와 고장률의 관계
고장률에 큰 영향을 미치는 몇 가지 SMART 값
SMART 값만으로 고장을 예측할 수 없다
Column 통계 데이터의 처리 방법
하드디스크를 제대로 바라보자
6. 미국 전역으로 널어지는 거대한 데이터 센터
오리건 주 댈러스
노스캐롤라이나 주 레노어
사우스캐롤라이나 주 버클리 카운티
오클라호마 주 프라이어
아이오와 주 카운실 블럽스
차세대 구글의 확장
데이터센터로 처리를 집약한다-Bigdaddy
Column 클린 에너지를 위한 구글의 노력
구글의 기술력 파헤치기!

6장 구글의 개발 체제
1. 자주성을 중시하는 소프트웨어 개발
선택된 프로젝트만이 살아남는다
소규모로 구성되는 프로젝트 팀
코드 리뷰에 의한 품질 향상
초기 단계부터 성능을 고려해야 한다
새로운 웹 서비스를 시작하기까지
정보는 철저하게 공유한다
Column 다양한 TechTalk
2. 커스터마이즈
오퍼레이팅 시스템
프로그래밍 언어
데이터베이스
SCM 소스 코드 관리
리뷰 시스템
3. 테스트를 자동화한다
테스트 엔지니어 팀
자동 테스트를 설계한다
기반 시스템을 테스트한다
Column Testing on the Toilet
구글의 기술력 파헤치기!

더보기
저자 정보
니시다 케이스케
주식회사 네트워크 응용통신연구소 연구원을 거쳐, 코볼 컴파일부터 VPN서버, 드라이버 개발, 웹 애플리케이션 개발 등을 연구하는 엔지니어로 활동 중이다. 오픈코볼의 개발자이며, IPA(독립행정법인 정보처리 추진기구)의 2002년도 미답유스(未踏Youth)에서 선정한 수퍼 크리에이터이다.
더보기
남긴 글 0
앱에서 바로 보기