1. 관계형 데이터베이스 관리 시스템 (RDBMS)
ㅇ 관계형 데이터베이스(Relational DataBase)를 관리하는 시스템
2. RDBMS의 특징
ㅇ 데이터를 테이블(Table,Relation) 구조로 저장
ㅇ 테이블은 행(Row,Tuple) 과 열(Column,Attribute)로 구성
ㅇ 사용자는 SQL(Structured Query Language)로 데이터 검색,삽입,갱신,삭제를 수행
※ 대표적 RDBMS 제품
- IBM DB2, ORACLE, MS SQL Server, MySQL, PostgreSQL 등
3. RDBMS의 내부 아키텍쳐 주요 구성
※ RDBMS는, 크게 프론트엔드(쿼리 처리) 와 백엔드(저장·관리) 로 나눌 수 있으며,
- 다음과 같은 주요 모듈로 구성됨
ㅇ 쿼리 평가 엔진 (Query Evaluation Engine)
- 사용자가 입력한 SQL 문장을 해석,최적화,실행하는 모듈
- 주요 서브 모듈
. 파서 (Parser) : SQL 문법 검증 및 내부 표현(구문 트리, Parse Tree)로 변환
. 옵티마이저 (Optimizer) : 최적화
.. 여러 실행 방법 중 비용이 가장 낮은 실행 계획(Execution Plan) 을 선택
.. 例) 인덱스 사용 여부, 조인 방식 선택 등
. 카탈로그 매니저 (Catalog manager) : DB 메타데이터(스키마,인덱스,통계 등)를 관리 제공
. 플랜 평가 (Plan evaluation) : 선택된 실행 계획을 실제 실행 가능한 단계로 변환
ㅇ 버퍼 매니저 (Buffer Manager)
- 디스크 I/O 최소화를 위해, 메모리 버퍼 풀(Buffer Pool)을 관리
. (성능 향상을 목적으로 메모리 영역을 확보해두고 관리)
. 자주 사용하는 데이터 페이지를 메모리에 캐시
. 교체 알고리즘(LRU, MRU 등)을 적용해 효율적 메모리 사용 보장
ㅇ 디스크 공간 관리자 (Disk Space Manager)
- 물리적인 저장 공간 관리
. 데이터 페이지, 인덱스 페이지, 로그 파일 등 파일 단위 관리
. 데이터 저장 시 파일 시스템과 인터페이스 담당
ㅇ 트랜잭션 매니저 (Transaction Manager)
- 데이터베이스의 ACID 특성(원자성, 일관성, 고립성, 지속성)을 보장
. 트랜잭션 시작, 커밋, 롤백 제어
. 동시성 제어(Concurrency Control) 지원
ㅇ 락 매니저 (Lock Manager)
- 동시성 제어(Concurrency Control) 세부 수행
. 테이블/레코드 단위 Lock 관리
. 교착상태(Deadlock) 탐지 및 해결
ㅇ 리커버리 매니저 (Recovery Manager)
- 장애(시스템 오류, 디스크 장애 등) 발생 시 데이터베이스를 일관된 상태로 복구
. 로그(Log)를 활용하여 REDO(재실행), UNDO(취소) 수행
. 체크포인트(Checkpoint) 관리