하성희 강사(dbconsultant@empal.com) 복제 구축 예제 하성희 강사(dbconsultant@empal.com)
Business 케이스 Banking 트랜잭션 복제 Banking (지사들이 있는 중앙 집중 환경) 즉시 업데이트 트랜잭션 복제 웹 사이트 병합 복제 기타 리포팅 스냅샷
참고 - 병합 복제 사례? 200개 이상의 사이트들에서 병합 복제를 활용하고 있다고 합니다. 수적인 측면에서 최대 만 개의 모바일, ~2250 서버 데이터 볼륨 측면에서의 최대 100개 이상의 서버들에게 ~7.7TB
복제 용도 부하 분산 / 지역 분산 내부 전용 읽기 전용 서버 구축 고가용성 솔루션
부하 분산 주로 읽기 전용 서버를 구축하고 조회성 업무를 구독자들에게 요청함으로써, 기존에 단일 DB 서버에서 수행하던 작업 부하를 분산하는 경우 로컬 서버를 액세스함으로써 응답 속도를 향상시키고자 하는 경우 사이트에 따라 쿼리 검색 형태가 다른 경우에 사이트 별로 최적의 데이터 조회 환경을 구성하고자 하는 경우
복제 예제 고객 응용 프로그램 데이터 필터링 데이터 게시자 원격 배포자 배포 게시 데이터베이스 데이터베이스 구독자 (북서지역) 구독자 (남서지역) 구독자 (동부지역) 구독 데이터베이스 구독 데이터베이스 구독 데이터베이스
복제 예제 고객 응용 프로그램 (물품별 검색 및 갱신/ 전체 데이터 보유) 데이터 필터링 데이터 게시자 원격 배포자 배포 게시 데이터베이스 배포 데이터베이스 구독자 (카테고리별 검색/ 판매진행중인 데이터) 구독자 (대리점별 검색/ 판매진행중인 데이터) 구독 데이터베이스 구독 데이터베이스
복제 예제 고객 응용 프로그램 고객 응용 프로그램 고객 응용 프로그램 고객 응용 프로그램 게시자/배포자 구독자 구독 게시 배포 데이터베이스 구독 데이터베이스 배포 데이터베이스 고객 응용 프로그램 고객 응용 프로그램 게시자/배포자 구독자 게시 데이터베이스 구독 데이터베이스 배포 데이터베이스
복제 예제 고객 응용 프로그램 고객 응용 프로그램 게시자 배포자/구독자 게시 데이터베이스 배포 데이터베이스 구독 데이터베이스
내부 조회용 서버의 구축 운영 DB서버에서 부하가 심하고 다듬어지지 않은 ad-hoc 쿼리를 수행하는 것이 성능에 지장을 줄 수 있는 경우에, 내부 조회용 DB 서버를 구축하고자 하는 경우 사용 실시간 운영 DB의 데이터를 조회해야 하는 경우에, 구독자의 데이터를 조회함으로써 운영 DB 서버에서 발생할 수 있는 성능 저하 예방
복제 예제 내부 읽기 전용 조회 (쿼리 분석기 등) 데이터 구독자 원격 배포자 구독 배포 데이터베이스 구독 데이터베이스 게시자 (회원관리) 게시자 (판매) 게시자 (기타) 개시 데이터베이스 게시 데이터베이스 게시 데이터베이스 고객 응용 프로그램 고객 응용 프로그램 고객 응용 프로그램
고가용성을 위한 복제 구축 원본 데이터 손상 시 거의 실시간에 가까운 백업 데이터 제공 가능 사례 기업 내 여러 DB 서버들의 데이터베이스들을 한 대의 구독자 서버로 복제 평소 : 조회용 DB 서버로 활용 유사 시 : 데이터 복구에 활용하거나 서비스에 투입
MS SQL Server HA 솔루션 데이터베이스 레벨 Log Shipping (Standby Server) 데이터베이스 오브젝트 레벨 Replication (복제) Transactional Snapshot Merge 클러스터 Failover Cluster SQL7 Active / Passive --> SQL 2000 Single Instance SQL7 Active / Active --> SQL 2000 Multiple Instances 어떤 옵션을 사용할 것인가 ?
HA 솔루션 – 복제의 특징 오브젝트 레벨 데이터베이스의 부분집합에 대해서 가능 이기종 환경 간 가능 지속적인 트랜잭션의 배포 다양한 복제 모델 지원
Multi-node Clustering Enhanced Disk & File Management % A V A I L A B I L I T Y 100.0 Fault Tolerance Custom Solutions for Life or Death Applications Log Shipping Data Replication Multi-node Clustering Fault Tolerance Enhanced Disk & File Management Basic Systems SAN Architecture 99.999 High Availability Application and Data Availability 99.99 99.5 99.0 Enhanced Availability Use RAID technology to reduce downtime caused by disk failure 98.0 96.5 Basic Availability Regular backup 95.0
고가용성을 위한 복제 구축 유사 시에 서비스에 투입하기 위해서는, 구독 테이블에 identity 속성을 유지해야 함 Custom SP 수정이 필요함 SET IDENTITY_INSERT ON 옵션 활용
스냅샷 동기화 Automatic Sync Identity 항목이 없고 Source Data가 소량 (100만건 미만) Manual Sync Manual Shema, Auto Data : Identity 항목이 있고 소스 데이터가 소량 Manual Schema, Manual Data : 소스 데이터가 대량 (주로 Text/Image) * 강사의 경험을 근거로 한 기준임 *
복제 모델 기업에서 데이터를 어떻게 배포하고 서버를 어떻게 구성할 것인지에 대한 맵 배포될 데이터, 복제 환경 평가 및 각 복제 유형 계획에서 요약한 모든 요소 및 고려 사항을 기초로, 자신의 복제 모델에 대한 가장 적합한 솔루션을 결정할 수 있어야 함 고려사항 복제 환경 구축 목적 네트워크 IDENTITY 속성 배포될 데이터량 게시 DB 서버 휴지시간, 동기화 소요시간 동기화 방법 등
요약 자신의 시스템 환경에 적절한 복제 모델을 구축하는 것이 필요합니다. 지나치게 복잡하게 시스템을 구성하면 관리 및 문제 발생 시 해결이 어렵습니다. 복제 구축 전에 복제에 대한 내용들을 충분히 숙지하는 것이 필요합니다. 테스트 환경을 구축하여 구현하고자 하는 환경을 구축해 보는 것이 좋습니다. 복제에서 오류 발생 시 신속하게 대처할 수 있는 능력을 키우는 것이 필요합니다.
감사합니다 !!!