영풍문고 - 서점다운 서점


미리보기
오라클 튜닝 에센셜
저자 : 박찬권 출판사 : 글봄크리에이티브

2020.01.02 ㅣ 236p ㅣ ISBN-13 : 9791196707125

정가 25,000
판매가 22,500(10% 할인)
적립금 1,250원 (5%)
배송일정 내일 출고 예정 ( 주말, 공휴일 제외 )  
주문 수량 변경시 안내 배송안내
쿠폰 및 결제혜택 확인하기

결제혜택

닫기
이벤트/쿠폰
· 최대 4,000원! 신비한 쿠키 도서교환권!
결제사 혜택
최대 4,500원 할인
최대 6%적립
무이자혜택
카드사 혜택

크기 기타 규격
제품구성 단행본
이용약관 청약철회
국내도서 > 컴퓨터 > 시스템공학 > ORACLE/SQL...
DB 튜닝의 이해를 넘어 체화를 위한 공격적인 시도

DB 튜닝을 이해하여 좋은 SQL을 짜고 싶은 개발자들을 위한 책이다. DB 튜닝 입문자를 위해 꼭 필요한 내용 위주로 간추려 그림으로 설명함으로써 공부 부담을 줄였다.

튜닝은 DBMS의 아키텍처 이해 등 방대한 학습이 필요한 영역이다. 하지만 대부분의 개발 프로젝트 현장에는 전담 DB 튜너가 없다. 이에 따라 개발자들이 경험을 토대로 튜닝을 한다. 이 책은 경험 단계를 뛰어넘어 튜닝을 제대로 이해하고 싶은 개발자를 위해 기획됐다.

이 책은 튜닝이라는 허들을 넘기 어려운 이유 세 가지를 염두에 두고 해결책 중심으로 구성됐다.

DB 튜닝 공부의 어려움 3가지와 해결책

① 알아야 할 내용이 많다 ▶ 필수 내용만 간추려 그림과 함께 설명
② 느린 SQL 문을 접하기 어렵다 ▶ 풍부한 실행계획 예제 제시
③ 실습 데이터 확보의 어려움 ▶ 5000만 건 이상의 실습용 데이터와 모델 제공

튜닝 경험이 없다면 시스템 속도를 저하시키는 ‘문제의 SQL문’을 접하더라도 실감하기가 쉽지 않다. 이런 독자를 위해 『오라클 튜닝 에센셜』은 직접 확인해볼 수 있도록 5000만 건 이상의 주문 테이블과 주문상품 테이블 데이터, 관련 데이터 모델을 제공한다. 책에 제시된 SQL문을 직접 적용•확인해 보고, 나만의 방법으로 고쳐보면서 공부할 수 있다.


“이 책은 SQL 튜닝에 대해 막연한 두려움을 가진 사람이나 도전했다가 실패했던 사람에게 할 수 있다는 희망의 불씨가 될 것입니다.”
― 서윤식 데이터와사람들 대표

“굉장히 공격적인 책입니다. 이 책은 제가 그동안 읽었던 튜닝 책들 가운데 가장 강력한 주인공이 될 것입니다. 언젠가는 나올 거라 기대했던 내용의 책을 만난 놀라움과 반가움이 교차했습니다.”
― 양용성 SQLGATE개발팀장•체커 개발이사

펼쳐보기

[목 차]

들어가는 글
이 책의 활용법

1장 실습 환경_
1.1. 생성 스크립트
1.2. 실습 데이터 모델
1.3. DBMS_XPLAN.DISPLAY_CURSOR

2장 오라클 아키텍처_
2.1. 근력 운동과 오라클 아키텍처가 닮은 점
2.2. 개요
2.3. 시작하기
2.4. 리두 로그 버퍼와 LGWR
2.5. DB 버퍼 캐시와 DBWR
2.6. Shared pool과 SQL 실행과정
2.6.1. 구문분석
2.6.2. 값 치환
2.6.3. 실행
2.6.4. 데이터 인출
2.7. SELECT 문장의 논리적 실행 순서
2.8. 데이터 저장 구조
2.8.1. 테이블스페이스
2.8.2. 세그먼트
2.8.3. 익스텐트
2.8.4. 블록
2.8.5. 정리

3장. I/O 효율화_
3.1. 인덱스 탐색 원리
3.2. 블록 단위 I/O
3.3. 시퀀스 액세스와 랜덤 액세스의 이해
3.4. 버퍼 피닝
3.5. 싱글 블록 I/O vs. 멀티 블록 I/O
3.6. I/O 효율화, 왜 중요한가?

4장 인덱스 기본 개념_
4.1. 인덱스의 특징
4.2. 오라클에서만 사용 가능한 ROWID
4.3. 인덱스 스캔 방식
4.3.1. Index Unique Scan
4.3.2. Index Range Scan
4.3.3. Index Full Scan
4.3.4. Index Skip Scan
4.3.5. 인덱스 스캔 유도 방법
4.3.6. Index Fast Full Scan
4.3.7. 기타 활용
4.4. 인덱스 스캔 동작 원리
4.4.1. 인덱스 컬럼 사용법
4.4.2. 묵시적 형변환

5장 인덱스 활용과 튜닝_
5.1. 인덱스로 테이블 액세스 최적화
5.1.1. 인덱스로 테이블 랜덤 액세스
5.1.2. 인덱스 손익 분기점
5.2. 인덱스 튜닝 사례
5.2.1. 인덱스 스캔에서 비효율 판단하기
5.2.2. 기존 인덱스에 컬럼 추가하기
5.2.3. PK 인덱스 확장하기
5.2.4. 인덱스에서만 처리하기
5.3. 인덱스 스캔 범위 계산
5.3.1. 조건절에 따른 인덱스 스캔 범위 파악
5.4. 인덱스 설계
5.4.1. 인덱스 설계 기준 및 전략

6장 조인_
6.1. NL 조인
6.2. 소트 머지 조인
6.3. 해시 조인
6.4. 조인 방식별 특성 비교
6.5. 조인 방식에 따라 달라지는 인덱스 설계
6.5.1. NL 조인
6.5.2. 소트 머지 조인
6.5.3. 해시 조인
6.6. Outer 조인
6.6.1. Outer NL 조인
6.6.2. Outer 소트 머지 조인
6.6.3. Outer 해시 조인
6.7. 스칼라 서브 쿼리로의 조인

7장 소트 튜닝_
7.1. 소트 연산의 종류
7.1.1. Order by(Sort Order by)
7.1.2. Group by(Sort Group by, Hash Group by)
7.1.3. Distinct, IN, UNION, MINUS, INTERSECT 등의 집합 연산자
7.1.4. Rank(), Dense_Rank(), Row_Number() 등 윈도우 함수(Window Sort)
7.1.5. Sort Aggregate 연산
7.2. 인덱스를 이용한 소트 대체
7.2.1. Sort Order by
7.2.2. Sort Group by
7.3. 불필요한 소트 제거
7.3.1. UNION, MINUS, INTERSECT 등 집합 연산자
7.3.2. IN절 안의 서브 쿼리
7.4. 피할 수 없는 소트! 소트 영역이라도 적게 사용하기
7.4.1. 소트 영역에 대한 이해
7.4.2. 첫 페이지를 빠르게 동작 시키는 페이징 기법

8장 파티셔닝_
8.1. 테이블 파티셔닝
8.1.1. Range 파티션
8.1.2. 리스트 파티션
8.1.3. 해시 파티션
8.1.4. 세 가지 파티션의 특징
8.1.5. 복합 파티셔닝
8.2. 인덱스 파티셔닝
8.3. 파티션 Pruning

9장 병렬처리_
9.1. 병렬도
9.2. 데이터 재분배
9.3. 인덱스 스캔 vs 테이블 풀 스캔 vs 병렬 수행
9.4. 병렬 해시 조인과 파티션 와이즈 조인
9.5. 병렬 NL 조인

나가는 글
감수의 글
추천의 글

펼쳐보기
더 이상 미룰 수 없다, 이제 버텨야 할 시간

DB 튜닝 전문서는 많다. 그럼에도 튜닝 공부를 하는 사람들은 알아야 할 내용이 너무 많고 어렵다고 한다. 막연히 어렵다는 생각과 중도에 포기할지 모른다는 두려움에 시작도 못하는 이들도 있다. SQL 튜닝에 대해 두려움을 가진 사람이나 도전했다가 포기했던 사람을 위한 책은 없을까?

『오라클 튜닝 에센셜』은 이 지점에 주목했다. 많은 것을 알려주기보다 독자가 끝까지 버틸 수 있는 현실적인 방법 중심으로 풀어나간다. 튜닝 학습자가 만나게 될 세 가지 장애물은 다음과 같다. △튜닝을 하기 위해 알아야 하는 내용이 많다. △느린 SQL문이 어떤 문제를 야기하는지 실감하기 어렵다. △충분한 양의 데이터를 확보하기 어렵다.

이 책이 제시하는 장애물 통과 방법은 직접적이고 공격적이다.

▲ 내용을 줄이고 그림으로 설명
튜닝을 이해하는 데 필수적인 내용만 명쾌하게 소개하고, 글만으로 설명하기에 어려운 부분은 그림으로 풀어냈다.

▲ 풍부한 실행계획 예제와 실습환경 제시
경험 많은 튜너는 SQL문에 제시된 수치만으로 성능 변화를 예측할 수 있다. 하지만 튜닝 입문자는 수치만으로 변화를 실감하기 어렵다. 대용량 테이블에서 인덱스 없이 SQL을 실행했을 때 얼마나 느린지, 인덱스를 만들어 적용했을 때 얼마나 빨라졌는지는 직접 테스트해 봐야 실감할 수 있다. 숫자로 느끼는 30초와 실제 실행한 후 기다리는 30초의 느낌을 비교해 보고, 독자 스스로 튜닝에 도전하도록 한다. 이를 위해 풍부한 실행계획 예제를 제시한다. SQL문이 생각보다 느리다면, 직접 진단하여 튜닝해 볼 수 있다. 원하는 속도로 끌어올렸다면, 기존 실행계획을 분석해 새로운 실행계획으로 바꾸는 연습까지도 할 수 있다.

▲ 5000만 건 이상의 데이터로 직접 확인
예제를 직접 확인해볼 수 있도록 1500만 건의 주문 테이블과 3500만 건 이상의 주문상품 테이블을 제공한다. 이 환경에서 제시된 SQL문뿐 아니라 독자만의 SQL문을 적용해보고 어떤 변화가 있는지 확인할 수 있다. 특히 책 전반에 걸쳐 패스트푸드 전문점의 주문과 관련된 하나의 데이터 모델로 설명하기 때문에 공부의 몰입도도 높일 수 있다.

SQL문 한두 개를 튜닝하기 위해 튜너를 찾는 경우는 매우 드물다. 이때는 개발자나 DBA가 튜닝 업무를 맡게 된다. 이 책은 튜너가 아닌 다른 직종에 있으면서 튜닝을 접해야 하는 담당에게 최고의 선택이 될 것이다.

펼쳐보기
박찬권
방송통신대에서 컴퓨터과학을 전공했으며 게임 개발자 출신이다. DB 튜닝, 데이터 마트 설계, 업무 모델링 등 수많은 프로젝트를 성공적으로 이끈 데이터 스페셜리스트다. 실무뿐 아니라 여러 대학 특강과 기업 특강을 통해 실력파 데이터 전문가로 인정받고 있다. 네이버 카페 ‘데이터와 사람들’에서 ‘칼찬요정’이라는 이름으로 튜닝 강의와 진로 상담을 하여 팬들로부터 사랑받고 있다.


펼쳐보기

독자서평 쓰기 로그인을 하시면 독자서평을 쓰실 수 있습니다.

독자서평 쓰기 로그인을 하시면 독자서평을 쓰실 수 있습니다.
도서평점
내용
등록하기
0/2000자

맨위로가기


영풍문고 로고

  • 회사명 : (주)영풍문고
  • 대표이사 : 최영일
  • 소재지 : 서울특별시 강남구 강남대로 542번지 (우)06110
  • 사업자 등록번호 : 773-86-01800 ㅣ 통신판매업 신고번호 : 2020-서울강남-01007 [ 사업자정보확인 ]
  • 개인정보관리 책임자 : 조순제 ㅣ E-mail : customer@ypbooks.co.kr ㅣ 대량주문 : 02-519-2860
COPYRIGHT © YOUNGPOONG BOOKSTORE INC. ALL RIGHTS RESERVED.
맨위로가기