실전 SQL Server MVP 61 (Volume 2)
: 그 두 번째 이야기
저자: MVP 커뮤니티
역자: 김종하, 성지용, 이준규, 한대성, 김정선
출간예정일: 2013년 1월 22일 (화)
정가: 42,000원
페이지: 885
판형: 190 x 245
ISBN: 978-89-94774-28-2
원서정보: SQL Server MVP Deep Dives, Volume 2
책 소개
61인의 MVP가 알려주는 또 다른 모든 것
MVP가 되기 위해서는 깊이 있는 지식과 기술이 있어야 한다. 이 책의 집필에 참여한 61명 MVP들의 SQL Server경력을 모두 합치면 1,000년이 넘는다. 이들은 SQL Server 관리나 개발, 교육, 설계 등 다양한 분야에서 활동하고 있다. 이 책은 이들의 전문성과 열정을 바탕으로 직접 집필한 60여 개의 장으로 구성되어 있다.
《실전 SQL Server MVP 61: 그 두 번째 이야기》는 이 책의 1판이나 다름 없는 《실전 SQL Server MVP 63: SQL 서버의 모든 것》에서 다루지 못한 주제들로 구성되어 있다. 테스팅 방법에서부터 정책 관리, 통합 서비스, 보고서, 성능 최적화 등, 다루고 있는 분야도 다양하다. 이 책은 크게 다섯 개의 주제, 즉 아키텍처 및 설계, 데이터베이스 관리, 데이터베이스 개발, 성능 튜닝과 최적화, 비즈니스 인텔리전스로 나누어져 있다.
책에서 다루는 내용
l PowerShell을 이용한 서버 조회 및 관리
l SSMS에서 정규식을 이용하기
l OLTP 환경에서 트랜잭션 로그 튜닝하기
l SSIS를 차원 데이터에 맞게 최적화하기
l 실시간 BI
l 기타
책의 내용은 각 분야의 최고 전문가들에 의해 작성되었다. 하지만 그렇다고 해서 아주 전문적이거나 또는 아주 초보적이지도 않으며, 모든 수준의 독자들을 대상으로 하고 있다. 61명의 SQL Server MVP들이 각 장을 맡아 집필했으며, Kalen Dalaney 외에 Louis Davidson(아키텍처 및 설계), Paul Randal과 Kimberly Tripp(데이터베이스 개발), Paul Nielsen(데이터베이스 관리), Brad McGehee(성능 튜닝과 최적화), Greg Low(비즈니스 인텔리전스)와 같은 여러 편집자들을 통해 편집되었다.
원서의 저자들은 인세 전액을 Operation Smile에 기부하고 있으며, 원서의 취지에 동참하기 위해서 역자 일부의 번역 인세와 도서 판매에 대한 출판사의 수익 일부는 아름다운 재단에 기부된다.
독자대상
초중급
도서자료 다운로드
http://www.manning-source.com/sqlmvp2
저자소개
마이크로소프트 MVP 커뮤니티
세계의 많은 SQL Server MVP들이 참여해서 그들의 다년간의 경험을 기반으로 작성된 SQL Server 운영과 개발 관련 글들이 모여 이 책이 만들어졌다. 이 책의 집필에 참여한 61명의 MVP들은 관심 있는 주제를 각자 선정해서 자신들의 실제적이고 통찰력 있는 노하우를 공유했다. 이 책에서 소개하는 모든 주제들은 SQL Server와 관련한 다양한 경험을 가진 모든 분들에게 도움이 될 것이라고 믿는다.
역자소개
김종하
마이크로소프트 MACH(Microsoft Academy Collage Hire)라는 신입 공채 프로그램으로 입사하여 3년간 SQL Server Support Engineer(2004~2007)로 근무했으며 2008년부터 Technical Account Manager로 근무하면서 삼성그룹사 지원을 담당하고 있다.
성지용
마이크로소프트 Premier Field Engineer로 근무하고 있다. 《실전 SQL Server MVP 53》(2011, 비제이퍼블릭) 외에 다수의 서적을 집필 및 번역했다. Taeyo.net의 공동 운영자이면서 mssql.org의 운영자로 활동하고 있다.
이준규
현재 마이크로소프트에서 Senior Premier Field Engineer로 근무하고 있으며, Microsoft Consulting Services에서 근무한 경험이 있다. 《MSF/CD 기반의 컴포넌트 설계 방법론》(2004, 정보문화사), 《엔터프라이즈 솔루션 아키텍처 디자인 패턴》(2003, 정보문화사) 등의 서적을 집필 또는 번역했다. Business Intelligence, Data Warehouse, Appliance에 관심이 많다.
한대성
마이크로소프트에서 SQL Server Field Engineer로 근무하고 있으며 SQL Server MVP(2006~2008)였다. Business Intelligence 쪽에 관심이 많으며 《SQL Server 2005 Integration Services 포켓북》을 집 필했고 본 책의 1판격인 《실전 SQL Server MVP 53》(2011, 비제이퍼블릭)을 번역했다.
김정선 (39장 저자)
SQL Server 전문 컨설팅 회사인 ㈜씨퀄로드(www.sqlroad.com)의 대표 컨설턴트로 DB 성능 진단 및 튜닝 영역을 전문으로 하고 있으며, 최근엔 직접 개발한 SQLBigEyes(왕눈이)라는 SQL Server 성능관리 솔루션을 시장에 선보여 좋은 평가를 받고 있다. 뉴호라이즌 교육센터(it.newhorizons.co.kr)에서 직접 개발한 <쿼리 튜닝> 과정과 <초중급 관리자를 위한 DB 튜닝> 과정을 진행하고 있으며, 2002년 아시아 최초 Microsoft MVP 중의 한 명으로 선정된 이후 2012년 다시 아시아 최초 10년 연속 MVP 중의 한 명이 되었다. TechNet 뉴스그룹, Twitter, Facebook 및 블로그(blog.naver.com/visualdb)를 통해 SQL Server 컨설팅 이야기와 기술 정보를 공유하고 있다.
목차
PART I. 아키텍처
01 나의 키들은 어디에 있는가?
관계형 모델에서의 키
논란
논쟁
그 밖의 고려 사항
권고 사항
단순화와 미학
02 SQL에서의 유일성
유일성이란
유일성 설정
Unique 제약 조건 또는 Unique 인덱스?
유일성의 결과
03 구조적 성장의 고통
데이터 타입 관리
명명 규칙
일관성 없는 설계
정규화
기본 키와 외래 키
인덱스
04 좋은 관계형 데이터베이스의 특징
일관성 있는
정규화된
근본적으로 올바른
문서화된
안전한
캡슐화된
잘 수행되는
05 스토리지 디자인 고려 사항
올바른 RAID 종류 선택하기
파일 배치
디스크 정렬
스냅샷
복제본
06 잘 디자인된 스키마를 위한 일반화
정규화를 해야 하는 경우
UIX 원칙에서 배운 점
일반화의 정의
일반화의 장점
PART II. 데이터베이스 관리
07 테스트를 통한 가용성 높이기
테스트 ― 단지 응용프로그램 기능을 위한 것만이 아니다
연결고리 차단
아는 것이 힘이다
빨리, 그리고 자주 테스트하라
자동 테스트 vs 수동 테스트
무엇을 테스트해야 하는가?
변경 작업에도 절차가 필요하다
전체 그림 또한 기억하라
08 페이지 복원
다양한 복원 방법
요구 사항과 제약 사항
페이지 복원 실행
SQL Server 다음 버전의 페이지 복원 관련 새로운 기능
09 용량 계획
용량 계획이란 무엇인가?
현재 데이터베이스 디스크 공간 사용량 정보 수집
성능 수치
10 파워쉘(PowerShell)과 SMO를 통한 서버 점검
파워쉘과 엑셀 사용
파워쉘에서 SMO 이용
SQL Server 인스턴스와 서버 정보 수집
SQL 에이전트 작업 정보 수집
데이터베이스 정보 수집
11 진짜 스미스씨는 일어서 주시겠습니까?
개인 정보 데이터
오늘날의 슈퍼히어로: DBA
12 나만의 SQL Server 2008 성능 대시보드 만들기
DMV를 이용한 성능 관련 정보 수집
SQLCLR을 이용한 성능 카운터 값 수집
성능 모니터링을 위한 예제 솔루션
성능 모니터링을 위한 Reporting Service 이용
개선을 위한 몇 가지 아이디어
13 SQL Server 비용 회수
SQL Server as a Service의 관점
SQL Server as a Service란 무엇인가?
과금 모델의 개요
과금 모델의 구축
14 정책 기반 관리를 통한 규정 준수 모범 사례
현 시점에서 데이터베이스 운영의 본질
모범 사례에 따른 규정 준수의 중요성
중앙 관리 서버
정책 기반 관리
중앙 관리 서버와 정책 기반 관리의 통합
15 SQL Server Management Studio 활용
여러 대의 서버에 대해 동시에 쿼리 실행
스크립트 템플릿 생성 및 사용
다수의 개체 및 데이터 스크립팅
16 DBA를 위한 최고의 도구들: 다중 서버 관리 및 유틸리티 탐색기
DBA를 위한 SQL Server 2008 R2 도구
다양한 도구들
유틸리티 제어 지점을 이용한 다중 서버 관리
다중 서버 관리와 운영
권고 사항
17 SQL Server 운영자 과정 수강자들의 10가지 오해
단순 복구 모델
기본 데이터 정렬
테이블 단위 백업
가용성을 위한 복제 사용
쿼리 성능
데이터베이스 축소
로그인 접근 감사
비상 로그 백업
데이터베이스 기본 속성
어려움
18 서비스 수준 계약을 기반으로 한 SQL Server 고가용성
고가용성의 정의
비가용성의 종류
비가용성의 지표
SQL Server 고가용성 옵션
서비스 수준 계약
측정 기준
서비스 수준 계약 내부 구조
서비스 수준 계약: 고가용성에 대한 항목
PART III. 데이터베이스 개발
19 T-SQL: 버려야 할 잘못된 습관
SELECT *
길이를 명시하지 않고 VARCHAR를 선언한 경우
적절한 데이터 형식을 선정하지 못한 경우
날짜 영역 쿼리를 잘못 처리한 경우
ORDER BY에 대한 가정
20 사용자 정의 함수(UDF)의 부작용 사례
부정확한 예측
행 단위 처리
어떻게 처리해야 하나?
코드 재사용성 측면
스칼라 UDF의 마지막 사례
21 SSMS에서 정규식 사용
공백 줄 제거
줄 바꿈 문자 제거
여러 개의 줄을 한 줄로 축약
줄 시작 메타문자 사용
줄 끝 메타문자 사용
22 SQL Server 2012: T-SQL의 새로운 기능
OFFSET과 FETCH
SEQUENCE
EXECUTE...WITH RESULT SETS
THROW
23 나만의 데이터 형식 만들기
CLR 사용자 정의 데이터 형식의 구조
데이터 형식 작성: 기본
24 정규식을 이용한 데이터 추출
코딩 작업 전에 이해해야 할 것
솔루션
숙제
25 관계형 분할
관계형 분할을 왜 사용하는가?
관계형 분할의 정의
배경
단순한 두 사례의 예제 데이터
비교 차트
실제 구현 방법
일반 관계형 분할에 대한 집합 솔루션
하나의 쿼리로 모든 관계형 분할을 처리할 수 있을까?
26 BLOB 데이터를 SQL FILESTREAM으로 저장할 것인가?
FILESTREAM을 사용할 것인가 말 것인가?
SQL Server FILESTREAM 구성
데이터베이스 구성
FILESTREAM을 사용하는 테이블 생성
추가 고려 사항
FILESTREAM을 어떻게 사용할 것인가?
27 Transact-SQL 단위 테스트 작성
단위 테스트의 기본 사항
단위 테스트 실행 자동화
28 서비스 브로커로 비동기 작업 구현
서비스 브로커 사용 템플릿
서비스 브로커 개체 생성
29 HierarchyId의 효율적인 사용
데이터베이스에서의 계층 구조
HierarchyId 데이터 형식의 개요
효율적인 인덱스 구성
HierarchyId에 대한 추가 정보
30 서비스 브로커를 이용한 응용프로그램 확장
확장 가능한 솔루션
서비스 브로커 개체
ETL 트리거 데모
PART IV. 성능 튜닝과 최적화
31 하드웨어 201: 데이터베이스 서버 하드웨어 선정 및 사이징
데이터베이스 서버 하드웨어가 왜 중요할까?
스케일 업과 스케일 아웃
SQL Server와 하드웨어 선정
데이터베이스 서버 전용 하드웨어의 구성요소
Intel 프로세서와 AMD 프로세서
메모리 권장 사항
전통적인 스토리지 하위시스템
스토리지 하위시스템의 새로운 진화
벤치마킹 및 사이징 도구
32 파라미터 스니핑의 진실
파라미터 스니핑의 이해
파라미터 스니핑이 문제가 되는 경우
파라미터 스니핑으로 인한 문제 해결 방법
33 실행 계획 캐시를 파헤쳐보자
실행 계획 캐시와 관련된 동적 관리 개체
누락된 인덱스 분석
인덱스 사용량 분석
연산자 분석
인덱스 스캔 분석
매개 변수 분석
실행 계획 캐시 분석 시 고려 사항
34 쿼리는 뭘 기다리고 있는가? 대기와 큐 개요
전체 응답 시간에 대한 개요
wait stats란 무엇인가?
실행 모델
wait statistics(대기 통계)의 확인 및 보고서 작성
대기 시간 계산: 신호 대기 vs 리소스 대기
성능 데이터 연계
35 집합과 루프
루프란 무엇인가?
루프 관점
쿼리 실행 계획에 있는 루프
복잡한 쿼리에서의 루프
사용자 정의 스칼라 함수에서 묵시적으로 수행되는 루프
여러 개의 루프를 하나로 통합
루프의 병렬화
루프에서 연결된 서버 호출
작은 테이블을 이용한 루프 전개
36 OLTP성 작업에 대한 트랜잭션 로그 성능 튜닝
트랜잭션 로그에 병목 현상이 왜 발생할까?
트랜잭션 로그의 병목 현상을 야기하는 요소
트랜잭션 로그가 병목 현상을 겪고 있는지 확인
트랜잭션 로그 I/O 경합 현상을 처리하기 위한 전략
37 복잡한 코드 분할 전략
읽을 수 있는 형태로 구성
세분화: 어떻게 할 것인가?
명확한 이슈 사항 해결
조인 최적화
유사 쿼리 및 유사 서브쿼리 처리
동적 SQL
38 PAL을 이용한 SQL Server 성능 분석
Performance Analysis of Logs(PAL)
PAL을 이용한 SQL Server 성능 분석
성능 카운터 데이터 수집
PAL을 이용한 분석
PAL 보고서
39 JDBC for SQL Server 튜닝
JDBC 성능 튜닝 사례
jTDS 구성 관련 튜닝 권장 사항
Unicode Character 이슈
API Cursor 이슈
ResultSet Type 이슈
Prepared Statement Mechanism 이슈
Global Configuration 조정 방법
PART V. 비즈니스 인텔리전스
40 정형화된 보고서 파트 라이브러리 만들기
보고서 파트 정의
보고서 파트 라이브러리 생성 결정
보고서 파트 선택
보고서 파트 라이브러리 사용
41 보고서 레이아웃의 시각적인 기능 향상
대상 기반 렌더링
페이지 번호 매기기에 대한 관리
데이터 집합 간 조인
집계에 대한 집계
쓰기 모드
도메인 범위
데이터 막대
스파크라인
42 SSRS에서 공유 가능한 관리 코드 식 개발
보고서 식 작성
공유 가능한 관리 코드 식 만들기
보고서에서 DLL 참조
43 보고서에서 MDX 쿼리 사용
MDX 쿼리 작성기
보고서 만들기
매개 변수 처리
44 확장 가능한 보고서 서비스 팜 만들기
네트워크 부하 분산이란 무엇인가?
네트워크 준비
네트워크 부하 분산 기능 추가
NLB 클러스터 생성
NLB 클러스터에 호스트 추가
NLB 클러스터에 Reporting Services 설치
첫 번째 보고서 서비스 인스턴스 설정
두 번째 보고서 서비스 인스턴스 설정
두 번째 보고서 서비스 인스턴스 조인
조회 상태 유효성 구성
hostname과 UrlRoot 설정
HTTP 401 에러 메시지 처리 방법
45 SSAS를 이용해서 SSRS 보고서 만들기
보고서 프로젝트 만들기
공유 데이터 원본 추가하기
공유 데이터 집합 만들기
보고서
46 차원 데이터 로딩 작업을 위한 SSIS 최적화 방법
주요 최적화 방법
타입 0차원
타입 1 SCD
타입 2 SCD
47 SSIS 구성 관리
데모용 데이터베이스 만들기
패키지 구성
연결 변경
연결 정보를 외부에서 변경할 수 있도록 설정
개선된 형태
SQL Server에 저장하도록 설정
48 SSIS Foreach 루프 컨테이너의 다양한 열거자
동적 구성
49 SSIS에서 차원 지연 처리
차원 지연 처리 시나리오
자연 키와 대리 키
데이터 구조 예제
지연 차원 처리 구현 방법
팩트 테이블 처리 시 지연 처리 차원의 멤버 처리
차원 업데이트 처리
50 SSIS 패키지를 이용한 업무 자동화
자동화 예제
SSIS 키 태스크와 컴포넌트
재사용 가능하며 이동 가능한 SSIS 패키지 만들기
선행 제약 조건 조절
결과 모니터링
51 SSIS에서 스크립트 컴포넌트 이용
SSIS 패키지의 다재 다능함
52 ETL 디자인 체크리스트
데이터 품질 검사
데이터 추출
변환 단계
로딩 단계
ETL 시스템 구현 및 관리
53 자동으로 SSAS 큐브 생성
배경
단순한 큐브 생성기인 InstantCube 프로그램 만들기
54 AMO, PowerShell을 이용한 SSAS 데이터베이스 스크립팅
PowerShell의 장점
컴파일 코드의 장점
처리 자동화
반복적으로 디자인 변경
55 MDX에서 컨텍스트 관리
명명된 집합
계산된 멤버
범위 할당
56 PowerPivot의 시간 관련 함수 사용
Data Analysis Expressions 소개
날짜 관련 함수
예제
57 실버라이트 PivotViewer를 이용한 손쉬운 BI 구축
실버라이트 PivotViewer 소개
피벗을 이용해서 무엇을 만들 수 있을까?
구현 방법
58 BI 프론트엔드 도구 엑셀
BI 프론트엔드 도구 선택 시 고려 사항
왜 엑셀인가?
왜 OLAP을 원본으로 사용해야 하는가?
대시보드 구현
59 StreamInsight를 이용한 실시간 BI 구현
StreamInsight란 무엇인가?
이벤트와 이벤트 스트림이란 무엇인가?
배포
아키텍처
스트림에 쿼리하는 것과 RDBMS에 쿼리하는 것의 차이
StreamInsignt가 유용한 곳은 어디일까?
스트림 쿼리
60 BI 솔루션 개발 시 설계 고려 사항
아키텍처 설계
아키텍처 설계에 영향을 미치는 그 밖의 요인
솔루션 개발
이 책의 구성
이 책은 SQL Server와 관련된 5가지의 직업 유형에 따라 5개의 파트와 60개의 세부 장으로 구성되어 있다.
■ 파트 1 데이터베이스 아키텍처와 디자인
■ 파트 2 데이터베이스 개발
■ 파트 3 데이터베이스 관리
■ 파트 4 성능 튜닝 및 최적화
■ 파트 5 비즈니스 인텔리전스
이 책에는 엄격한 구성 규칙이 없을 뿐만 아니라, SQL Server의 기능이나 버전에 대한 특별한 제한도 없다. 각 분야의 전문가들로부터 여러 가지 SQL Server와 관련된 주제의 글들을 받아 각 파트의 편집자들이 적절하게 분류했다.
오브젝티브-C 2판: iOS와 맥 OS X 개발을 위한 (2) | 2013.02.05 |
---|---|
리눅스 커맨드라인 완벽 입문서 (7) | 2012.12.27 |
이제 시작이야! 키넥트 프로그래밍 (0) | 2012.11.26 |
댓글 영역