표제지
목차
논문요약 9
제1장 서론 10
제1절 연구의 배경 10
제2절 연구의 목적 11
제3절 연구의 범위와 방법 13
제2장 이론적 배경 15
제1절 DBMS의 데이터 입출력 구조 15
1. DBMS의 아키텍처와 데이터 구조 15
2. 버퍼 캐시(Buffer Cache) 16
3. 체크 포인트(Check Point) 17
4. LRU 알고리즘(Least Recently Used Algorithm) 18
5. DBMS의 데이터 입출력 특징 19
제2절 트랜잭션 동시성 제어 19
1. 트랜잭션의 특징 19
2. Lock 20
3. 2PL 프로토콜(Two Phase Locking Protocol) 21
4. 동시성과 일관성의 관계 21
제3장 대량 트랜잭션 환경에서의 모델링 제안 23
제1절 소셜 네트워크 게임의 일반적인 정규화 모델링 23
제2절 제안하는 SQL문의 I/O 특징에 의한 모델링 28
제4장 모델링에 따른 SQL문 처리 성능 실험 34
제1절 실험 환경 34
제2절 실험 결과 측정 40
1. 시나리오 1단계 실험 40
2. 시나리오 2단계 실험 43
3. 시나리오 3단계 실험 47
제3절 실험 결과 비교 분석 50
제5장 결론 51
참고문헌 53
ABSTRACT 55
〈표 2-1〉 트랜잭션의 4가지 특징 20
〈표 2-2〉 공유 Lock과 배타적 Lock의 호환성 관계 21
〈표 3-1〉 유저 테이블 26
〈표 3-2〉 친구 리스트 테이블 26
〈표 3-3〉 게임에서 실행되는 SQL문 27
〈표 3-4〉 변경이 적은 유저 테이블 29
〈표 3-5〉 변경이 많은 유저 테이블 30
〈표 3-6〉 게임에서 실행되는 변경된 SQL문 31
〈표 4-1〉 DBMS 서버 사양 34
〈표 4-2〉 부하 발생 서버 사양 35
〈표 4-3〉 저장 프로시저 구현 방법 36
〈표 4-4〉 테이블별 데이터 수 37
〈표 4-5〉 실험 시나리오 38
〈표 4-6〉 성능 측정 SQL문 39
〈표 4-7〉 성능 모니터 객체 39
〈표 4-8〉 시나리오 1단계 실험 결과 41
〈표 4-9〉 시나리오 2단계 실험 결과 44
〈표 4-10〉 시나리오 3단계 실험 결과 48
[그림 1-1] CACHE 서버 구성의 데이터 입출력 12
[그림 2-1] Oracle과 SQL Server 아키텍처 15
[그림 2-2] 데이터 파일 구조 16
[그림 2-3] LRU List 18
[그림 2-4] 동시성과 일관성 의 상관관계 22
[그림 3-1] 소셜 네트워크 게임 순서도 25
[그림 3-2] 유저 테이블의 필드 변경 빈도 29
[그림 4-1] 각 SQL문의 실행 비율 38
[그림 4-2] 시나리오 1단계의 SQL문 성능 비교 41
[그림 4-3] 시나리오 1단계의 대기 시간 비교 42
[그림 4-4] 시나리오 1단계의 Lock 비교 42
[그림 4-5] 시나리오 1단계의 쓰기 I/O 비교 43
[그림 4-6] 시나리오 2단계의 SQL문 성능 비교 45
[그림 4-7] 시나리오 2단계의 대기 시간 비교 45
[그림 4-8] 시나리오 2단계의 Lock 비교 46
[그림 4-9] 시나리오 2단계의 쓰기 I/O 비교 46
[그림 4-10] 시나리오 3단계의 SQL문 성능 비교 48
[그림 4-11] 시나리오 3단계의 대기 시간 비교 49
[그림 4-12] 시나리오 3단계의 Lock 비교 49
[그림 4-13] 시나리오 3단계의 쓰기 I/O 비교 50