도서상세
장바구니에 상품을 담았습니다.
바로가기
  1. 도서정가제
  2. 소득공제
일시재고부족
38,000원
34,200원
10%
최대 적립 포인트
2,200 원
  • 구매 적립
    적립금 안내
    • 상품 적립금
    • 상품 적립금은 고객님이 웬디북에서 상품을 구매하실 경우 이에 대한 마일리지 개념으로 구매금액의 일부를 적립해 드리는 제도이며 사용은 예치금과 같이 현금처럼 사용가능하십니다.
    • 멤버십 적립금
    • 멤버십 적립금은 고객님의 멤버십(고객)등급에 따라 도서 구매액의 1 ~ 4%에 해당하는 적립금이 추가로 적립되며 적립금은 다음 주문시 현금처럼 사용이 가능합니다.
    • 다만 적립금은 예치금과는 달리, 현금으로 환불하실 수 없고 적립금의 적립일로 부터 12개월 이내에 사용하시지 않으면 자동으로 소멸됩니다.
  • 상품 적립금
    1,900원
  • 리뷰 적립
  • 최대 리뷰 적립금
    300원
34,200원
· 쿠폰 및 적립금은 결제 시 적용해 주세요
바로구매
장바구니 담기
일시재고부족
이 책을 구입하신 분들이 산 책
상세 이미지 더보기
상세 이미지
목차 더보기
목차
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 튜닝
저자 소개
저자 : 조시형
現) 주식회사 디비안 대표이사 /
前) 이랜드, 인슈넷, 디엠에스랩, 엔코아, 비투엔 /
前) 국가공인 SQLP, DAP 자격검정 전문위원 /
친절한 SQL 튜닝, 오라클 성능 고도화 원리와 해법 1, 2 저자

대용량 데이터 처리가 필수인 eCRM 솔루션 개발 업무를 담당하면서 DB 전문가의 길로 들어서게 되었다. 2010년에 한국데이터진흥원과 한국DB산업협의회가 공동 주관하는 제1회 우수DB人상을 수상하였고, 2016년 1월에 주식회사 디비안을 설립하였다. 25년 넘게 컨설팅을 수행하면서 터득한 성능관리 방법론을 솔루션화하는 일에 관심이 많고, DB 전문서적을 꾸준히 집필하면서 교육과 후배 양성에도 더 매진하려고 노력한다. 요즘은 인터넷 카페 디비안 포럼(www.dbian.net)을 통한 지식공유 활동에도 열심이다.
저자 소개 더보기
출판사 서평 더보기
출판사 서평
“서버에 귀신이 산다”는 말을 들어본 적이 있는가?

IT 현장에서 널리 쓰이는 이 표현은 논리적으로 설명하기 어려운 이상한 현상이 간헐적으로 발생할 때 개발자들이 내뱉는 자조 섞인 탄식이다. DB 서버도 예외는 아니다. 분명히 SQL은 올바르게 작성했는데, 가끔씩 조회 결과가 일관되지 않거나 정합성이 깨진 트랜잭션 결과를 마주한 개발자는 “귀신의 소행”을 의심하게 된다.
하지만 DB 서버에는 귀신이 살지 않는다. 대신 우리가 모르는 복잡한 메커니즘이 조용히 작동하고 있을 뿐이다.

특히 다중 트랜잭션 환경에서 발생하는 대부분의 기이한 현상은 개발자가 현재 사용 중인 DBMS의 Lock 메커니즘을 정확히 이해하지 못한 데서 기인한다. Oracle, SQL Server, MySQL, PostgreSQL 등 각각의 DBMS는 저마다 다른 방식으로 동시성을 제어한다. 그런데도 대부분 개발자들은 이들이 모두 동일하게 동작한다고 가정하며 코드를 작성한다. 이런 잘못된 가정이 문제의 시작이다.

동시성 제어에 대한 이해가 부족한 상태에서 개발된 프로그램들은 다양한 문제를 야기한다. 데이터 정합성이 깨지고, 예측할 수 없는 교착상태가 발생하며, 성능이 급격히 저하되기도 한다. 무엇보다, 문제가 발생해도 재현이 어려워 원인 파악조차 쉽지 않다.

Lock에 대한 깊이 있는 이해는 DB를 다루는 모든 개발자에게 필수적이다. 각 DBMS의 특성을 정확히 파악하고, 그에 맞는 트랜잭션 동시성 제어 전략을 수립하는 것은 개발자가 갖추어야 할 핵심 역량이다. 하지만 안타깝게도 이를 체계적으로 다룬 교육 과정이나 실무 중심의 서적은 찾아보기 어렵다. Lock의 내부 동작 원리를 비교 분석한 책들은 있지만, 실제 애플리케이션 개발 관점에서 동시성 제어 기법을 깊이 있게 다룬 자료는 극히 드물다. 이러한 현실에 대한 문제의식이 이 책의 출발점이 되었다.

“모든 상황에서 완벽하게 일관성을 보장하는 DBMS는 존재하지 않는다.”

목표는 명확했다. “동일한 트랜잭션이라도 DBMS별 동시성 제어 메커니즘의 차이로 인해 어떻게 서로 다른 결과가 나타나는지를 실무 개발자들에게 알리고, 다중 사용자 환경에서 발생할 수 있는 각종 이상 현상들을 효과적으로 제어하는 방법들을 제시하는 것.”

이 책에서 독자들은 Oracle, SQL Server, MySQL, PostgreSQL의 Lock 엔진이 어떻게 설계되었는지, 각각의 장단점이 무엇인지, 그리고 이러한 차이점들이 실제 애플리케이션에 어떤 영향을 미치는지를 깊이 있게 이해할 수 있을 것이다.

이제 서버에서 “귀신”을 쫓아낼 시간이다. 함께 떠나보자.

책에 대해 궁금한 사항은 저자가 직접 운영하는 아래 인터넷카페로 문의하기 바란다.
디비안 포럼 dbian.net, sqlp.co.kr
리뷰(0)
0 / 5.0
리뷰 작성
•
리뷰를 작성하시면 소정의 적립금을 드립니다.
•
도서의 첫번째 리뷰부터 10번째 리뷰까지는 기본 적립금의 2배를 적립해 드리며, 이후 리뷰부터는 기본 적립금이 적립됩니다.
리뷰 혜택 및 유의사항
배송방법

배송은 CJ대한통운(전화 : 1588-1255)을 이용해서 보내드리고 있습니다.

3만원 이상 구매시 무료배송 가능하며, 3만원 미만의 경우 2500원의 배송비가 발생합니다.

배송기간

15시 이전에 입금확인된 주문까지는 당일날 발송하며, 일반적인 경우 다음날 책을 받아보실 수 있습니다.

주말 또는 공휴일이 있거나 시기적으로 배송이 많은 기간인 경우는 지역에 따라 1~2일이 더 소요될 수 있습니다.

주문 후, 5일이 경과해도 책이 도착하지 않는 경우에는 웬디북 고객센터(전화 : 1800-9785)로 전화를 주시거나 고객센터 > 1:1 문의를 통해 문의글을 남겨주시면 확인 후 신속히 조치하도록 하겠습니다.

묶음배송

묶음배송 원하시는 모든 주문서의 상태가 "입금대기" 또는 "결제완료" 상태일 경우에만 처리가 가능하며, 고객센터 > 1:1 문의에서 신청 할 수 있습니다.

반품안내

변심반품의 경우 도서주문일로부터 15일이내에 반품접수가 가능하며, 반품 배송비는 고객님 부담입니다.

부분 반품의 경우, 3만원 이상 주문으로 무료배송 받았으나 일부 상품 반품으로 주문금액이 3만원이 안될 경우, 이전 주문의 배송비를 포함한 왕복 배송비를 부담하셔야 합니다.

반품절차는 고객센터의 반품교환신청 페이지에서 신청을 해주시면 웬디북 고객센터에서 지정택배사에 회수요청을 하고, 방문한 택배기사님을 통해 반품도서를 보내주시면 됩니다.

운송 중 책이 손상되지 않도록 포장을 해주신 후, 포장 겉면에 “반품도서”라고 기재해주시기 바랍니다. 회수된 상품은 요청해주신 환불방법에 따라 적립 또는 환불 진행해드립니다.

(특히 팝업북 등은 조그만 충격에도 책이 손상될 수 있으므로 주의해 주시기 바랍니다.)

• 반품이 불가한 경우
  • 1. 고객에게 책임 있는 사유로 상품(띠지 또는 더스트커버 포함)이 멸실 또는 훼손된 경우
  • 2. CD 나 소프트웨어 포함, 포장이 되어 있는 모든 상품의 포장 개봉
  • 3. 만화책 및 단시간 내에 완독이 가능한 잡지
  • 4. 상품과 함께 발송된 추가사은품이 분실되거나 훼손된 경우
  • 5. 고객의 사용 또는 일부 소비에 의하여 상품의 가치가 현저히 감소한 경우
  • 6. 명시된 반품가능 기한이 지난 경우
  • 7. 세트상품중 일부 반품
교환안내

파본도서 혹은 오배송으로인한 교환은 도서주문일로부터 15일 이내에 신청하셔야 하며 이 경우 배송비는 웬디북에서 부담합니다.

(단, 팝업북과 CD가 세트인 책은 책의 특성상 7일 이내에 해주셔야 합니다.)

교환절차는 고객센터의 반품교환신청 페이지에서 신청을 해주시면 웬디북에서 새 책을 보내드리고 새 책을 받으실 때 교환도서와 맞교환 하시면 됩니다.

교환은 동일도서에 한하며, 다른 도서로 교환은 불가합니다.

운송도중 책이 손상되지 않도록 포장을 해주신 후, 포장 겉면에 “반품도서”라고 기재해주시기 바랍니다.

(특히 팝업북 등은 조그만 충격에도 책이 손상될 수 있으므로 주의해 주시기 바랍니다.)

• 교환이 불가한 경우
  • 1. 고객에게 책임 있는 사유로 상품이 멸실 또는 훼손된 경우
  • 2. 포장 상품의 포장을 해체한 경우
  • 3. 고객의 사용 또는 일부 소비에 의하여 상품의 가치가 현저히 감소한 경우
  • 4. 물품 수령 후, 15일이 경과한 경우
  • 5. 동일상품으로 교환하신 후, 다시 교환하시고자 할 경우 (이 경우에는 환불처리 해드립니다.)
신고하기
신고사유 선택
도서 입고 알림 신청
입고알림 신청하셨습니다.
입고시 {{tel}}로 문자 발송됩니다

바로 확인 하시겠습니까?
예

휴대폰 번호, 이메일 주소는

마이 페이지 > 회원정보수정에서 확인해 주세요.

관심 시리즈 신간 알림 신청
시리즈명:{{ series_name }}
관심 시리즈 신간 입고 알림 신청하셨습니다.
입고시 {{ tel }}로 문자 발송 또는
앱푸시, 이메일 등으로 알려드리겠습니다.

바로 확인 하시겠습니까?
예

휴대폰 번호, 이메일 주소는

마이 페이지 > 회원정보수정에서 확인해 주세요.

입고 알림 수신 방법 변경은

마이 페이지 > 알림 > 알림 설정에서 확인해 주세요.

푸시 알림이 오지 않을 시,

스마트폰 설정 > 알림 > 웬디북 앱 설정을 확인해 주세요

관심 작가 신간 알림 신청
작가명:{{ series_name }}
관심 작가 신간 입고 알림 신청하셨습니다.
입고시 {{ tel }}로 문자 발송 또는
앱푸시, 이메일 등으로 알려드리겠습니다.

바로 확인 하시겠습니까?
예

휴대폰 번호, 이메일 주소는

마이 페이지 > 회원정보수정에서 확인해 주세요.

입고 알림 수신 방법 변경은

마이 페이지 > 알림 > 알림 설정에서 확인해 주세요.

푸시 알림이 오지 않을 시,

스마트폰 설정 > 알림 > 웬디북 앱 설정을 확인해 주세요

{{title}}
{{content}}
{{title}}
{{content}}