HOME > 상세정보

상세정보

(웹 개발자를 위한) 대규모 서비스를 지탱하는 기술 : 데이터 구조, 메모리, OS, DB, 서버/인프라

(웹 개발자를 위한) 대규모 서비스를 지탱하는 기술 : 데이터 구조, 메모리, OS, DB, 서버/인프라 (39회 대출)

자료유형
단행본
개인저자
伊藤直也, 1977- 田中愼司, 저 진명조, 역
서명 / 저자사항
(웹 개발자를 위한) 대규모 서비스를 지탱하는 기술 : 데이터 구조, 메모리, OS, DB, 서버/인프라 / 이토 나오야, 다나카 신지 공저 ; 진명조 옮김
발행사항
파주 :   제이펍,   2011  
형태사항
xxii, 369 p. : 삽화, 도표 ; 23 cm
원표제
Web開發者のための大規模サ-ビス技術入門 : デ-タ構造、メモリ、OS、DB、サ-バ/インフラ
ISBN
9788994506128
일반주기
색인수록  
부록: 현대 웹 서비스 구축에 필요한 실전 기술  
000 01244camcc2200349 c 4500
001 000045639365
005 20110407110435
007 ta
008 110406s2011 ggkad 001c kor
020 ▼a 9788994506128 ▼g 13560
035 ▼a (KERIS)BIB000012358044
040 ▼a KYOBO ▼c KYOBO ▼d 211046 ▼d 222001 ▼d 211009
041 1 ▼a kor ▼h jpn
082 0 4 ▼a 005.2 ▼2 22
085 ▼a 005.2 ▼2 DDCK
090 ▼a 005.2 ▼b 2011
100 1 ▼a 伊藤直也, ▼d 1977- ▼0 AUTH(211009)123883
245 2 0 ▼a (웹 개발자를 위한) 대규모 서비스를 지탱하는 기술 : ▼b 데이터 구조, 메모리, OS, DB, 서버/인프라 / ▼d 이토 나오야, ▼e 다나카 신지 공저 ; ▼e 진명조 옮김
246 1 9 ▼a Web開發者のための大規模サ-ビス技術入門 : ▼b デ-タ構造、メモリ、OS、DB、サ-バ/インフラ
246 3 ▼a Uebu kaihatsusha no tame no daikibo sabisu gijutsu nyumon : ▼b deta kozo memori oesu dibi saba infura
260 ▼a 파주 : ▼b 제이펍, ▼c 2011
300 ▼a xxii, 369 p. : ▼b 삽화, 도표 ; ▼c 23 cm
500 ▼a 색인수록
500 ▼a 부록: 현대 웹 서비스 구축에 필요한 실전 기술
700 1 ▼a 田中愼司, ▼e▼0 AUTH(211009)3044
700 1 ▼a 진명조, ▼e▼0 AUTH(211009)89456
900 1 0 ▼a Ito, Naoya, ▼e
900 1 0 ▼a Tanaka, Shinji, ▼e
900 1 0 ▼a 이토 나오야, ▼e
900 1 0 ▼a 다나카 신지, ▼e
945 ▼a KLPA

No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 중앙도서관/제2자료실(3층)/ 청구기호 005.2 2011 등록번호 111619719 도서상태 대출가능 반납예정일 예약 서비스 B M
No. 2 소장처 과학도서관/Sci-Info(1층서고)/ 청구기호 005.2 2011 등록번호 121208126 도서상태 대출가능 반납예정일 예약 서비스 B M
No. 3 소장처 과학도서관/Sci-Info(1층서고)/ 청구기호 005.2 2011 등록번호 121208127 도서상태 대출가능 반납예정일 예약 서비스 B M
No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 중앙도서관/제2자료실(3층)/ 청구기호 005.2 2011 등록번호 111619719 도서상태 대출가능 반납예정일 예약 서비스 B M
No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 과학도서관/Sci-Info(1층서고)/ 청구기호 005.2 2011 등록번호 121208126 도서상태 대출가능 반납예정일 예약 서비스 B M
No. 2 소장처 과학도서관/Sci-Info(1층서고)/ 청구기호 005.2 2011 등록번호 121208127 도서상태 대출가능 반납예정일 예약 서비스 B M

컨텐츠정보

책소개

대규모 서비스를 개발.운용하는 기술자를 위한 입문서다. 하테나가 학생을 대상으로 개최하는 인턴십에서 수행하는 실제 기술 강의를 기반으로 구성되어 있다. OS 및 컴퓨터의 동작원리, DB 분산방법, 실전적인 알고리즘을 시스템에 적용하는 방법, 대규모 데이터를 요리하는 검색엔진의 원리와 구조, 시스템 전체를 조망하기 위한 인프라 설계지식 등을 다양한 샘플 코드와 함께 자세하게 소개하고 있다.

이와 같은 기본 지식 외에도 하테나의 서비스 개발 현장에서 엔지니어 간 의사소통 방법과 활용도구에 대한 사용 이유, 목표도 소개하고 있어서 개발뿐 아니라 팀 운영 면에서도 도움이 될 만한 정보들이 가득 차 있다. 또한 향후 서비스 전체를 클라우드로의 이전 여부를 선택할 경우에 있을 수 있는 문제나 자체 서버를 사용하려는 입장에서의 고려사항 및 전망, 글로벌화를 위해 넘어야 할 장벽에 대한 설명도 중대규모 서비스를 운영하는 이들에게 도움이 될 것이다.

베스트셀러 『(24시간 365일)서버/인프라를 지탱하는 기술』의 핵심 저자들이 또 한 권의 역작을 펴냈다. 서버 1대부터 시작하여 1,000대의 호스트를 운영하기까지 수없이 많이 겪었던 시행착오와 해결책, 먼 길을 돌고 돌아서 비로소 체득한 대규모 서비스 개발과 운용에 관한 핵심 노하우들을 이 책은 아낌없이 전달하고 있다.

‘지식 커뮤니티’ 인력검색 서비스, 다이어리(블로그) 호스팅 서비스, 소셜 북마크 서비스 등을 개발해 운영하고 있는 일본의 대표 인터넷 기업 중 하나인 하테나(hatena), 수년 간 축적되어 온 하테나의 서비스 운영 노하우를 살펴보고 우리 현실에 적용할 수 있는 좋은 기회의 장이 될 수 있을 것이다.

이 책은 대규모 서비스를 개발?운용하는 기술자를 위한 입문서다. 하테나가 학생을 대상으로 개최하는 인턴십에서 수행하는 실제 기술 강의를 기반으로 구성되어 있다. 계속해서 성장하고 있는 웹 서비스를 간단히 처리할 수 없는 규모의 데이터에 직면했을 때 어떻게 처리할까? 자신이 작성한 코드가 시스템을 다운시키지 않게 하려면 어떤 점에 주의해야 할까? 확장성을 고려한 시스템을 설계하려면 무엇을 확보해 두어야 할까? 이러한 쟁점들을 해결할 수 있는 다양한 실전 기술들을 다루고 있다.

내용은 OS 및 컴퓨터의 동작원리, DB 분산방법, 실전적인 알고리즘을 시스템에 적용하는 방법, 대규모 데이터를 요리하는 검색엔진의 원리와 구조, 시스템 전체를 조망하기 위한 인프라 설계지식 등을 다양한 샘플 코드와 함께 자세하게 소개하고 있다.

이와 같은 기본 지식 외에도 하테나의 서비스 개발 현장에서 엔지니어 간 의사소통 방법과 활용도구에 대한 사용 이유, 목표도 소개하고 있어서 개발뿐 아니라 팀 운영 면에서도 도움이 될 만한 정보들이 가득 차 있다. 또한 향후 서비스 전체를 클라우드로의 이전 여부를 선택할 경우에 있을 수 있는 문제나 자체 서버를 사용하려는 입장에서의 고려사항 및 전망, 글로벌화를 위해 넘어야 할 장벽에 대한 설명도 중대규모 서비스를 운영하는 이들에게 도움이 될 것이다.

실제로 하루 1,500만 명의 사용자들이 이용하고 있는 하테나이기 때문에 전달할 수 있는 실전적이고 생생한 기술과 현장감. 인턴십에 참가하는 학생을 불과 며칠 동안의 교육만으로 개발현장으로 이끌어야 한다는 필요로부터 얻어진 지식의 체계화. 이것들을 융합함으로써 재미있고 질리지 않게 읽을 수 있고, 아울러 핵심 지식을 얻을 수 있는 책이 될 수 있도록 힘썼다.

도서지원 웹 페이지
스페셜 콘텐츠(일어) http://gihyo.jp/magazine/wdpress/plus
샘플코드 다운로드 http://gihyo.jp/book/2010/978-4-7741-4307-1/support


정보제공 : Aladin

저자소개

다나카 신지(지은이)

현재 ㈜하테나의 서비스를 지탱하는 600대 이상의 서버, 시스템 성능 및 인프라 등을 총괄하고 있다. 정보학 박사이기도 하다. 공저로는 『(24시간/365일)서버/인프라를 지탱하는 기술』(제이펍)이 있으며, 기타 다수의 번역서들이 있다.

이토 나오야(지은이)

nifty, 하테나 CTO, GREE 총괄부장을 거쳐 프리랜서로 활동하고 있다. 블로그나 소셜 북마크 등 10년간 소셜 미디어의 발전과 운영에 종사하였으며, 지은 책으로는 《Chef Solo 입문》, 《서버/인프라를 지탱하는 기술》, 《대규모 서비스를 지탱하는 기술》 등이 있다. 2013년 9월부터 KAIZE Platform의 기술고문도 맡고 있다.

진명조(옮긴이)

2018 현재 씨디네트웍스에 근무하고 있으며, 《텐서플로로 시작하는 딥러닝》, 《서버/인프라 엔지니어를 위한 DevOps》, 《대규모 서비스를 지탱하는 기술》, 《서버/인프라를 지탱하는 기술》, 《클라우드의 충격》, 《인프라 엔지니어의 교과서: 시스템 구축과 관리편》 등의 기술 서적을 번역하였다. IT 산업의 미시적인 영역과 거시적인 영역을 아우르는 통찰력을 갖게 되기를 꿈꾸고 있으며, 최근에는 컨테이너 생태계의 급성장과 머신러닝을 비롯한 인공지능(AI)의 대중화에 주목하고 있다.

정보제공 : Aladin

목차

목차
옮긴이 서문 = XVI
지은이 서문 = XVIII
이책의 구성 = XX
하테나 소개 = XXII
CHAPTER 01 대규모 웹 서비스 개발 오리엔테이션 : 전체 그림 파악하기
 강의 0 이 책의 근간 = 2
  대규모 서비스 개발에 관련된 대학생 대상의 하테나 인턴십 = 2
  이 책에서 설명하는 것 = 3
  이 책에서 설명하지 않는 것 = 4
  앞으로 대규모 서비스를 마주하게 될 여러분에게 = 5
 강의 1 대규모 서비스와 소규모 서비스 = 6
  하테나의 서비스 규모 = 6
  하테나는 대규모, 구글 및 페이스북은 초대규모 = 8
  소규모 서비스와 대규모 서비스의 차이 = 9
  대규모 데이터량에 대한 대처 = 12
 강의 2 계속 성장하는 서비스와 대규모화의 벽 = 14
  웹 서비스의 어려움 = 14
  하테나가 성장하기까지 = 15
  시스템의 성장전략 = 18
 강의 3 서비스 개발의 현장 = 20
  하테나의 기술팀 체제 = 20
  하테나에서의 커뮤니케이션 방법 = 21
  실제 서비스 개발 = 22
  개발에 사용하는 툴 = 23
  정리 = 26
CHAPTER 02 대규모 데이터 처리 입문 : 메모리와 디스크, 웹 애플리케이션과 부하
 강의 4 하테나 북마크의 데이터 규모 = 28
  하테나 북마크를 예로 본 대규모 데이터 = 28
  하테나 북마크의 데이터 규모 = 29
  대규모 데이터로의 쿼리 = 30
 강의 5 대규모 데이터 처리의 어려운 점 = 32
  대규모 데이터는 어떤 점이 어려운가? = 32
  메모리와 디스크의 속도차 = 33
  디스크는 왜 늦을까? = 34
  OS 레벨에서의 연구 = 36
  전송속도, 버스의 속도차 = 36
 강의 6 규모조정의 요소 = 41
  규모조정, 확장성 = 41
  규모조정의 요소 = 42
  웹 애플리케이션과 부하의 관계 = 42
  DB 확장성 확보의 어려움 = 44
 강의 7 대규모 데이터를 다루기 위한 기초지식 = 48
  프로그래머를 위한 대규모 데이터 기초 = 48
  대규모 데이터를 다루는 세 가지 급소 = 48
  대규모 데이터를 다루기 전 3대 전제지식 = 50
CHAPTER 03 OS 캐시와 분산 : 대규모 데이터를 효율적으로 처리하는 원리
 강의 8 OS의 캐시 구조 = 56
  OS의 캐시 구조를 알고 애플리케이션 작성하기 = 56
  가상 메모리 구조 = 58
  Linux의 페이지 캐시 원리 = 60
  VFS = 62
  Linux는 페이지 단위로 디스크를 캐싱한다 = 62
  메모리가 비어 있으면 캐싱 = 64
  메모리를 늘려서 I/O 부하 줄이기 = 66
  페이지 캐시는 투과적으로 작용한다 = 67
 강의 9 I/O 부하를 줄이는 방법 = 72
  캐시를 전제로 한 I/O 줄이는 방법 = 72
  복수 서버로 확장시키기 = 73
  단순히 대수만 늘려서는 확장성을 확보할 수 없다 = 75
 강의 10 국소성을 살리는 분산 = 79
  국소성을 고려한 분산이란? = 79
  파티셔닝 = 80
  요청 패턴을 '섬'으로 분할 = 83
  페이지 캐시를 고려한 운용의 기본 규칙 = 85
CHAPTER 04 분산을 고려한 MySQL 운용
 강의 11 인덱스를 올바르게 운용하기 : 분산을 고려한 MySQL 운용의 대전제 = 88
  분산을 고려한 MySQL 운용, 세 가지 포인트 = 88
  OS 캐시 활용 = 89
  인덱스의 중요성 = 91
  인덱스의 효과 = 95
  인덱스가 작용하는지 확인하는 법 = 98
 강의 12 MySQL의 분산 = 102
  MySQL의 레플리케이션 기능 = 102
  마스터/슬레이브의 특징 = 104
 강의 13 MySQL의 스케일아웃과 파티셔닝 = 107
  MySQL의 스케일아웃 전략 = 107
  파티셔닝(테이블 분할)에 관한 보충 = 107
  파티셔닝을 전제로 한 설계 = 108
  JOIN 배제 = 110
  파티셔닝의 상반관계 = 112
  제2장∼제4장 정리 = 116
CHAPTER 05 대규모 데이터 처리 실전 입문 : 애플리케이션 개발의 급소
 강의 14 용도특화형 인덱싱 = 118
  인덱스와 시스템 구성 = 118
  용도특화형 인덱싱 = 120
 강의 15 이론과 실전 양쪽과의 싸움 = 125
  요구되는 기술적 요건 규명하기 = 125
  제2장∼제5장 정리 = 127
CHAPTER 06 [과제] 압축 프로그래밍 : 데이터 크기, I/O 고속화와의 관계 인식하기
 강의 16 [과제] 정수 데이터를 컴팩트하게 가져가기 = 130
  정수 데이터를 컴팩트하게 가져가기 = 130
  출제의도 = 130
  과제에서 다루는 파일의 내부 = 132
 강의 17 VB Code와 속도감각 = 133
  VB Code = 133
  VB Code의 의사코드 = 135
  정렬 완료된 정수를 'Gap'으로 가져가기 = 137
  보충① - 압축의 기초 = 138
  보충② - 대상이 정수인 경우 = 139
 강의 18 과제에 대한 상세설명과 응답 사례 = 141
  과제에 대한 상세설명 = 141
  참고① : pack() 함수 = 143
  참고② : 바이너리의 read/write = 146
  참고③ : 프로파일링 = 148
  응답 사례와 사고방식 = 149
CHAPTER 07 알고리즘 실용화 : 가까운 예로 보는 이론ㆍ연구의 실전 투입
 강의 19 알고리즘과 평가 = 156
  데이터 규모와 계산량 차이 = 156
  알고리즘이란? = 157
  알고리즘을 배우는 의의 = 158
  알고리즘의 평가 = 159
  티슈를 몇 번 접을 수 있을까? = 161
  알고리즘과 데이터 구조 = 163
  알고리즘의 실제 활용 = 165
  계산량과 상수항 = 164
  써드파티 소스를 잘 활용하자 = 167
  실제 사례를 보고 실전감각 익히기 = 169
 강의 20 하테나 다이어리의 키워드 링크 = 170
  키워드 링크란? = 170
  최초 구현방법 = 171
  문제발생! = 171
  패턴매칭에 의한 키워드 링크의 문제점 = 172
  정규표현 : Trie = 173
  AC법 = 175
  Regexp::List로의 치환 = 177
  키워드 링크 구현, 변이 및 고찰 = 178
 강의 21 하테나 북마크의 기사 분류 = 179
  기사 분류란? = 179
  기계학습과 대규모 데이터 = 180
  대규모 데이터와 웹 서비스 = 181
  베이지안 필터의 원리 = 183
  알고리즘이 실용화되기까지 = 185
  수비 자세, 공격 자세 = 187
CHAPTER 08 [과제] 하테나 키워드링크 구현 : 응용으로 가는 길 깨닫기
 강의 22 [과제] 하테나 키워드 링크 만들기 = 192
  AC법을 이용해서 하테나 키워드 링크 만들기 = 192
  테스트 프로그램 작성 = 195
 강의 23 응답 사례와 사고방식 = 198
  응답 사례 = 198
CHAPTER 09 전문 검색기술 도전 : 대규모 데이터 처리의 노하우
 강의 24 전문 검색기술의 응용범위 = 202
  하테나의 데이터로 검색엔진 만들기 = 202
  하테나 다이어리의 전문 검색 = 202
  하테나 북마크의 전문 검색 = 205
 강의 25 검색 시스템의 아키텍처 = 208
  검색 시스템이 완성되기까지 = 208
  다양한 검색엔진 = 210
  전문 검색의 종류 = 212
 강의 26 검색엔진의 내부구조 = 217
  역 인덱스의 구조 = 217
  Dictionary 만드는 법 = 219
  지금까지의 내용 정리 = 230
  Postings 작성법 = 230
  스코어링에 대한 보충 = 233
  참고문헌 = 234
CHAPTER 10 [과제] 전문 검색엔진 작성 : 기초, 상세부분 작성, 속도와 정확성 추구
 강의 27 [과제] 하테나 북마크 전문 검색 만들기 = 238
  전문 검색엔진 개발 = 238
  과제내용 = 239
  샘플 데이터 형식과 데이터 크기 = 240
  사전의 구성 = 241
  인터페이스 = 241
  기본적인 부분+심화 구현 = 242
  속도와 정확성으로 승부 = 243
 강의 28 응답 사례와 사고방식 = 244
  응답 사례 = 244
  indexer.pl 구현 = 245
  searcher.pl 구현 = 247
  개선할 수 있는 점은? = 250
CHAPTER 11 대규모 데이터 처리를 지탱하는 서버/인프라 입문 : 웹 서비스의 백엔드
 강의 29 엔터프라이즈 vs. 웹 서비스 = 254
  엔터프라이즈 vs. 웹 서비스 = 254
  웹 서비스의 인프라 = 257
 강의 30 클라우드 vs. 자체구축 인프라 = 259
  클라우드 컴퓨팅 = 259
  클라우드의 장단점 = 260
  하테나에서의 클라우드 서비스 사용 = 261
  자체구축 인프라의 장점 = 262
  자체구축 인프라와 수직통합 모델 = 263
  하테나의 서비스 규모 = 264
  하테나 북마크의 시스템 구성도 = 265
CHAPTER 12 확장성 확보에 필요한 사고방식 : 규모 증대와 시스템 확장
 강의 31 계층과 확장성 = 268
  확장성에 대한 요구 = 268
  계층별 확장성 = 269
 강의 32 부하 파악, 튜닝 = 271
  부하 파악 = 271
  부하를 측정하기 위한 항목 = 273
  용도에 맞는 튜닝 = 274
  AP 서버/DB 서버의 튜닝 정책과 서버 대수 = 275
  서비스 규모와 튜닝 = 276
  확장성 확보 = 277
CHAPTER 13 다중성 확보, 시스템 안정화 : 100%에 근접한 가동률을 실현하는 원리
 강의 33 다중성 확보 = 280
  다중성 확보 - AP 서버 = 280
  다중성 확보 - DB 서버 = 281
  다중성 확보 - 스토리지 서버 = 284
 강의 34 시스템 안정화 = 289
  시스템 안정화를 위한 상반관계 = 289
  시스템의 불안정 요인 = 290
 강의 35 시스템 안정화 대책 = 296
  실제 안정화 대책 = 296
CHAPTER 14 효율향상전략 : 하드웨어의 리소스 사용률 높이기
 강의 36 가상화 기술 = 300
  가상화 기술의 도입 = 300
  가상화 기술의 효용 = 301
  가상화 서버 구축정책 = 302
  가상화로 얻은 장점 정리 = 304
  가상화와 운용 = 305
  가상화 도입 시 주의할 점 = 308
 강의 37 하드웨어와 효율향상 = 310
  프로세서의 성능향상 = 310
  메모리, HDD의 비용저하 = 311
  저가 하드웨어의 유용한 이용법 = 313
  SSD = 315
CHAPTER 15 웹 서비스와 네트워크 : 서비스의 성장
 강의 38 네트워크 분기점 = 320
  서비스 성장과 네트워크 분기점 = 320
  1Gbps의 한계 = 320
  500호스트의 한계 = 321
  네트워크 구조 계층화 = 323
  글로벌화 = 324
 강의 39 한층 높은 단계로 = 327
  10Gbps 이상의 세계 = 327
  하테나의 인프라 = 328
APPENDIX A 현대 웹 서비스 구축에 필요한 실전 기술 : 대규모 서비스에 대응하기 위해서
 Special 강의 1 작업큐(Job-Queue) 시스템 - TheSchwartz, Gearman = 332
 Special 강의 2 스토리지 선택 - RDBMS와 key-value 스토어 = 337
 Special 강의 3 캐시 시스템 - Squid, Varnish = 350
 Special 강의 4 계산 클러스터 - Hadoop = 358
찾아보기 = 362

관련분야 신착자료

Zumstein, Felix (2022)