프린트 하기

 

서적 명 : DB 트랜잭션 동시성 제어 - 주요 DBMS Lock 메커니즘 완전 비교 분석

 

책소개

PostgreSQL과 MySQL 같은 오픈소스 DBMS의 시장 점유율이 빠르게 확산되면서, 개발자들은 이제 이기종 DBMS 환경을 당연하게 마주하게 되었다. 문제는 동일한 SQL과 트랜잭션 패턴이라도 DBMS마다 전혀 다른 결과가 나타날 수 있다는 사실을 많은 개발자가 충분히 인지하지 못한다는 점이다. 자신이 작성한 프로그램이 어떤 격리 수준에서 어떤 결과를 낳을지조차 모른 채 DB 프로그래밍을 수행한다는 것은 어불성설이며, 상황에 따라 시스템에 심각한 문제를 초래할 수 있다.

각 DBMS는 벤더가 굳이 알리고 싶어 하지 않는 고유의 취약점과 구현적 한계를 갖고 있으며, 이는 공식 문서만으로는 파악하기 어렵다. 이 책은 바로 이러한 숨겨진 특성들을 명확히 드러내고자 한다. Lock 메커니즘과 동시성 제어 방식의 장단점을 투명하게 비교함으로써, 개발자들이 다중 사용자 환경에서 발생하는 트랜잭션 이상 현상을 정확히 인지하고 효과적으로 제어할 수 있도록 돕는다. 궁극적으로 이 책을 통해 개발자들은 어떤 환경에서도 견고하고 신뢰할 수 있는 DB 프로그램을 설계할 수 있을 것이다.

목차

1장 트랜잭션과 데이터 품질
1.1 데이터 품질저하 원인
1.2 동시성 제어의 중요성 증가
1.3 데이터베이스 제약의 한계
1.4 파일 시스템과 DBMS
1.5 상충 관계
1.6 트랜잭션의 특징
1.7 일관성/격리성에 대한 개발자의 역할
1.8 동시성 제어
1.9 요약

2장 문장 수준 읽기 일관성
2.1 동시 트랜잭션에 의해 나타날 수 있는 이상 현상
2.2 커밋되지 않은 데이터 읽기를 허용할 때 발생하는 현상
2.3 Dirty Read의 전통적인 해법
2.4 완벽한 읽기 일관성 확보 방안
2.5 트랜잭션 격리 수준
2.6 Lock 기반 동시성 제어
2.7 다중 버전 동시성 제어
2.8 완벽하지 않은 격리 수준, Read Committed
2.9 Repeatable Read 및 Serializable 격리 수준
2.10 Predicate Lock
2.11 MVCC 모델에서 읽기 일관성이 보장되지 않는 사례
2.12 요약

3장 문장 수준 쓰기 일관성
3.1 문장 수준 쓰기 일관성
3.2 읽기 모드에 따른 갱신 연산 차이
3.3 Consistent 모드로 갱신할 때 생기는 현상
3.4 Current 모드로 갱신할 때 생기는 현상
3.5 Consistent 모드로 읽고, Current 모드로 갱신할 때 생기는 현상
3.6 Consistent 모드로 대상을 식별하고, Current 모드로 확인 후 갱신
3.7 Oracle 재시작 메커니즘
3.8 Oracle이 재시작 메커니즘을 사용하는 이유
3.9 Oracle은 왜 Update 조건절 값이 변경됐을 때만 재시작할까?
3.10 Full Scan Update
3.11 Repeatable Read 및 Serializable 격리 수준
3.12 MVCC 모델에서 일관성 없게 갱신하는 사례
3.13 요약

4장 트랜잭션 수준 일관성
4.1 트랜잭션 이상 현상
4.1.1 Non-Repeatable Read
4.1.2 Phantom Read
4.2 트랜잭션 격리 수준
4.3 Repeatable Read 격리성
4.3.1 조회만 하는 경우
4.3.2 조회한 값을 변경하는 경우
4.3.3 Repeatable Read 격리성 요약
4.4 Serializable 격리성
4.4.1 조회만 하는 경우
4.4.2 조회한 값을 변경하는 경우
4.4.3 Serializable 격리성 요약
4.5 직렬화 이상
4.5.1 쓰기 왜곡
4.5.2 PostgreSQL 직렬화 가능 스냅샷 격리
4.5.3 Select For Update를 활용한 쓰기 왜곡 방지
4.5.4 강한 직렬화
4.5.5 강한 직렬화 방안
4.6 요약

5장 트랜잭션 동시성 제어
5.1 비관적 동시성 제어
5.2 낙관적 동시성 제어
5.3 데이터 누수 방지
5.4 스냅샷 또는 중간 집계 데이터 활용
5.5 페이지네이션
5.6 선분이력 정합성 유지
5.7 자원 요청 순서 정렬
5.8 대기 없이 큐 데이터 인출
5.9 채번 동시성 높이기
5.10 자율 트랜잭션 활용
5.11 외래 키 제약 구현
5.12 프로그램 병행 실행 제어
5.13 데이터베이스 설계 변경
5.14 One SQL 구현 및 SQL 튜닝

 

* 출처 : 예스24 <https://www.yes24.com/product/goods/171567191>

'ORACLE > Book' 카테고리의 다른 글

오라클 튜닝 에센셜  (2) 2023.12.14
Optimizing Oracle Optimizer  (0) 2022.03.28
The Logical Optimizer  (2) 2022.03.19
국가공인 SQLP 자격검정 핵심노트 2  (0) 2021.09.02
국가공인 SQLP 자격검정 핵심노트 1  (0) 2021.09.02