표제지
목차
국문초록 13
I. 서론 15
1. 연구의 필요성 15
2. 연구의 목적 및 범위 18
3. 연구의 방법 및 구성 20
II. 관련 연구 22
1. DRDBMS와 MMDBMS 22
2. 하이브리드 DBMS 27
3. DRDBMS 클러스터링 기법 31
4. DB LINK 기법 33
5. MMDBMS 이중화 기법 36
6. 하이브리드 DBMS 이중화 기법 39
가. 이중화 데이터 동기화 방식 42
나. 이중화 데이터 충돌과 전송지연 46
III. 데이터 충돌과 지연을 회피한 이중화 모델 설계 52
1. Active-Standby 이중화 모델 52
가. DR(Disaster Recovery) 모델 53
나. 절체를 위한 Active-Standby 이중화 모델 55
다. Point-to-Point 방식의 이중화 모델 59
2. Active - Active 이중화 모델 63
가. 트랜잭션 분리 이중화 모델 65
나. 테이블 분리 이중화 모델 68
다. PK(Primary Key) 분리 이중화 모델 70
IV. 로그 분석 알고리즘과 이중화 모델 설계 72
1. 로그 분석기 구조 72
2. 로그 분석 API 77
3. 로그 분석 알고리즘 설계 81
4. 로그 분석 기반 이중화 모델 설계 88
가. 로그 분석 기반 Active-Standby 이중화 모델 90
나. 로그 분석 기반 Active-Active 이중화 모델 99
다. 로그 분석 기반 Master - Active 이중화 모델 102
V. 성능 시험 및 결과 분석 110
1. 시험 환경 110
2. 시험 방안 112
3. 시험 결과 116
VI. 결론 127
참고문헌 130
ABSTRACT 136
〈표 II-1〉 MMDBMS 이중화 동작 구분 37
〈표 II-2〉 하이브리드 DBMS 이중화 동작 구분 41
〈표 II-3〉 이중화 XLog 구조체 정보 43
〈표 II-4〉 DML 구문에 따른 XLog 전송 항목 43
〈표 II-5〉 UPDATE 충돌이 발생한 예시 47
〈표 II-6〉 변경 트랜잭션에 의한 데이터 충돌 구분 48
〈표 II-7〉 데이터 충돌의 구분 48
〈표 II-8〉 데이터 충돌과 전송지연 발생 모델 50
〈표 II-9〉 DBMS 종류와 특징 50
〈표 II-10〉 동기화 기법의 특징과 문제점 51
〈표 III-1〉 Active-standby 이중화 모델의 서버 유형 52
〈표 III-2〉 공유 데이터 파일 구분 54
〈표 III-3〉 데이터 충돌 및 전송지연 회피 방안 64
〈표 IV-1〉 로그 분석기 모듈과 구성요소 72
〈표 IV-2〉 로그 분석기 동작 구분에 따른 특징 75
〈표 IV-3〉 로그 분석 API를 사용하기 위한 헤더 파일 77
〈표 IV-4〉 XLog 분석을 위한 주요 API 78
〈표 IV-5〉 이중화 제약사항 86
〈표 IV-6〉 이중화 기법과 로그 분석 기법의 특징 87
〈표 IV-7〉 로그 분석 기반 이중화 모델 유형 구분 89
〈표 IV-8〉 DBMS#01과 DBMS#02의 테이블 구성 95
〈표 IV-9〉 Master-Active 이중화 모델 역할 구분 103
〈표 V-1〉 성능시험을 위한 하드웨어와 OS 정보 110
〈표 V-2〉 성능시험을 위한 구성 환경과 시험 항목 112
〈표 V-3〉 동기화 기법의 동작 구분 설정 113
〈표 V-4〉 성능시험 측정 항목 115
[그림 I-1] 논문의 연구 방법과 구성 21
[그림 II-1] DRDBMS 구조 23
[그림 II-2] MMDBMS 구조 25
[그림 II-3] 하이브리드 DBMS 구조 28
[그림 II-4] DRDBMS 클러스터링 기법 32
[그림 II-5] DB Link 기법 34
[그림 II-6] MMDBMS 이중화 기법 36
[그림 II-7] 하이브리드 DBMS 이중화 기법 40
[그림 II-8] 이중화 XLog 수신 방법 44
[그림 III-1] 공유 디스크를 활용한 DR 모델의 구조 53
[그림 III-2] Active-Standby 이중화 모델 55
[그림 III-3] 장애 발생으로 인한 서비스 절체 상황 56
[그림 III-4] 장애 서버 자동 복구 과정 57
[그림 III-5] 업무 구분에 따른 부하 분산 모델 58
[그림 III-6] 이중화의 잘못된 구성 60
[그림 III-7] 이중화 트랜잭션 XLog를 재전송하는 경우 61
[그림 III-8] Point-to-Point 방식의 1:2 이중화 모델 62
[그림 III-9] Active-Active 이중화 모델 63
[그림 III-10] DML을 분리한 Active-Active 이중화 모델 65
[그림 III-11] 1:N 구조의 Active-Active 이중화 모델 66
[그림 III-12] N:N 구조의 Active-Active 이중화 모델 67
[그림 III-13] 테이블을 분리한 Active-Active 이중화 모델 68
[그림 III-14] 업무를 분리한 Active-Active 이중화 모델 69
[그림 III-15] PK를 분리한 Active-Active 이중화 모델 71
[그림 IV-1] 로그 분석기 구조 73
[그림 IV-2] XLog Collector 동작 방식 75
[그림 IV-3] 로그 분석 API 동작 순서 79
[그림 IV-4] 13가지 트랜잭션의 구조체 정의 81
[그림 IV-5] runXLogCollector() 알고리즘 82
[그림 IV-6] XLog 헤더 정보 83
[그림 IV-7] applyXLogToDBMS() 알고리즘 84
[그림 IV-8] 로그 분석 알고리즘 순서도 85
[그림 IV-9] XLog Collector가 지역서버에 위치한 형태 90
[그림 IV-10] XLog Collector가 원격서버에 위치한 형태 91
[그림 IV-11] 로그 분석 기반 Active-Standby 이중화 모델 92
[그림 IV-12] 이중화 기법 연동 모델 94
[그림 IV-13] 스키마가 다른 테이블 Active-Standby 모델 96
[그림 IV-14] 1:N 구조의 이중화 모델 98
[그림 IV-15] 1:N 구조의 로그 분석 기반 이중화 모델 99
[그림 IV-16] 로그 분석 기반 Active-Active 이중화 모델 100
[그림 IV-17] 스키마가 다른 테이블 Active-Active 모델 101
[그림 IV-18] 트랜잭션 감사를 위한 Master-Active 모델 104
[그림 IV-19] 서비스 업무 분산 Master-Active 모델 105
[그림 IV-20] 서비스 부하 분산 Master-Active 모델 107
[그림 IV-21] 이중화 기법과 연동한 Master-Active 모델 108
[그림 V-1] 성능시험 환경 111
[그림 V-2] 성능시험을 위한 테이블 스키마 114
[그림 V-3] 하이브리드 DBMS 성능 116
[그림 V-4] MMDBMS 성능 117
[그림 V-5] 하이브리드 DBMS와 MMDBMS 이중화 성능 118
[그림 V-6] 하이브리드 DBMS와 MMDBMS 메모리 사용량 119
[그림 V-7] 로그 분석 기법의 성능 120
[그림 V-8] 로그 분석 기법과 이중화 기법의 성능 121
[그림 V-9] 로그 분석 기법과 이중화 기법의 동기화 성능 122
[그림 V-10] DB LINK 기법의 성능 123
[그림 V-11] 로그 분석 기법과 DB LINK 기법의 성능 124
[그림 V-12] 로그 분석 기법과 DB LINK 기법 동기화 성능 125