하성희 강사(dbconsultant@empal.com) 복제에 대한 기본적인 이해 하성희 강사(dbconsultant@empal.com)

Slides:



Advertisements
Similar presentations
1 08 시스템 구성도 고려사항 * 웹 서버 클러스터 구성  클러스터 구축은 ㈜ 클루닉스의 Encluster 로 구축 (KT 인증,IT 인증 획득, 실제 클러스터 구축 사이트 200 여곳 )  웹 서버 클러스터는 Dynamic, Static, Image.
Advertisements

Big Data & Hadoop. 1. Data Type by Sectors Expected Value using Big Data.
2008 년 11 월 20 일 실습.  실험제목 ◦ 데이터베이스 커넥션 풀  목표 ◦ 데이터베이스 커넥션 풀의 사용.
SQL Server 2005 고가용성 및 재난 복구 김영건 필라넷 / DB 사업부 / 책임 컨설턴트 SQL Server Specialist Member PASS Korea Member.
컴퓨터와 인터넷.
안성시립도서관 무선랜 사용자 Mac 확인 및 설정방법
뇌를 자극하는 Windows Server 2012 R2
소리가 작으면 이어폰 사용 권장!.
뇌를 자극하는 Windows Server 2012 R2
김태원 심재일 김상래 강신택. 김태원 심재일 김상래 강신택 인터넷 통신망의 정보를 제공하는 서비스 인터넷의 자원 및 정보는 NIC가 관리 IP주소 또는 도메인으로 정보 검색 이용자 및 통신망 관한 정보를 제공.
피티라인 파워포인트 템플릿.
MS-Access의 개요 1강 MOS Access 2003 CORE 학습내용 액세스 응용 프로그램은 유용한 데이터를
Entity Relationship Diagram
1. Windows Server 2003의 역사 개인용 Windows의 발전 과정
SAS Foundation Client 9.4 설치 가이드
Windows Server 장. Windows Server 2008 개요.
Outlook 에서 POP3 설정 방법.
제 09 장 데이터베이스와 MySQL 학기 인터넷비즈니스과 강 환수 교수.
12장 데이터 읽기 일관성과 락.
데이터베이스 및 설계 금오공과대학교 컴퓨터공학부 이 이섭.
개관 SQL Server 복제 이해 복제 솔루션 계획 HA 를 위한 복제 구성 데모(optional)
목차 백업과 복원.
(개정판) 뇌를 자극하는 Red Hat Fedora 리눅스 서버 & 네트워크
MS SQL Server - 마이크로소프트 사가 윈도우 운영 체제를 기반으로 개발한 관계 DBMS
Windows Server 장. 사고를 대비한 데이터 백업.
4장. 웹로직 서버상에서의 JDBC와 JTA의 운용
8장. 원격지 시스템 관리하기.
Root Filesystem Porting
3.2 SQL Server 설치 및 수행(계속) 시스템 데이터베이스 master
FTP 프로그램 채계화 박재은 박수민.
Root Filesystem Porting
13 인덱스 인덱스의 개념 인덱스의 구조 인덱스의 효율적인 사용 방법 인덱스의 종류 및 생성 방법 인덱스 실행 경로 확인
NJM Messenger 박상원 박연호.
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               퍼스널 오라클 9i 인스톨.
18강. 데이터 베이스 - II JDBC 살펴보기 Statement객체 살펴보기 Lecturer Kim Myoung-Ho
17강. 데이터 베이스 - I 데이터 베이스의 개요 Oracle 설치 기본적인 SQL문 익히기
뇌를 자극하는 Windows Server 장. Windows Server 2008 개요.
ASP.NET AJAX 비동기 게시판 작성 2007 컴퓨터공학실험( I )
하성희 복제 구축 예제 하성희
KHS JDBC Programming 4 KHS
SQL Server 2005에서의 복제 강사: 정 홍 주 ㈜웹타임 수석 컨설턴트.
13 인덱스 인덱스의 개념 인덱스의 구조 인덱스의 효율적인 사용 방법 인덱스의 종류 및 생성 방법 인덱스 실행 경로 확인
1장. 데이터베이스 자료의 조직적 집합체_데이터베이스 시스템의 이해
Slice&link.
7가지 방법 PowerPoint에서 공동 작업하는 다른 사용자와 함께 편집 작업 중인 사용자 보기
㈜시스원이 제공하는 시스템 관리 통합 솔루션 SysmanagerOne Agent설치 안내서
2장. 데이터베이스 관리 시스템 데이터베이스 관리 시스템의 등장 배경 데이터베이스 관리 시스템의 정의
영상처리 실습 인공지능연구실.
뇌를 자극하는 Windows Server 2012 R2
뇌를 자극하는 Windows Server 장. 원격 접속 서버.
USN(Ubiquitous Sensor Network)
Chapter 03. 관계 데이터베이스 설계.
CHAP 21. 전화, SMS, 주소록.
네트워크 환경 구축과 이미지 전송 호스트/타겟 통신 직렬 통신을 이용한 이미지 전송 수퍼 데몬 BOOTP 환경 구축
문성우 SQL 실습 Part Ⅰ 문성우.
Cold Spring Harbor Laboratory Press 저널 이용 매뉴얼
클러스터 시스템에서 효과적인 미디어 트랜스코딩 부하분산 정책
Chapter 27 Mobile IP.
The American Physiological Society
.Net Web Application 2007 컴퓨터공학실험(Ⅰ)
14 뷰(View) 뷰의 개념 뷰 관리.
Part 2 개념적 데이터 모델 Copyright © 2006 by Ehan Publishing Co. All rights reserved.
01. 분산 파일 시스템의 개요 네트워크에 분산된 파일을 사용자가 쉽게 접근하고 관리할 수 있게 해준다.
멀티미디어시스템 제 4 장. 멀티미디어 데이터베이스 정보환경 IT응용시스템공학과 김 형 진 교수.
 6장. SQL 쿼리.
피티라인 파워포인트 템플릿.
임시테이블과 테이블변수 SQLWorld Study Group - 최명환 -.
버스와 메모리 전송 버스 시스템 레지스터와 레지스터들 사이의 정보 전송을 위한 경로
Ⅰ. 데이터베이스 정의 Ⅱ. MS SQL 서버 Ⅲ. 데이터베이스 인터페이스
Presentation transcript:

하성희 강사(dbconsultant@empal.com) 복제에 대한 기본적인 이해 하성희 강사(dbconsultant@empal.com)

내용 복제란 ? 복제 관련 용어 복제 모델 복제 유형

복제란? 복제 – 복사본을 만드는 것 복제란 여러 곳에 동일한 데이터 복사본을 유지할 수 있도록 해 주는 기술의 집합 게시–구독 모델을 사용하여 데이터를 배포 SQL Server 복제 다른 데이터베이스로 데이터와 데이터베이스 개체를 복사 및 배포한 후 데이터베이스 간의 일관성 유지를 위해 동기화하는 과정 Standby를 위해 디자인된 것은 아니지만, standby와 유사한 개념이라고 할 수도 있다 복제는 SQL Server의 일부가 아니다

복제 용어 MS SQL Server의 복제는 복제 토폴로지의 구성 요소와 프로세스를 설명하는 데 있어서 출판업계의 용어를 인용 복제 모델 게시자 배포자 구독자 게시 아티클 구독

복제 용어 게시자 복제할 데이터 소스 서버 어떤 데이터를 복제할 것인지 지정 어떤 데이터가 변경되었는지를 검색 게시에 관한 정보를 유지, 관리 배포자 변경사항들을 구독자에게 전달하는 서버 아티클을 게시자로부터 구독자로 전달하는데 필요한 여러 가지 작업을 수행하는 서버 배포 데이터베이스를 관리 구독자 게시자가 복제한 데이터를 받는 서버 게시를 구독하며 필요한 게시만 구독 복제 옵션, 복제 유형에 따라 다름

복제 용어 아티클 게시 구독 복제 대상으로 지정된 테이블, 데이터 파티션, 데이터베이스 오브젝트 아티클들의 집합 복제할 데이터베이스 오브젝트 또는 데이터 복사본에 대한 요청 어떤 게시를 언제 어디서 받을 것인지 지정

복제 용어 구독 아티클 Table 데이터의 전체 혹은 부분 뷰 저장 프로시저 사용자 정의 함수 게시 하나 이상의 아티클들의 집합 구독의 기초 데이타베이스 당 하나 혹은 이상 게시 구독 아티클

복제 용어 배포 데이터베이스 복제를 수행하기 위한 데이터를 저장하는 배포자의 데이터베이스 트랜잭션, 스냅샷 작업, 동기화 상태 및 복제 기록 정보를 저장

복제 관련 용어 복제 에이전트 복제 명령 프롬프트 유틸리티를 사용하여 복제 에이전트 작업을 구성하고 시작 가능 Out of process 프로그램들 복제 명령 프롬프트 유틸리티를 사용하여 복제 에이전트 작업을 구성하고 시작 가능 복제 에이전트 파일 : \Microsoft SQL Server\80\Com 아래에 위치 복제 유틸리티와 파일 목록 명령 프롬프트 유틸리티 파일 이름 스냅샷 에이전트 Snapshot.exe 로그 판독기 에이전트 Logread.exe 배포 에이전트 Distrib.exe 대기열 판독기 에이전트 Qrdsvc.exe 병합 에이전트 Replmerg.exe

복제 관련 용어 끌어오기 구독 밀어넣기 구독 수직 파티션 (Vertical Partition) 구독자가 게시자에 연결해서 게시자로부터 데이터를 끌어감 밀어넣기 구독 게시자가 구독자에 연결하여 구독자에게 데이터를 전달함 수직 파티션 (Vertical Partition) 컬럼들의 부분집합 수평 파티션 (Horizontal Partition) 행들의 부분집합

복제 관련 용어 데이터 파티션 (Data partition) 필터링 복제될 데이터의 그룹 동적 구독자의 속성에 근거하여 데이터의 부분집합을 정의 정적 고정된 값에 근거하여 데이터의 부분집합을 정의

데이터베이스 복제 개시자 배포자 구독자 (한 대의 서버가 게시 서버와 배포 서버 역할을 함께 수행 가능) 소스 데이터베이스 관리 복제할 데이터 지정 변경 사항 수신 및 저장 변경 사항을 구독자들에게 전달 구독자 변경 사항 수신 데이터 복사본 유지 (한 대의 서버가 게시 서버와 배포 서버 역할을 함께 수행 가능)

복제 모델 (로컬 배포자) 중앙 게시자/배포자 중앙 구독자/다중 게시자 다중 게시자/다중 구독자 게시자/ 배포자 다수의 구독자 배포자/ 구독자 게시자/ 배포자/ 구독자 구독자 게시자/ 배포자 게시자/ 배포자/ 구독자 게시자/ 배포자

중앙 게시자 가장 일반적인 구성. 구축 용이 마스터 데이터, 목록 또는 보고서를 중앙 게시자에서 모든 구독자로 배포하는 경우, Select가 대부분인 시스템 P : 게시자 D : 배포자 S : 구독자 P/D S D P S

중앙 구독자 통합 구독자 서버. 구축이 어려움 로컬 웨어하우스의 다수의 서버에서 재고 목록 데이터를 본사의 중앙 구독자로 롤업하는 경우, 회사의 자치 사업 부서에서 정보를 롤업하거나, 여러 위치의 주문 정보를 통합하는 데 사용 가능 D S P S P/D

게시 구독자 계층구조 게시자가 속도가 느리거나 비용이 많이 드는 통신 연결 말단에 다수의 구독자가 있을 경우, 재게시자를 사용하면 대량의 배포 로드가 재게시자에서만 발생 P S/P S S S

복제 유형 스냅샷 복제 전체 데이터 집합을 전달 모든 복제 유형의 초기 작업 트랜잭션 복제 변경 사항만 전달 병합 복제

복제 에이전트 스냅샷 에이전트(Snapshot Agent) 로그 판독기 에이전트(Log Reader Agent) snapshot.exe 모든 복제 유형과 관련 게시된 테이블과 저장 프로시저의 스키마 및 초기 데이터 파일을 준비하고 배포 데이터베이스에 동기화에 관한 정보 기록 일반적으로 배포자에서 수행 로그 판독기 에이전트(Log Reader Agent) logread.exe 트랜잭션 복제에서 사용 복제 대상이라고 표시된 트랜잭션을 게시자 상의 트랜잭션 로그에서 배포 데이터베이스로 이동 게시된 데이터베이스 별로 자체 로그 판독기 에이전트를 가짐

복제 에이전트 배포 에이전트(Distribution Agent) Distrib.exe 스냅샷 복제 및 트랜잭션 복제와 함께 사용 게시 데이터베이스의 스냅샷 작업 및 트랜잭션을 구독자로 이동 밀어넣기 구독 : 배포자에서 수행 끌어오기 구독 : 구독자에서 수행

복제 에이전트 병합 에이전트(Merge Agent) Replmerg.exe 병합 복제에서 사용 초기 스냅샷을 구독자에 적용하고 발생한 증분 데이터 변경 내용을 이동 및 조정 병합 구독별로 자체 병합 에이전트 존재 밀어넣기 구독 : 배포자에서 수행 끌어오기 구독 : 구독자에서 수행

복제 에이전트 대기열 판독기 에이전트(Queue Reader Agent) 지연 업데이트(queued update) 옵션이 있는 스냅샷 복제 또는 트랜잭션 복제와 함께 사용 대기열에서 메시지를 가져와 적절한 게시에 적용 하나의 대기열 판독기 에이전트 인스턴스만 존재 (특정 배포자에 대한 모든 게시자 및 게시를 서비스)

복제 에이전트 스냅샷 트랜잭션 병합 스냅샷 에이전트 스냅샷 에이전트 스냅샷 에이전트 배포 에이전트 배포 에이전트 로그 판독기 에이전트 병합 에이전트 대기열 판독기 에이전트

복제 선택 자율성/ 일관성 연결성/ 무결성 Two phase commit 즉시 업데이트 구독 트랜잭션 복제 업데이트 구독 스냅샷 트랜잭션 스냅샷/DTS 병합 지연 업데이트 Transformable

스냅샷 복제 특정 시점의 데이터 및 데이터베이스 개체 상태 그대로를 복사 및 배포 데이터에 대한 갱신을 추적하지 않음. 데이터 수정을 전파하는데 오래 걸릴수 있음. 특정 시점의 스냅샷 이미지

스냅샷 복제 전체 데이터 집합을 전달 대상 테이블을 삭제하고 재생성 리포팅 서버의 재구성에 유용 snapshot.exe 지정한 경우 리포팅 서버의 재구성에 유용 snapshot.exe distrib.exe

스냅샷 복제가 유용한 경우 데이터가 대부분 정적이고 자주 변경되지 않는 경우 일정 기간 동안 데이터 복사본이 최신이 아니어도 되는 경우 소량의 데이터를 복제하는 경우 사이트의 연결이 종종 끊기며 대기 시간(한 사이트에서 데이터가 업데이트된 후 다른 사이트에서 업데이트되기까지의 시간)이 길어도 상관 없는 경우

트랜잭션 복제 데이터 수정에 대해 즉각적인 복제를 가능하게 함 게시되는 데이터의 필터링 및 변환 가능 단계 초기 스냅샷 전파 게시자에서 데이터 변경 개개의 트랜잭션들이 수집됨 구독자들에 트랜잭션을 전파

트랜잭션 복제 견고한 연결을 필요로 함 트랜잭션 일관성 가장 좋은 성능 뱅킹과 같은 응용 프로그램을 위해 디자인 logread.exe distrib.exe

트랜잭션 복제 잘 연결된 사용자들을 위한 방식 데이터 흐름 구독자가 커밋하기 전까지는 데이터가 배포 데이터베이스에 유지 사용자가 게시자에서 데이터를 입력 트랜잭션이 로그에 기록 로그 판독기가 트랜잭션을 픽업 배포자에게 전달 배포 에이전트가 구독자에게 전달 구독자가 배포 데이터베이스에게 확답 구독자가 커밋하기 전까지는 데이터가 배포 데이터베이스에 유지

트랜잭션 복제 w/ 즉시 업데이트 구독 구독자에서 트랜잭션들이 처리 가능 구독자에서 트랜잭션 시작 구독자에서 트리거 수행 분산 트랜잭션이 게시자에게 적용 게시자가 커밋 구독자가 커밋 트랜잭션이 다른 모든 구독자들에게 복제됨 만약 구독자가 사용 가능하지 않으면, 구독자는 커밋 불가

즉시 업데이트 SQL Server 2000에서, 즉시 업데이트를 허용하는 게시에서 사용되는 테이블에는 timestamp 컬럼이 있어야 함 SQL Server가 자동으로 timestamp 컬럼을 추가해 줌 테이블 게시를 중지하면 timestamp 컬럼 제거 가능 Timestamp 컬럼은 정식 INSERT, UPDATE, DELETE 문에 포함시킬 필요가 없으므로 응용 프로그램 변경 불필요

병합 복제 변경된 데이터만 전송 트랜잭션 일관성 보장 못함 동일한 행에 있는 여러 컬럼들에 대한 변경사항을 병합 가능 높은 자율성 증분 재동기화 연결이 견고하지 않은 응용 프로그램과 모바일 응용 프로그램을 위해 디자인 replmerg.exe

병합 복제 사이트들이 자율적으로 동작할 수 있도록 해 줌 사이트 간 연결이 될 때 데이터 갱신이 병합됨 게시자, 구독자에서 동일 데이터에 대해 업데이트 시 충돌 발생 충돌 해결 : 기본 및 사용자 지정 가능

병합 복제 데이터는 이동하지 않음 트리거가 변경사항을 추적 MSmerge_contents 테이블과 Msmerge_genhistory 테이블에 저장 병합 복제 시작

병합 복제 과정 SQL 에이전트가 병합 복제를 관리 Replmerg.exe가 병합 복제를 수행 구독자에게 연결 게시자에게 연결 이동할 세대들을 확인 게시자에게 업로드 충돌 해결 구독자에게 다운로드

병합 복제가 유용한 경우 여러 구독자가 다양한 시간에 데이터를 업데이트하고 그 변경 내용을 게시자 및 다른 구독자에 전파해야 하는 경우 구독자는 데이터를 받고 오프라인으로 변경을 하며 게시자 및 다른 구독자로 변경 내용을 동기화해야 하는 경우 응용 프로그램 대기 시간(Latency : 게시자의 변경 내용이 구독자에게 반영되어 나타나기까지의 시간) 요구 사항이 높거나 낮을 경우 사이트 자율성이 중요한 경우

변환 가능한 구독 복제를 DTS와 결합 스냅샷 복제와 트랜잭션 복제에서만 가능 트랜잭션 커밋 트랜잭션 복제 변환된 데이터가 커밋

복제 대상 오브젝트 복제 가능 오브젝트 테이블 저장 프로시저 뷰 트리거

복제의 이점 여러 사이트가 동일한 데이터 복사본을 유지할 수 있도록 해 줌  여러 사이트가 동일한 데이터를 읽어야 하거나 리포팅 응용 프로그램을 위해 별도의 서버를 필요로 하는 경우에 유용 OLTP 응용 프로그램을 OLAP 데이터베이스, 데이터 마트, 데이터 웨어하우스와 같은 응용 프로그램과 분리 더 많은 자율성을 허용 집계를 위한 읽기 성능 향상 데이터를 네트워크에 분산시킬 수 있고 서로 다른 업무 단위 또는 사용자의 요구에 기초하여 데이터를 분할 가능  다중 사용자의 데이터 수정 및 쿼리로 인한 경합 감소 복제를 사용자 지정 대기 모드 서버 전략의 일부로 사용 가능

테스트, 테스트, 테스트 !!! 경험 이상의 것은 없습니다. 테스트 환경을 구축하고 다양한 실험들을 해 보시기 바랍니다. 온라인 설명서만큼 좋은 자습서는 없습니다. 온라인 설명서를 많이 활용하시기 바랍니다.

감사합니다 !