DBMS 아키텍처
한국에서는 Oracle, Micrisoft SQL Server, DB2, PostgreSQL, MySQL 등 많은 RDB가 존재하고 이러한 제품은 각각의 특징이 있다.
하지만 RDB로써 기능을 제공한다는 목적은 모두 동일하므로, 기본적인 구조 자체는 모두 같다.
DBMS 내부에는 어떠한 기능이 있을까
1. 쿼리 평가 엔진
사용자로부터 입력받은 SQL 구문을 분석하고, 어떤 순서로 기억장치의 데이터에 접근할지를 결정한다.
=> 이때 결정되는 계획을 '실행계획'이라고 함, 데이터에 접근하는 방법을 '접근 메서드(access method)'라고 함
한마디로 쿼리 평가 엔진은 계획을 세우고 실행하는 DBMS의 핵심 기능을 담당하는 모듈이다.
2. 버퍼 매니저
DBMS는 버퍼라는 특별한 용도로 사용하는 메모리 영역을 확보해두는데 이 영역을 관리하는 것이 버퍼 매니저이다.
디스크를 관리하는 디스크 용량 매니저와 함께 연동되어 작동
3. 디스크 용량 매니저
데이터베이스는 데이터를 영구적으로 저장해야 하고, 디스크 용량 매니저는 어디에 어떻게 데이터를 저장할지 관리하며, 데이터의 읽고 쓰기를 제어한다.
4. 트랜잭션 매니저와 락매니저
수백에서 수천 명의 사람이 동시에 데이터베이스에 접근해서 사용하는데, 이때 각각의 처리는 DBMS 내부에서 트랜잭션이라는 단위로 관리된다.
이러한 트랜잭션의 정합성을 유지하면서 실행시키고, 필요한 경우 데이터 락을 걸어 다른 사람의 요청을 대기시키는 것이 트랜잭션 매니저와 락 매니저의 역할이다.
5. 리커버리 매니저
시스템은 언제나 장애가 발생할 수 있기 때문에 이러한 상황을 대비하려면 데이터를 정기적으로 백업하고, 복구해줘야하는데 이러한 기능을 수행하는 것이 리커버리 매니저이다.
(출처 : SQL레벨업)
'데이터베이스 노트 > 데이터베이스' 카테고리의 다른 글
DBMS와 실행 계획_1 (0) | 2018.10.23 |
---|---|
DBMS와 버퍼 (0) | 2018.10.05 |
SQL 튜닝 (조인방법) (0) | 2018.08.22 |
SQL 튜닝 (접근경로) (0) | 2018.08.22 |
SQL 최적화 기본원리 (조인 수행 원리) (0) | 2018.08.22 |