만들면서 배우는 DBMS 동작원리
2024년 03월 29일 출간
- eBook 상품 정보
- 파일 정보 PDF (3.02MB)
- ISBN 9791197882661
- 지원기기 교보eBook App, PC e서재, 리더기, 웹뷰어
-
교보eBook App
듣기(TTS) 불가능
TTS 란?텍스트를 음성으로 읽어주는 기술입니다.
- 전자책의 편집 상태에 따라 본문의 흐름과 다르게 텍스트를 읽을 수 있습니다.
- 이미지 형태로 제작된 전자책 (예 : ZIP 파일)은 TTS 기능을 지원하지 않습니다.
PDF 필기가능 (Android, iOS)
판매가 판매금지
이 상품은 배송되지 않는 디지털 상품이며,
교보eBook앱이나 웹뷰어에서 바로 이용가능합니다.
카드&결제 혜택
- 5만원 이상 구매 시 추가 2,000P
- 3만원 이상 구매 시, 등급별 2~4% 추가 최대 416P
- 리뷰 작성 시, e교환권 추가 최대 200원
작품소개
이 상품이 속한 분야
따라서, 본서에서는 이미 공개되어 있는 거대한 오픈소스 즉, 예를 들어 PostgreSQL 과 같은 DBMS 의 소스 코드를 분석하기 보다, 최소한의 기능만 구현된 DBMS 를 직접 만들어 보면서, 그 내부 구조에 대해 이해도를 높이고 DBMS 를 더욱 더 활용할 수 있도록 하고자 합니다.
2. DBMS 를 한번 만들어 봅시다............................................... 9
2.1. 일반 DBMS 의 전체상과 본서에서 구현할 부분 ......................... 9
2.1.1. DBMS 각 Layer 의 역할 ................................................10
2.2. PUTTY DB..........................................................................12
2.2.1. 샘플코드.......................................................................12
2.2.2. Putty DB 의 기능 ..........................................................12
2.2.3. Putty DB 의 구조 ..........................................................14
2.2.4. Putty DB 의 사용방법 ....................................................15
3. DISK MANAGER 만들기 ...................................................17
3.1. DISK MANAGER 의 역할 ........................................................17
3.1.1. Page 와 Heap 파일 ......................................................17
3.1.2. 새로운 Page 만들기 ......................................................19
3.1.3. Heap 파일에 Page 쓰기 ................................................19
3.1.4. Heap 파일로부터 Page 읽기..........................................19
3.2. DISK MANAGER 의 구현 ........................................................20
3.2.1. Rust 개발환경 구축 .......................................................20
3.2.2. Disk Manager 구조체 ...................................................20
3.2.3. Open Method..............................................................23
3.2.4. allocate_page Method .................................................24
3.2.5. write_page_data Method .............................................25
3.2.6. read_page_data 메소드 ................................................26
4. BUFFER MANAGER 만들기 ...............................................27
4.1. BUFFER MANAGER 의 역할.....................................................27
4.1.1. 디스크 io 반응속도 지연 극복하기...................................27
4.1.2. DBMS 특성에 맞춘 Cache 관리 .....................................27
4.2. BUFFER MANAGER 의 구조.....................................................28
4.2.1. Buffer Manager 의 전체이미지.......................................28
4.2.2. Buffer Pool 의 내부구조 ................................................29
4.2.3. Page Table 이란 ...........................................................29
4.3. BUFFER POOL MANAGER 만들기.............................................30
4.3.1. Buffer Pool 구조체 .......................................................30
4.3.2. Buffer Pool Manager 의 구조체 .....................................32
4.3.3. Buffer 삭제 알고리즘 .....................................................32
4.3.4. 페이지 할당처리 ............................................................34
5. B+TREE 관찰 ..................................................................37
5.1. B-TREE 란..........................................................................37
5.2. B+TREE 의 기능 ..................................................................37
5.2.1. Leap node 와 Internal node .........................................38
5.2.2. 검색 프로세스 ...............................................................39
5.2.3. 삽입 프로세스 ...............................................................40
5.3. DBMS 관점의 B+TREE 의 이점 ..............................................41
5.3.1. 페이지 단위의 read/write 에 궁합이 좋음 ........................41
5.3.2. 삽입/검색/삭제 시에도 밸런스가 좋고 빠름.......................42
5.3.3. 범위 검색 및 열거가 장점...............................................42
5.4. B+TREE 를 KEY-VALUE 스토어로 사용하기 ..............................42
5.4.1. 테스트 데이터의 작성.....................................................43
5.4.2. 키로 검색하기 ...............................................................43
5.4.3. 모든 key-value 의 페어를 열거하기 ................................45
5.4.4. 시작점을 지정해서 key-value 의 페어를 열거하기 .............46
6. 테이블 구현......................................................................48
6.1. 어떻게 테이블을 B+TREE 에 넣을 것인가? ...............................48
6.1.1. Clustered Index...........................................................48
6.1.2. Row 를 primary key 와 그 외의 것으로 나누기................48
6.1.3. 복합 키의 Sort 순서.......................................................49
6.1.4. 테이블의 기능 ...............................................................50
6.2. 테이블을 구현하기 ...............................................................50
6.2.1. CREATE TABLE 이 가능하게 하기 ..................................50
6.2.2. INSERT 가 가능하게 하기 ..............................................52
6.2.3. 동작확인.......................................................................53
6.3. 테이블을 검색하기 ...............................................................56
6.3.1. 행을 열거하기 ...............................................................56
6.3.2. Primary Key 로 검색하기 ..............................................58
6.3.3. Primary Key 이외의 것으로 검색하기 .............................61
6.4. QUERY EXECUTOR 만들기.....................................................63
6.4.1. Query Executor 와 실행계획 .........................................63
6.4.2. SeqScan 구현하기 ........................................................64
6.4.3. Filter 구현하기 .............................................................68
6.4.4. 실행계획을 세워서 Query 를 실행하기 .............................69
7. 맺음말.............................................................................72
인물정보
저자(글) 다니엘몽크
이 상품의 총서
Klover리뷰 (0)
- - e교환권은 적립일로부터 180일 동안 사용 가능합니다.
- - 리워드는 5,000원 이상 eBook, 오디오북, 동영상에 한해 다운로드 완료 후 리뷰 작성 시 익일 제공됩니다. (2024년 9월 30일부터 적용)
- - 리워드는 한 상품에 최초 1회만 제공됩니다.
- - sam 이용권 구매 상품 / 선물받은 eBook은 리워드 대상에서 제외됩니다.
- 도서나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 리뷰
- 도서와 무관한 내용의 리뷰
- 인신공격이나 욕설, 비속어, 혐오 발언이 개재된 리뷰
- 의성어나 의태어 등 내용의 의미가 없는 리뷰
구매 후 리뷰 작성 시, e교환권 100원 적립
문장수집
- 구매 후 90일 이내에 문장 수집 등록 시 e교환권 100원을 적립해 드립니다.
- e교환권은 적립일로부터 180일 동안 사용 가능합니다.
- 리워드는 5,000원 이상 eBook에 한해 다운로드 완료 후 문장수집 등록 시 제공됩니다. (2024년 9월 30일부터 적용)
- 리워드는 한 상품에 최초 1회만 제공됩니다.
- sam 이용권 구매 상품 / 선물받은 eBook / 오디오북·동영상 상품/주문취소/환불 시 리워드 대상에서 제외됩니다.
구매 후 문장수집 작성 시, e교환권 100원 적립
신규가입 혜택 지급이 완료 되었습니다.
바로 사용 가능한 교보e캐시 1,000원 (유효기간 7일)
지금 바로 교보eBook의 다양한 콘텐츠를 이용해 보세요!