본문 바로가기

공부/DataBase (DB)

데이터 베이스 관리 시스템(DBMS)의 구성

데이터베이스 관리 시스템(database management system, DBMS)은 다수의 사용자들이 데이터베이스 내의 데이터를 접근할 수 있도록 해주는 소프트웨어 도구의 집합이다. DBMS은 사용자 또는 다른 프로그램의 요구를 처리하고 적절히 응답하여 데이터를 사용할 수 있도록 해준다.

참조 : https://beansberries.tistory.com/entry/DBMS%EC%9D%98-%EA%B5%AC%EC%84%B1

1. DDL 컴파일러

DDL로 명세 된 스키마 정의를 내부형태, 즉 메타 데이터로 처리하여 시스템 카탈로그에 저장한다. 이 카탈로그에는 파일의 이름과 크기, 데이터 아이템의 이름과 타입, 각 파일의 저장 세부 사항, 스키마 사이의 사상 정보, 제약 조건 등 DBMS 모듈들이 필요로 하는 많은 종류의 정보들을 포함하고 있다. 따라서 모든 DBMS 모듈들은 필요 시에 이 카탈로그 정보를 접근해서 이용한다.

2. 질의어 처리기

터미널을 통해 일반 사용자가 제출한 고급 질의문을 처리한다. 이것은 질의문을 검사하고 파싱해서 컴파일 한다. 그리고 효율적인 데이터베이스 접근 코드를 생성한 뒤에, 이 코드 실행을 위해 런타임 데이터베이스 처리기에 보내진다.

3. DML 예비 컴파일러

호스트 프로그래밍 언어로 작성된 응용 프로그램 속에 삽입되어 있는 DML 명령문(DSL)들을 추출한다. 이 명령문들은 데이터베이스 접근을 위한 목적 코드로 컴파일 되도록 DML 컴파일러에 보내진다. 프로그램의 나머지 부분은 호스트 프로그래밍 언어의 컴파일러에 보내진다.

DML명령문 -> DML 컴파일러로
나머지 프로그램 -> 해당언어의 컴파일러로

응용프로그램에서 DML 명령문만 추출하여 구분하는 작업

4. DML 컴파일러

DML 예비 컴파일러가 넘겨준 DML 명령어를 컴파일하여 효율적인 목적 코드를 생성한다. DML에 대한 목적코드는 호스트 프로그래밍 언어 컴파일러에 의해 처리된 나머지 응용 프로그램의 목적 코드와 연결되어 런타임 데이터베이스 처리기에 의해 실행된다.

5. 런타임 데이터베이스 처리기

실행 시간에 데이터베이스 접근을 관리한다. 이것은 검색이나 갱신과 같은 데이터베이스 연산을 저장 데이터 관리자를 통해 디스크에 저장된 데이터베이스에 실행시킨다.

6. 트랜잭션 관리자

데이터베이스를 접근하는 과정에서 무결성 제약조건이 만족하는지, 데이터를 접근할 권한을 사용자가 가지고 있는지 권한 검사를 한다. 또한 여러 사용자의 요구를 동시에 처리할 수 있도록 트랜잭션의 병행 제어나 장애발생시 회복 작업을 수행한다.

7. 저장데이터 관리자

디스크에 저장되어 있는 사용자 데이터베이스나 카탈로그 접근을 책임진다. 디스크에 저장되어 있는 저장 레코드의 접근 요청은 파일 관리자가 먼저 어떤 파일의 어떤 페이지인가를 결정하고, 실제로 디스크와 메인 메모리 버퍼 사이의 데이터 전송을 책임지고 있는 디스크 관리자로 하여금 수행케 한다. 이 기능은 대부분 OS의 기본 모듈에 해당된다. 일단 메인 메모리의 데이터 버퍼에 전송된 데이터는 버퍼 관리자가 데이터 처리를 위해 관리한다.

 

'공부 > DataBase (DB)' 카테고리의 다른 글

SQL 문법 예시  (0) 2019.06.17
[DB개념] Key  (0) 2019.06.17
DBMS 언어 SQL (Structured Query Language)  (0) 2019.06.17
데이터 베이스(DB)의 기본 구조  (0) 2019.06.17