상세 컨텐츠

본문 제목

실전 SQL Server MVP 61: 그 두 번째 이야기

전체 출간 도서

by 비제이퍼블릭 2013. 1. 4. 16:21

본문

 

 

 

 

실전 SQL Server MVP 61 (Volume 2)

 

 

: 그 두 번째 이야기

 

 

저자: MVP 커뮤니티

역자: 김종하, 성지용, 이준규, 한대성, 김정선

 

출간예정일: 2013122()

정가: 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의 새로운 기능

OFFSETFETCH

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 설치

첫 번째 보고서 서비스 인스턴스 설정

두 번째 보고서 서비스 인스턴스 설정

두 번째 보고서 서비스 인스턴스 조인

조회 상태 유효성 구성

hostnameUrlRoot 설정

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와 관련된 주제의 글들을 받아 각 파트의 편집자들이 적절하게 분류했다.

 

 

관련글 더보기

댓글 영역