Database 23
- CDC의 원리와 한계 - 로그 기반 변경 포착, 초기 스냅샷, 스키마 변경
- 커넥션과 세션 - 커넥션 풀이 실제로 아끼는 것
- 파티셔닝과 샤딩 - 기준 선택, 로컬과 글로벌 인덱스, 재분배 비용
- WAL과 체크포인트 - 커밋은 언제 디스크에 닿는가
- 락의 종류와 대기 - row, gap, next-key, intention과 데드락 탐지
- 실행 계획을 읽는 법 - 연산자, 비용 모델, 카디널리티 추정이 틀어지는 지점
- Postgres 커넥션 하나의 비용 - 풀을 키우면 대기가 사라지는 게 아니라 볼 수 없는 곳으로 옮겨간다
- B+Tree 인덱스의 내부 - 노드 분할, 클러스터드와 논클러스터드, 커버링이 아끼는 것
- 인덱스가 선택되지 않는 순간 - 컬럼에 캐스팅 하나가 3,000배, 그리고 추정이 31.7배 틀려도 계획이 안 바뀌는 경우
- 격리 수준의 이상 현상을 직접 만들기 - 같은 REPEATABLE READ에서 PostgreSQL은 중단시키고 MySQL은 조용히 덮어썼다
- 격리 수준과 이상 현상 - 표준이 정의한 것과 MySQL·PostgreSQL이 실제로 하는 것
- 실전 데이터베이스 입문 복습: SQL을 적는 순서와 해석하는 순서
- Redo Log와 Undo Log를 어떻게 구분해야 하는가
- 데이터베이스 리플리케이션 기본 정리
- 데이터베이스 트랜잭션을 어떻게 봐야 하는가
- ACID를 실무적으로 이해하기
- MVCC를 어떻게 이해해야 하는가
- Gap Lock
- 데이터베이스 페이징 성능을 어떻게 봐야 하는가
- 읽기 수리, 쓰기 수리, 비동기 수리 - 최종 일관성은 누가 언제 맞추는가
- 점 이력과 선분 이력 모델링
- 데이터베이스 인덱스를 어떻게 이해해야 하는가
- 배열을 데이터베이스에 저장할 때 무엇을 먼저 판단해야 하는가