본문 바로가기
Computer Science/Database

[데이터베이스 핵심 요약] 2. DBMS(Database Management System) 정의

by pilgyeong 2022. 11. 11.

1. DBMS 정의

응용 프로그램과 데이터 사이의 중재자 역할으로서 모든 응용 프로그램(사용자)들이 데이터베이스를 공용할 수 있게 관리해주는 범용 소프트웨어 시스템을 말하며, 일반 파일 시스템의 문제점인 종속성과 중복성을 해결하기 위해 고안되었다. 즉, 데이터베이스를 효율적으로 관리하기 위한 시스템이다.

 

 

2. DB와 DBMS의 차이

DB(database): 데이터 저장서 및 데이터를 통합・저장하고 운영하는 집합체

DBMS: DB를 생성하고 효율적으로 관리하기 위한 관리 시스템으로서 Oracle, MySQL, PostgreSQL, MongoDB 등이 있다.

 

3. DBMS 주요 기능

  • 사용자간의 권한 통제 (데이터 접근 통제)
  • 데이터 일관성과 무결성 보장
  • 데이터를 표준화하고 통합 관리 가능
  • 트랜잭션 관리(Rollback, Commint)
  • 데이터 동시성 제어
  • 시스템 장애로부터 복구 및 회복

 

4. DBMS 구성 요소

  • 질의어 처리기: 터미널에 접속한 사용자의 질의문을 분석하고 파싱(Parsing)하여 컴파일 한다. 데이터베이스 접근 코드를 생성한 후 런타임 DB로 보낸다.
  • DDL 컴파일러: DDL로 명세된 스키마를 메타데이터로 처리하여 카탈로그에 저장한다. 모든 DBMS 모듈은 카탈로그 정보에 접근해서 이용해야 한다.
  • DML 예비 컴파일러: 응용 프로그램의 DML을 추출하는 역할이다. 목적 코드로 컴파일될 수 있도록 DML 컴파일로 보낸다.
  • DML 컴파일러: DML 명령어를 파싱하고, 컴파일하여 목적코드로 생성한다.
  • 런타임 DB 처리기: 실행 시간에 데이터베이스 접근을 관리한다. 검색이나 갱신 연산을 데이터베이스에서 실행시킨다.
  • 트랜잭션 관리자: 무결성 제약조건 만족여부나 사용자 권한 검사 등을 체크한다. 트랜잭션 병행제어나 장애 시 회복작업 등을 수행한다.

 

 

 

[참고] https://gpglab.tistory.com/7

 

[ MySQL 아키텍처 ] 1. MySQL 엔진 아키텍처 (1)

MySQL 엔진 아키텍처 (1) 1. MySQL 전체 구조 2. MySQL 스레딩 구조 3. 메모리 할당 및 사용 구조 1. MySQL 전체 구조 MySQL은 일반적인 상용 RDBMS와 프로그래밍 언어 대부분으로부터 MySQL 서버(MySQL엔진 + 스토

gpglab.tistory.com


가급적이면, <Real MySQL 8.0>을 읽어보면서 좀 더 보충하면 좋을 듯..? 아니면 데이터베이스 일반론 정리 후에 MySQL 심화를 공부하는게 좋을 것 같다.