데이터베이스 인터널스 알렉스 페트로프 pdf 다운로드를 무료로 제공합니다 데이터베이스에 데이터를 저장하는 방식과 분산 시스템의 일관성을 유지할 때 사용되는 개념과 알고리즘을 설명한다. 나아가 이들을 개선하기 위해 등장한 여러 새로운 알고리즘도 설명한다
관련 교재 pdf 모음
책 소개
데이터베이스 시스템 간의 가장 중요한 차이점은 데이터 저장 방법과 분산 처리 방법에 있다(다른 중요한 서브시스템이 있을 수 있지만 이 책에서는 다루지 않는다). 이 책은 스토리지(1부)와 분산(2부)을 담당하는 서브시스템 및 구성 요소에 관한 설명으로 이뤄져 있다. 1부에서는 노드 로컬 프로세스를 논의하고, 데이터베이스 시스템의 핵심 구성 요소이며 가장 중요한 스토리지 엔진을 설명한다. DBMS의 구조에 대한 설명으로 시작해 기본 저장 매체 및 레이아웃을 기반으로 데이터베이스 시스템을 분류하는 몇 가지 방법을 소개한다. 이어 스토리지 구조를 설명한다. 디스크 기반 자료 구조와 인메모리 자료 구조의 차이점을 알아보고 B-트리 알고리즘과 직렬화, 페이지 레이아웃, 디스크에서의 표현 방식 등의 B-트리를 효율적으로 디스크에 저장하는 데 필요한 개념을 설명한다. 나아가 B-트리에서 파생된 여러 다양한 변형 B-트리도 소개한다. 마지막으로 몇 가지 로그 구조 스토리지 변형을 설명하고 왜 파일 및 스토리지 시스템 구현에서 자주 사용되는지 알아본다. 2부에서는 여러 독립적인 노드를 데이터베이스 클러스터로 구성하는 방법을 설명한다. 장애 허용 분산 시스템을 구축하는 데 필요한 이론적 개념을 설명하고 분산 시스템이 단일 노드 애플리케이션과 어떻게 다르고 분산 환경에서 어떤 문제와 제약, 복잡성이 발생할 수 있는지 알아본다. 이어 분산 알고리즘을 설명한다. 장애 감지 시 이를 보고하고 장애가 발생한 노드는 시스템에서 제외시켜 성능과 안정성을 높일 수 있는 장애 감지 알고리즘을 설명한다. 뒷장에서 설명하는 대부분의 알고리즘은 리더 프로세스가 필요하기 때문에 리더 선출 알고리즘과 사용 사례에 대해서도 논의한다. 분산 시스템에서 가장 어려운 부분은 데이터의 일관성을 유지하는 것이기 때문에 데이터 이중화, 일관성 모델, 복제본 간의 불일치, 결과적 일관성 등의 개념도 설명한다. 결과적 일관성을 보장하는 시스템에서 데이터의 일관성을 유지하기 위해 사용하는 안티-엔트로피 알고리즘과 데이터 전파를 위해 사용하는 가십 프로토콜도 알아본다. 마지막으로 데이터베이스 트랜잭션의 맥락에서 논리적 일관성을 논의하고, 합의 알고리즘에 관한 설명으로 마무리한다.
데이터베이스 인터널스 알렉스 pdf
1부. 스토리지 엔진
1장. 소개 및 개요
__DBMS 구조
__인메모리 DBMS 대 디스크 기반 DBMS
__칼럼형 DBMS 대 로우형 DBMS
__데이터 파일과 인덱스 파일
__버퍼링과 불변성, 순서화
__요약
2장. B-트리 개요
__이진 탐색 트리
__디스크 기반 자료 구조
__디스크 기반 자료 구조
__유비쿼터스 B-트리
__요약
3장. 파일 포맷
__파일 포맷의 중요성
__바이너리 인코딩
__파일 포맷 설계 원칙
__페이지 구조
__슬롯 페이지
__셀 구조
__셀 병합으로 슬롯 페이지 구성
__가변 길이 데이터 관리
__버전 관리
__체크섬
__요약
4장. B-트리 구현
__페이지 헤더
__이진 검색
__분할과 병합
__탐색 경로
__리밸런싱
__오른쪽 추가 기법
__압축
__정리와 유지
__요약
5장. 트랜잭션 처리와 복구
__버퍼 관리
__복구
__동시성 제어
__요약
6장. B-트리의 변형
__쓰기 시 복사
__노드 업데이트 추상화
__지연형 B-트리
__FD-트리
__Bw-트리
__캐시 비인지형 B-트리
__요약
7장. 로그 구조 스토리지
__LSM 트리
__읽기, 쓰기, 메모리 공간 증폭
__세부 구현 설명
__비정렬 LSM 스토리지
__LSM 트리 동시성 제어
__로그 스태킹
__LLAMA와 투명한 스태킹
__요약
2부. 분산 시스템
8장. 분산 시스템 개요
__동시 수행
__분산 컴퓨팅의 오류
__클럭과 시간
__분산 시스템 추상화
__장애 모델
__요약
9장. 장애 감지
__하트비트와 핑
__파이 누적 장애 감지
__가십과 장애 감지
__장애 전파를 사용한 문제 해결
__요약
10장. 리더 선출
__불리 알고리즘
__다음 서열로 리더 역할 승계
__후보/일반 노드 최적화
__초대 알고리즘
__링 알고리즘
__요약
11장. 복제와 일관성
__고가용성
__ CAP 이론
__수확률과 산출률
__공유 메모리
__순서화
__일관성 모델
__세션 모델
__결과적 일관성
__조정 가능한 일관성
__증명 복제 노드
__강력한 결과적 일관성과 CRDTs
__요약
12장. 안티-엔트로피와 배포
__읽기 복구
__다이제스트 읽기
__힌트 핸드오프
__머클 트리
__비트맵 버전 벡터
__가십 전파
__요약
13장. 분산 트랜잭션
__원자적 연산처럼 수행하기
__2단계 커밋
__3단계 커밋
__칼빈의 분산 트랜잭션 처리
__스패너의 분산 트랜잭션 처리
__데이터베이스 파티셔닝
__퍼콜레이터의 분산 트랜잭션 처리
__코디네이션 생략
__요약
14장. 합의
__브로드캐스트
__원자적 브로드캐스트
__팍소스
__래프트
__비잔틴 합의
__요약
부록 A. 참고문헌