엘라스틱서치 바이블 여동현 pdf 다운로드

엘라스틱서치 바이블 여동현 pdf 다운로드를 무료로 제공합니다 이 책은 단순한 엘라스틱서치 기능 소개와 사용법에 대한 학습을 넘어 엘라스틱서치의 구조를 깊이 파헤친다. 엘라스틱서치를 뜯어보며 동작 원리와 구조에 대한 근본적인 이해도

관련 교재 pdf 모음

쉽게 시작하는 타입스크립트 pdf

책 소개

엘라스틱서치 입문자부터 경험이 있는 실무자까지 다양한 분들에게 도움이 될 수 있도록 다양한 내용을 넓고 깊게 담았다. 엘라스틱서치 1 버전 시절부터 시작해 최신 버전까지 전부 겪으며 오랜 기간 수많은 엘라스틱서치 클러스터를 운영하고 서비스를 개발하며 얻은 실무 경험을 녹였다. 엘라스틱서치를 처음 접하는 분들도 이 책을 읽고 나면 엘라스틱서치의 특성에 맞는 적절한 데이터 설계와 서비스 설계 위에 엘라스틱서치를 도입해 실무 운영 및 장애 대응까지 프로덕션 수준에서 가능하도록 내용을 구성했다. 엘라스틱서치 운영 경험이 있는 분들이라면 커스텀 플러그인을 개발하거나 엘라스틱서치 소스코드를 직접 수정해 엘라스틱서치를 원하는 방향으로 커스터마이징도 할 수 있도록 깊은 내용까지 다룬다.

엘라스틱서치 바이블 pdf 다운로드

엘라스틱서치 바이블 pdf 다운로드

▣ 01장: 엘라스틱서치 소개

1.1 엘라스틱서치의 기본 콘셉트

1.2 라이선스 정책

1.3 실습 환경 구축

__1.3.1 엘라스틱서치 설치

__1.3.2 키바나 설치

__1.3.3 샘플 데이터 적재

__1.3.4 Cerebro 설치

▣ 02장: 엘라스틱서치 기본 동작과 구조

2.1 엘라스틱서치 기본 동작 빠르게 둘러보기

__2.1.1 문서 색인

__2.1.2 문서 조회

__2.1.3 문서 업데이트

__2.1.4 문서 검색

__2.1.5 문서 삭제

2.2 엘라스틱서치 구조 개괄

2.3 엘라스틱서치 내부 구조와 루씬

__2.3.1 루씬 flush

__2.3.2 루씬 commit

__2.3.3 세그먼트

__2.3.4 루씬 인덱스와 엘라스틱서치 인덱스

__2.3.5 translog

▣ 03장: 인덱스 설계

3.1 인덱스 설정

__3.1.1 number_of_shards

__3.1.2 number_of_replicas

__3.1.3 refresh_interval

__3.1.4 인덱스 설정을 지정하여 인덱스 생성

3.2 매핑과 필드 타입

__3.2.1 동적 매핑 vs. 명시적 매핑

__3.2.2 필드 타입

__3.2.3 doc_values

__3.2.4 fielddata

__3.2.5 _source

__3.2.6 index

__3.2.7 enabled

3.3 애널라이저와 토크나이저

__3.3.1 analyze API

__3.3.2 캐릭터 필터

__3.3.3 토크나이저

__3.3.4 토큰 필터

__3.3.5 내장 애널라이저

__3.3.6 애널라이저를 매핑에 적용

__3.3.7 커스텀 애널라이저

__3.3.8 플러그인 설치를 통한 애널라이저 추가와 한국어 형태소 분석

__3.3.9 노멀라이저

3.4 템플릿

__3.4.1 인덱스 템플릿

__3.4.2 컴포넌트 템플릿

__3.4.3 레거시 템플릿

__3.4.4 동적 템플릿

__3.4.5 빌트인 인덱스 템플릿

3.5 라우팅

__3.5.1 인덱스 내에서의 _id 고유성 보장

__3.5.2 인덱스 매핑에서 라우팅을 필수로 지정하기

▣ 04장: 데이터 다루기

4.1 단건 문서 API

__4.1.1 색인 API

__4.1.2 조회 API

__4.1.3 업데이트 API

__4.1.4 삭제 API

4.2 복수 문서 API

__4.2.1 bulk API

__4.2.2 multi get API

__4.2.3 update by query

__4.2.4 delete by query

4.3 검색 API

__4.3.1 검색 대상 지정

__4.3.2 쿼리 DSL 검색과 쿼리 문자열 검색

__4.3.3 match_all 쿼리

__4.3.4 match 쿼리

__4.3.5 term 쿼리

__4.3.6 terms 쿼리

__4.3.7 range 쿼리

__4.3.8 prefix 쿼리

__4.3.9 exists 쿼리

__4.3.10 bool 쿼리

__4.3.11 constant_score 쿼리

__4.3.12 그 외 주요 매개변수

__4.3.13 검색 결과 정렬

__4.3.14 페이지네이션

4.4 집계

__4.4.1 집계 기본

__4.4.2 메트릭 집계

__4.4.3 버킷 집계

__4.4.4 파이프라인 집계

4.5 서비스 코드에서 엘라스틱서치 클라이언트 이용

__4.5.1 저수준 REST 클라이언트

__4.5.2 고수준 REST 클라이언트

__4.5.3 자바 클라이언트

▣ 05장: 서비스 환경에 클러스터 구성

5.1 운영 환경을 위한 설정과 클러스터 구성

__5.1.1 노드 설정과 노드 역할

__5.1.2 그 외 필요한 주요 설정

5.2 클러스터 구성 전략

__5.2.1 마스터 후보 노드와 데이터 노드를 분리

__5.2.2 마스터 후보 노드와 투표 구성원

__5.2.3 서버 자원이 많지 않은 경우

__5.2.4 서버 자원이 굉장히 많이 필요한 경우

__5.2.5 사양이 크게 차이나는 서버 자원을 활용해야 하는 경우

__5.2.6 조정 전용 노드

__5.2.7 한 서버에 여러 프로세스 띄우기

5.3 보안 기능 적용

__5.3.1 모든 보안 기능을 적용하지 않은 상태

__5.3.2 TLS 부트스트랩 체크

__5.3.3 클러스터 최초 기동 시 자동 보안 설정 이용

__5.3.4 키바나와 브라우저 사이에 TLS 적용

__5.3.5 수동으로 엘라스틱서치 노드 간의 통신에 TLS 적용

__5.3.6 수동으로 기본 인증 설정

__5.3.7 수동으로 REST API 호출에 TLS 적용

▣ 06장: 클러스터 운영

6.1 클러스터 설정 API

6.2 cat API를 통한 클러스터 관리와 모니터링

6.3 인덱스 운영 전략

__6.3.1 템플릿과 명시적 매핑 활용

__6.3.2 라우팅 활용

__6.3.3 시계열 인덱스 이름

__6.3.4 alias

__6.3.5 롤오버

__6.3.6 데이터 스트림

__6.3.7 reindex

__6.3.8 shrink로 샤드 개수 줄이기

__6.3.9 split으로 샤드 개수 늘이기

__6.3.10 다중 필드

__6.3.11 타입이 계속 변경되는 데이터

__6.3.12 루씬 텀 길이 제약

__6.3.13 대량 색인이 필요할 때

6.4 샤드 운영 전략

__6.4.1 샤드의 크기와 개수 조정

__6.4.2 모든 노드가 충분히 일을 하고 있는지

__6.4.3 미래에 데이터가 커질 것을 고려

__6.4.4 테스트 수행

6.5 롤링 리스타트

6.6 스냅샷과 복구

__6.6.1 스냅샷 저장소 등록과 설정

__6.6.2 스냅샷을 생성하고 조회하기

__6.6.3 스냅샷에서 인덱스 복구하기

__6.6.4 스냅샷 삭제하기

__6.6.5 스냅샷 생명 주기 관리

6.7 명시적으로 세그먼트 병합하기

6.8 샤드 할당 필터링과 데이터 티어 구조

__6.8.1 노드 속성과 샤드 할당 의식

__6.8.2 클러스터 단위 샤드 할당 필터링

__6.8.3 인덱스 단위 샤드 할당 필터링

__6.8.4 데이터 티어 구조

6.9 인덱스 생명 주기 관리

6.10 서킷 브레이커

6.11 슬로우 로그 설정

6.12 버전 업그레이드

__6.12.1 사전에 챙겨야 할 사항

__6.12.2 롤링 업그레이드

__6.12.3 풀 리스타트 업그레이드

__6.12.4 엘라스틱 스택 업그레이드

▣ 07장: 운영 도중 발생하는 장애 대응

7.1 장애 징후 탐지를 위한 사전 모니터링 등록

__7.1.1 메트릭비트로 지표 데이터를 수집하고 스택 모니터링으로 확인하기

__7.1.2 키바나의 얼럿 기능으로 알람 받기

__7.1.3 다른 대안으로 구성하기

7.2 장애 발생 시 대응

7.3 자주 발생하는 장애 유형

__7.3.1 키바나에서 과도한 요청 인입

__7.3.2 GC로 인한 stop-the-world 상황

__7.3.3 디스크 풀 상황

__7.3.4 미할당 샤드가 남았는데 샤드 할당이 더 이상 진행되지 않는 상황

__7.3.5 댕글링 인덱스

__7.3.6 장애 복구 작업 도중 새 인덱스가 생성될 때

__7.3.7 날짜가 넘어가는 순간에 대량으로 새 인덱스가 생성되며 부하가 몰려 죽는

상황

__7.3.8 특정 노드의 성능이 떨어지는 상황

7.4 샤드 복구 전략

__7.4.1 샤드 복구 기본

__7.4.2 샤드 복구 진행 상황 확인

__7.4.3 샤드 복구 속도 조정

__7.4.4 샤드 복구 우선순위 조정

7.5 원활한 장애 복구를 위한 서비스 구조 설계

__7.5.1 앞쪽에 메시지 큐를 둔다

__7.5.2 멱등하게 설계한다

__7.5.3 용도나 중요도별로 클러스터를 분리해야 한다

▣ 08장: 엘라스틱서치의 내부 동작 상세

8.1 엘라스틱서치의 데이터 분산 처리 과정

__8.1.1 쓰기 작업 시 엘라스틱서치 동작과 동시성 제어

__8.1.2 읽기 작업 시 엘라스틱서치 동작

__8.1.2 체크포인트와 샤드 복구 과정

8.2 엘라스틱서치의 검색 동작 상세

__8.2.1 엘라스틱서치 검색 동작 흐름

__8.2.2 루씬 쿼리의 매칭과 스코어링 과정

__8.2.3 캐시 동작

▣ 09장: 커스텀 플러그인을 이용한 엘라스틱서치 커스터마이징과 실전 운영

9.1 커스텀 플러그인이 필요한 이유

9.2 플러그인 기본

__9.2.1 플러그인 기본 관리

__9.2.2 플러그인 기본 구조

__9.2.3 플러그인 개발 시 유의할 사항

9.3 Hello World 플러그인 제작

__9.3.1 플러그인 프로젝트 생성과 기본 구조 잡기

__9.3.2 Plugin과 ActionPlugin

9.4 엘라스틱서치와 플러그인의 테스트 코드 작성

__9.4.1 테스트 코드 작성을 위한 기본 설정

__9.4.2 엘라스틱서치 테스트 프레임워크로 테스트 코드 작성

__9.4.3 REST 레이어 테스트

9.5 ActionFilter로 위험한 액션 차단 및 변조하기

__9.5.1 ActionFilter를 사용하는 플러그인 구현

__9.5.2 엘라스틱서치 기동 과정과 ActionFilter의 동작 상세

__9.5.3 createComponents로 플러그인 구성요소 등록

__9.5.4 LifecycleComponent로 생명 주기를 가진 구성요소 관리

9.6 특정 조건을 만족할 때를 감지하여 알람 보내기

__9.6.1 persistent 타입의 task 동작

__9.6.2 PersistentTaskPlugin 구현

__9.6.3 플러그인에 권한 부여하기

9.7 인덱스 내 일부 데이터만 덤프하기

__9.7.1 덤프 플러그인 작성

__9.7.2 플러그인에 권한을 강제로 부여하기

__9.7.3 HDFS에 덤프

9.8 데이터 변경분을 카프카로 발급하기

__9.8.1 IndexingOperationListener로 문서 작업 추적

__9.8.2 카프카로 메시지 발급

Leave a Comment