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
가급적이면, <Real MySQL 8.0>을 읽어보면서 좀 더 보충하면 좋을 듯..? 아니면 데이터베이스 일반론 정리 후에 MySQL 심화를 공부하는게 좋을 것 같다.
'Computer Science > Database' 카테고리의 다른 글
[데이터베이스 핵심 요약] 4. 트랜잭션(Transaction) (0) | 2022.11.11 |
---|---|
[데이터베이스 핵심 요약] 3. DBMS 질의어 - DDL, DML, DCL (0) | 2022.11.11 |
[데이터베이스 핵심 요약] 1. 데이터 독립성(Data Independence) (0) | 2022.11.11 |
[데이터베이스 기본] 3. OLTP vs OLAP (0) | 2022.10.05 |
[데이터베이스 기본] 2. 데이터베이스 스키마, 구조, 사용자 (0) | 2022.10.05 |