뇌를 자극하는 SQL Server 2005

28
뇌뇌 뇌뇌뇌뇌 SQL Server 2005 18 뇌 . 뇌뇌뇌뇌 뇌뇌뇌뇌 ( 뇌뇌 뇌뇌 , 뇌뇌뇌뇌뇌뇌 뇌뇌뇌 , 뇌뇌 )

description

뇌를 자극하는 SQL Server 2005. 18 장 . 데이터의 고가용성 ( 로그 전달 , 데이터베이스 미러링 , 복제 ). 고가용성을 위한 방법 및 개념 (1). 개념 가용성 (Availability) 이란 한마디로 컴퓨터 시스템이 서비스의 중단 없이 계속 가동되는 것 서버 클러스터링 개념도. 고가용성을 위한 방법 및 개념 (2). 로그 전달 개념도. 고가용성을 위한 방법 및 개념 (3). 데이터베이스 미러링 개념도. 고가용성을 위한 방법 및 개념 (4). 복제 개념도. 로그 전달 (1). - PowerPoint PPT Presentation

Transcript of 뇌를 자극하는 SQL Server 2005

Page 1: 뇌를 자극하는  SQL Server 2005

뇌를 자극하는

SQL Server 200518 장 . 데이터의 고가용성( 로그 전달 , 데이터베이스 미러링 , 복제 )

Page 2: 뇌를 자극하는  SQL Server 2005

뇌를 자극하는 SQL Server 2005

18 장 . 데이터의 고가용성 ( 로그 전달 , 데이터베이스 미러링 , 복제 )

2 / 28

고가용성을 위한 방법 및 개념 (1)• 개념

가용성 (Availability) 이란 한마디로 컴퓨터 시스템이 서비스의 중단 없이 계속 가동되는 것

• 서버 클러스터링 개념도

외부 저장장치

로컬하드디스크

로컬하드디스크

클러스터용데이터 파일

공유

평상시

비상시

서버 A

서버 B

사용자

Page 3: 뇌를 자극하는  SQL Server 2005

뇌를 자극하는 SQL Server 2005

18 장 . 데이터의 고가용성 ( 로그 전달 , 데이터베이스 미러링 , 복제 )

3 / 28

고가용성을 위한 방법 및 개념 (2)• 로그 전달 개념도

트랜잭션 로그

평상시

주서버

보조서버(대기서버)

사용자

Page 4: 뇌를 자극하는  SQL Server 2005

뇌를 자극하는 SQL Server 2005

18 장 . 데이터의 고가용성 ( 로그 전달 , 데이터베이스 미러링 , 복제 )

4 / 28

고가용성을 위한 방법 및 개념 (3)• 데이터베이스 미러링 개념도

동기화

평상시

주서버

미러 서버

사용자

비상시

모니터서버

작동여부감시

Page 5: 뇌를 자극하는  SQL Server 2005

뇌를 자극하는 SQL Server 2005

18 장 . 데이터의 고가용성 ( 로그 전달 , 데이터베이스 미러링 , 복제 )

5 / 28

고가용성을 위한 방법 및 개념 (4)• 복제 개념도

주서버(게시서버)

본사 사용자

구독서버

전달서버(배포서버)

미국 지사 사용자

광주 지사 사용자

부산 지사 사용자

구독서버

구독서버

Page 6: 뇌를 자극하는  SQL Server 2005

뇌를 자극하는 SQL Server 2005

18 장 . 데이터의 고가용성 ( 로그 전달 , 데이터베이스 미러링 , 복제 )

6 / 28

로그 전달 (1)• 개요

주서버의 로그파일을 보조서버에 일정한 주기로 복사하는 것• 로그 전달의 세부 작동

원본DB 복제DB

사용자

주 서버(MSSQLSERVER) 보조 서버(SECOND)

복사된로그파일(*.TRN)

백업된로그파일(*.TRN)

Page 7: 뇌를 자극하는  SQL Server 2005

뇌를 자극하는 SQL Server 2005

18 장 . 데이터의 고가용성 ( 로그 전달 , 데이터베이스 미러링 , 복제 )

7 / 28

로그 전달 (2)• 주서버에 문제 발생시 조치

원본DB 복제DB

사용자

기존방식으로 사용

주 서버(MSSQLSERVER) 보조 서버(SECOND)

복사된로그파일(*.TRN)

백업된로그파일(*.TRN)

수동으로 서비스전환

Page 8: 뇌를 자극하는  SQL Server 2005

뇌를 자극하는 SQL Server 2005

18 장 . 데이터의 고가용성 ( 로그 전달 , 데이터베이스 미러링 , 복제 )

8 / 28

• 실습 목표 로그 전달을 구성하고 문제 발생시 대처하는 방법을 학습한다 . 로그 전달의 세부 설정을 변경해 본다

• 로그 전달 작동 화면

< 실습 1> 로그 전달 실습

Page 9: 뇌를 자극하는  SQL Server 2005

뇌를 자극하는 SQL Server 2005

18 장 . 데이터의 고가용성 ( 로그 전달 , 데이터베이스 미러링 , 복제 )

9 / 28

• 실습 목표 로그 전달을 제거 한다 .

• 로그 전달 삭제 진행 화면

< 실습 2> 로그 전달 제거

Page 10: 뇌를 자극하는  SQL Server 2005

뇌를 자극하는 SQL Server 2005

18 장 . 데이터의 고가용성 ( 로그 전달 , 데이터베이스 미러링 , 복제 )

10 / 28

데이터베이스 미러링 (1)• 개요

거울 (mirror) 과 같이 동일한 DB 를 생성하는 것 실시간 장애복구가 가능함 SQL Server 2005 부터 지원되는 기능

• 클러스터링 , 로그 전달 , 데이터베이스 미러링 비교

클러스터링 로그 전달 데이터베이스 미러링

오류탐지 기능 있음 없음 있음

장애복구 자동 수동 자동

복구시간 약 최소 30 초 이상 알 수 없음 약 3 초

디스크 고장시 복구 불가- 공유디스크사용 복구가능 복구가능

구축비용 상당히 고가 저렴 저렴

복구 대상 시스템 DB 및 사용자DB 사용자 DB 사용자 DB

Page 11: 뇌를 자극하는  SQL Server 2005

뇌를 자극하는 SQL Server 2005

18 장 . 데이터의 고가용성 ( 로그 전달 , 데이터베이스 미러링 , 복제 )

11 / 28

데이터베이스 미러링 (2)• 데이터베이스 미러링의 작동

원본DB 미러DB

모니터 서버(THIRD)

사용자

주 서버(MSSQLSERVER) 미러 서버(SECOND)

Page 12: 뇌를 자극하는  SQL Server 2005

뇌를 자극하는 SQL Server 2005

18 장 . 데이터의 고가용성 ( 로그 전달 , 데이터베이스 미러링 , 복제 )

12 / 28

데이터베이스 미러링 (3)• 데이터베이스 미러링의 장애 발생시

원본DB

사용자

모니터서버(THIRD)

주 서버(SECOND)

Page 13: 뇌를 자극하는  SQL Server 2005

뇌를 자극하는 SQL Server 2005

18 장 . 데이터의 고가용성 ( 로그 전달 , 데이터베이스 미러링 , 복제 )

13 / 28

데이터베이스 미러링 (4)• 데이터베이스 미러링의 복구 후

원본DB

사용자

미러DB

모니터 서버(THIRD)

미러 서버(MSSQLSERVER)주 서버(SECOND)

Page 14: 뇌를 자극하는  SQL Server 2005

뇌를 자극하는 SQL Server 2005

18 장 . 데이터의 고가용성 ( 로그 전달 , 데이터베이스 미러링 , 복제 )

14 / 28

• 실습 목표 데이터베이스 미러링을 구현해 본다 .

• 데이터베이스 미러링 작동 화면

< 실습 3> 데이터베이스 미러링 실습

Page 15: 뇌를 자극하는  SQL Server 2005

뇌를 자극하는 SQL Server 2005

18 장 . 데이터의 고가용성 ( 로그 전달 , 데이터베이스 미러링 , 복제 )

15 / 28

데이터베이스 미러링 (5)• 데이터베이스 미러링의 운영 모드▫성능 우선 ( 비동기 )

모니터 서버가 없이 운영 주서버의 변경내용이 비동기적으로 미러서버에 전송됨 전송하지 못한 데이터의 일부 손실을 감수해야 하며 ,

장애조치를 수동으로 해야 함▫자동 장애조치 (Failover) 없는 보호 우선 ( 동기 )

모니터 서버가 없이 운영 주서버의 변경내용이 실시간으로 미러서버에 전송됨 장애 발생시 서비스가 중단되며 , 수동으로 복구해야 함 데이터의 무결성은 보장됨

▫자동 장애조치 (Failover) 있는 보호 우선 ( 동기 ) 모니터를 사용함 (3 대로 운영 ) 즉시 및 자동으로 장애조치가 됨 데이터의 무결성도 보장됨

Page 16: 뇌를 자극하는  SQL Server 2005

뇌를 자극하는 SQL Server 2005

18 장 . 데이터의 고가용성 ( 로그 전달 , 데이터베이스 미러링 , 복제 )

16 / 28

복제의 개요 (1)• 복제의 상세 개념도

게시서버

사용자

구독서버

배포서버

사용자

사용자

구독서버

아티클

아티클아티클

게시

아티클

아티클아티클

게시

아티클

아티클아티클

게시

Page 17: 뇌를 자극하는  SQL Server 2005

뇌를 자극하는 SQL Server 2005

18 장 . 데이터의 고가용성 ( 로그 전달 , 데이터베이스 미러링 , 복제 )

17 / 28

복제의 개요 (2)• 복제 관련 용어

게시서버 (Publisher) : 원본데이터가 있는 서버 . 신문사에 해당

배포서버 (Distributor) : 원본데이터를 구독자에게 배포하는 역할 . 신문 보급소에 해당

구독서버 (Subscriber) : 게시서버에서 배포한 데이터를 받는 서버 . 신문을 구독하는 가정집에 해당

아티클 (Article, 기사 ) : 구독서버에게 전달될 데이터베이스 개체 ( 주로 테이블 ). 신문의 단위 기사에 해당

게시 (Publication) : 아티클의 집합으로 구독서버에 전달되는 단위 . 신문 자체에 해당되며 실제로 게시서버에서 구독서버로 전달되는 것이 이 ‘게시’단위로 전달

구독 (Subscription) : 게시를 받아들이는 행위

Page 18: 뇌를 자극하는  SQL Server 2005

뇌를 자극하는 SQL Server 2005

18 장 . 데이터의 고가용성 ( 로그 전달 , 데이터베이스 미러링 , 복제 )

18 / 28

복제의 방법 (1)• 스냅숏 복제 (Snapshot replication)

정기적으로 게시서버에서 지정된 게시의 모든 데이터를 통째로 구독서버에 전달

서버에 부하를 줄 수 있다 .

게시서버 구독서버

1 2 3

1 2 3

1 2 34 5 6 1 2 3

1 2 34 5 6

1 2 34 5 67 8 9

1 2 34 5 6

1 2 34 5 67 8 9

1회

2회

3회

Page 19: 뇌를 자극하는  SQL Server 2005

뇌를 자극하는 SQL Server 2005

18 장 . 데이터의 고가용성 ( 로그 전달 , 데이터베이스 미러링 , 복제 )

19 / 28

복제의 방법 (2)• 트랜잭션 복제 (Transaction replication)

변경된 데이터만을 전달하는 방식 네트워크 및 서버에 부하를 최소화 함

게시서버 구독서버

1 2 3

1 2 3

1 2 34 5 6 1 2 3

4 5 6

1 2 34 5 67 8 9

1 2 34 5 6

7 8 9

1회

2회

3회

처음 1회는 스냅숏 복제또는 백업/복원으로 가능

Page 20: 뇌를 자극하는  SQL Server 2005

뇌를 자극하는 SQL Server 2005

18 장 . 데이터의 고가용성 ( 로그 전달 , 데이터베이스 미러링 , 복제 )

20 / 28

복제의 방법 (3)• 병합 복제 (Merge replication)

게시서버와 구독서버의 변경사항이 상호 적용되는 방법

게시서버 구독서버

1 2 3

1 2 3

1 2 3 1 2 34 5 6

4 5 6

1 2 34 5 67 8 9

1 2 34 5 6

7 8 9

1회

2회

3회

처음 1회는 스냅숏 복제

Page 21: 뇌를 자극하는  SQL Server 2005

뇌를 자극하는 SQL Server 2005

18 장 . 데이터의 고가용성 ( 로그 전달 , 데이터베이스 미러링 , 복제 )

21 / 28

복제의 구성 모델 (1)• 피어투 피어 (Peer-to-Peer) 모델

각각의 서버가 게시서버 /배포서버 /구독서버 역할을 모두 하도록 구성하는 방법

게시서버배포서버구독서버

사용자 A

사용자 C

복제

게시서버배포서버구독서버

게시서버배포서버구독서버

복제

복제

복제복제

복제

사용자 B

서울 부산

제주

Page 22: 뇌를 자극하는  SQL Server 2005

뇌를 자극하는 SQL Server 2005

18 장 . 데이터의 고가용성 ( 로그 전달 , 데이터베이스 미러링 , 복제 )

22 / 28

복제의 구성 모델 (2)• 중앙 게시자 모델

게시서버 1 대 , 배포서버 1 대 , 구독서버 여러대로 구성 가장 많이 사용하는 방식

게시서버

사용자

구독서버

배포서버

사용자

사용자

구독서버

물리적으로 한대에 구성 가능

복제 데이터

복제

복제

Page 23: 뇌를 자극하는  SQL Server 2005

뇌를 자극하는 SQL Server 2005

18 장 . 데이터의 고가용성 ( 로그 전달 , 데이터베이스 미러링 , 복제 )

23 / 28

복제의 구성 모델 (3)• 중앙 구독자 모델

게시서버 여러대 , 구독서버 1 대로 구성 지사의 정보를 본사로 집계하는 경우에 사용

게시서버배포서버

사용자

구독서버

사용자

사용자

게시서버배포서버

게시서버배포서버

본사 사용자

부산지사 본사

광주지사

제주지사

Page 24: 뇌를 자극하는  SQL Server 2005

뇌를 자극하는 SQL Server 2005

18 장 . 데이터의 고가용성 ( 로그 전달 , 데이터베이스 미러링 , 복제 )

24 / 28

복제의 구성 모델 (4)• 1 대로 구성한 모델

1 대에 게시서버 , 배포서버 , 구독서버를 모두 구성한 것

게시서버/배포서버/구독서버

사용자

복제

하나의 SQL Server 2005

평상시비상시

Page 25: 뇌를 자극하는  SQL Server 2005

뇌를 자극하는 SQL Server 2005

18 장 . 데이터의 고가용성 ( 로그 전달 , 데이터베이스 미러링 , 복제 )

25 / 28

• 실습 목표 가장 기본적인 중앙게시자 모델 복제를 구현한다 .

• 실습 구성도

< 실습 4> 중앙게시자 모델 복제

게시서버(MSSQLSERVER 또는 컴퓨터이름)

사용자

구독서버(THIRD)

사용자

배포서버(SECOND)

게시DB

구독DB배포DB

스냅숏폴더초기 전체 게시(스냅숏) 저장

(스냅숏 에이전트)

아티클

아티클아티클

변경된 로그(로그 판독기 에이전트)

초기 스냅숏 적용(배포 에이전트)

변경된 로그(배포 에이전트)게시

Page 26: 뇌를 자극하는  SQL Server 2005

뇌를 자극하는 SQL Server 2005

18 장 . 데이터의 고가용성 ( 로그 전달 , 데이터베이스 미러링 , 복제 )

26 / 28

• 실습 목표 복제모니터를 사용해서 복제의 내부적인 작동을 확인해 본다 .

• 복제 모니터 화면

< 실습 5> 복제의 내부 작동 확인

Page 27: 뇌를 자극하는  SQL Server 2005

뇌를 자극하는 SQL Server 2005

18 장 . 데이터의 고가용성 ( 로그 전달 , 데이터베이스 미러링 , 복제 )

27 / 28

• 실습 목표 병합 복제를 구현하는 방법을 익힌다 .

• 실습 구성도

< 실습 6> 병합 복제

게시서버(MSSQLSERVER 또는 컴퓨터명)

사용자

구독서버(THIRD)

사용자

배포서버(SECOND)

게시DB

구독DB배포DB

스냅숏폴더초기 전체 게시(스냅숏) 저장

(스냅숏 에이전트)

아티클

아티클아티클

변경된 로그(병합 에이전트)

초기 스냅숏 적용(병합 에이전트)

변경된 로그(병합 에이전트)게시

Page 28: 뇌를 자극하는  SQL Server 2005

뇌를 자극하는 SQL Server 2005

18 장 . 데이터의 고가용성 ( 로그 전달 , 데이터베이스 미러링 , 복제 )

28 / 28

• 실습 목표 복제를 제거해 본다 .

• 배포 및 게시의 해제 화면

< 실습 7> 복제의 제거