I. DB Refactoring의 개요
가. DB Refactoring의 정의
- DB Refactoring은 데이터베이스의 의미에 대한 아무런 변환 없이 디자인을 개선하는 작업
나. DB Refactoring의 특징
- 데이터베이스 리팩토링은 코드 리팩토링보다 구현이 어렵기 때문에 신중함 필요
- 스키마 자체의 변경 뿐만 아니라, 해당 스키마에 종속된 어플리케이션까지 재 작성 필요
다. DB Refactoring의 목적
II. DB Refactoring의 유형 및 절차
가. DB Refactoring의 유형
유형 |
설명 |
구조 리팩토링 |
- 데이터베이스 스키마의 테이블 구조 변경 |
데이터품질 리팩토링 |
- 데이터베이스에 저장되어 있는 값의 일관성 및 사용성 개선 |
참조무결성 리팩토링 |
- 참조된 컬럼에 대한 무결성 보장을 위한 제약조건 추가 |
아키텍처 리팩토링 |
- 외부 프로그램이 데이터베이스와 상호 작용하는 전반적인 방법 개선 |
기능 리팩토링 |
- 저장 프로시저의 품질, 저장 기능, 트리거를 개선 변경 |
변환 |
- 새로운 요소를 추가, 수정하여 데이터베이스 스키마 변경 |
나. DB Refactoring의 절차
단계 |
설명 |
1 |
- DB Smell에 의한 DB Refactoring 필요 요건 확인 |
2 |
- 가장 적합한 Refactoring 유형 및 기법 선택 |
3 |
- 기존 스키마에 대한 분석 |
4 |
- 단위 테스트 작성 |
5 |
- 데이터베이스 스키마 수정 |
6 |
- 원본 데이터에 대한 마이그레이션 수행 |
7 |
- 외부 액세스 프로그램 업데이트 |
8 |
- 데이터 마이그레이션 스크립트 업데이트 |
9 |
- 회귀 테스트 수행 |
10 |
- 리팩토링 완료에 대한 공식화 |
11 |
- 버전 작업 수행 |
'IT기술노트 > 데이터베이스' 카테고리의 다른 글
다중버전 동시성 제어(MVCC, Multi-Version Concurrency Control) (1) | 2021.09.20 |
---|---|
데이터베이스 샤드(Database Shard) (0) | 2021.03.07 |
In-Memory Database (0) | 2021.03.07 |
DB Smell (0) | 2021.03.07 |
Streaming DBMS (0) | 2021.03.07 |
분산 데이터베이스 (0) | 2021.03.07 |
XML DB (0) | 2021.03.07 |
공간DB (0) | 2021.03.07 |
댓글