만들면서 배우는 DBMS 동작원리
대여 | 권당 14일 | 10%4,500원 |
---|---|---|
소장 | 전자책 정가 | 8,000원 |
판매가 | 10%7,200원 |
- 출간 정보
- 2024.03.29. 전자책 출간
- 파일 정보
- 3.2MB
- 73쪽
- ISBN
- 9791197882661
- ECN
- -
리디 접속이 원활하지 않습니다.
강제 새로 고침(Ctrl + F5)이나 브라우저 캐시 삭제를 진행해주세요.
계속해서 문제가 발생한다면 리디 접속 테스트를 통해 원인을 파악하고 대응 방법을 안내드리겠습니다.
테스트 페이지로 이동하기
대여 | 권당 14일 | 10%4,500원 |
---|---|---|
소장 | 전자책 정가 | 8,000원 |
판매가 | 10%7,200원 |
<만들면서 배우는 DBMS 동작원리> 웹 어플리케이션에 있어 절대로 빼놓을 수 없는 DBMS 는, 중요한 시스템임에도 불구하고 그 시스템의 구성이 복잡한 탓에 DBMS 가 제공하는 기능을 모두 구사하기 어려운 시스템입니다. 게다가, 실용적인 DBMS 의 코드량은 많기도 많지만 그 내용이 학습을 목적으로 공부하기에는 적합하지도 않습니다.
따라서, 본서에서는 이미 공개되어 있는 거대한 오픈소스 즉, 예를 들어 PostgreSQL 과 같은 DBMS 의 소스 코드를 분석하기 보다, 최소한의 기능만 구현된 DBMS 를 직접 만들어 보면서, 그 내부 구조에 대해 이해도를 높이고 DBMS 를 더욱 더 활용할 수 있도록 하고자 합니다.
1. 들어가기 앞서.................................................................... 8
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
0.0 점
0명이 평가함
내가 남긴 별점 0.0
별로예요
그저 그래요
보통이에요
좋아요
최고예요
'구매자' 표시는 리디에서 유료도서 결제 후 다운로드 하시거나 리디셀렉트 도서를 다운로드하신 경우에만 표시됩니다.
성인 인증 안내
성인 재인증 안내
청소년보호법에 따라 성인 인증은 1년간
유효하며, 기간이 만료되어 재인증이 필요합니다.
성인 인증 후에 이용해 주세요.
해당 작품은 성인 인증 후 보실 수 있습니다.
성인 인증 후에 이용해 주세요.
청소년보호법에 따라 성인 인증은 1년간
유효하며, 기간이 만료되어 재인증이 필요합니다.
성인 인증 후에 이용해 주세요.
해당 작품은 성인 인증 후 선물하실 수 있습니다.
성인 인증 후에 이용해 주세요.
본문 끝 최상단으로 돌아가기
무료이용권을 사용하시겠습니까?
사용 가능 : 장
<>부터 총 화
무료이용권으로 대여합니다.
무료이용권으로
총 화 대여 완료했습니다.
남은 작품 : 총 화 (원)
만들면서 배우는 DBMS 동작원리
작품 제목
대여 기간 : 일
작품 제목
결제 금액 : 원
결제 가능한 리디캐시, 포인트가 없습니다.
리디캐시를 충전하시면 자동으로 결제됩니다.
최대 5% 리디포인트 적립 혜택도 놓치지 마세요!
이미 구매한 작품입니다.
작품 제목
원하는 결제 방법을 선택해주세요.
작품 제목
대여 기간이 만료되었습니다.
다음화를 보시겠습니까?