데이터베이스 관리 시스템
포스트
취소

데이터베이스 관리 시스템

기존 파일 시스템의 문제점

  • 같은 내용의 데이터가 여러 파일에 중복 저장된다.
  • 응용 프로그램이 데이터 파일에 종속적이다.
  • 데이터 파일에 대한 동시 공유, 보안, 회복 기능이 부족하다.
  • 응용 프로그램 개발이 쉽지 않다.

데이터베이스 관리 시스템(DataBase Management System, DBMS)이란?

  • 파일 시스템이 가진 데이터 중복과 데이터 종속 문제를 해결하기 위해 제시된 소프트웨어
  • 조직에 필요한 데이터를 DB에 통합하여 저장하고 이에 대한 관리를 집중적으로 담당한다.
  • 응용 프로그램을 대신하여 DB에 존재하는 데이터의 CRUD를 가능하게 하고, 모든 응용 프로그램이 DB를 공유할 수 있게 한다.
  • DB 구조나 접근 방법 등이 변경되어도, 사용자가 미리 알거나 응용 프로그램을 변경할 필요가 없어 데이터 독립성이 확보된다.

DBMS의 주요 기능

  • 정의 기능
    • DB 구조를 정의하거나 수정
  • 조작 기능
    • 데이터에 대해서 CRUD 연산 실행
  • 제어 기능
    • 데이터를 항상 정확하고 안전하게 유지

DBMS의 장점

  • 데이터 중복을 통제할 수 있다.
  • 데이터 독립성이 확보된다.
  • 데이터를 동시 공유할 수 있다.
  • 데이터 보안이 향상된다.
  • 데이터 무결성을 유지할 수 있다.
  • 표준화할 수 있다.
  • 장애 발생 시 회복이 가능하다.
  • 응용 프로그램 개발 비용이 줄어든다.

DBMS의 단점

  • 비용이 많이 든다.
  • 백업과 회복 방법이 복잡하다.
  • 중앙 집중 관리로 인한 취약점이 존재한다.

DBMS의 구성

질의 처리기 (query processor)

  • 사용자의 데이터 처리 요구를 해석하여 처리하는 역할
  • 포함하는 요소
    • DDL 컴파일러
      • 데이터 정의어로 작성된 스키마의 정의를 해석한다.
      • 저장 데이터 관리자의 도움을 받아 새로운 DB를 구축하고, 스키마의 정의를 데이터 사전에 저장한다.
      • 데이터 정의어로 작성된 기존 스키마의 삭제나 수정 요청도 처리하여 변경된 내용을 데이터 사전에 적용한다.
    • DML 프리 컴파일러
      • 응용 프로그램에 삽입된 데이터 조작어를 추출하여 DML 컴파일러에 보낸다.
        • 데이터 조작어와 관련이 없는 나머지 코드들은 해당 언어의 컴파일러에 보내진다.
    • DML 컴파일러
      • 데이터 조작어로 작성된 데이터의 처리(CRUD) 요구를 분석하여
        런타임 데이터베이스 처리기가 이해할 수 있도록 해석한다.
    • 런타임 데이터베이스 처리기
      • 저장 데이터 관리자를 통해 DB에 접근하여, DML 컴파일러로부터 전달받은 데이터 처리 요구를 DB에서 실제로 실행한다.
    • 트랜잭션 관리자
      • DB에 접근하는 과정에서 사용자의 접근권한이 유효한지를 검사한다.
      • DB 무결성을 유지하기 위한 제약조건 위반 여부를 확인한다.
      • 회복이나 병행 수행과 관련된 작업을 담당한다.

저장 데이터 관리자 (stored data manager)

  • 디스크에 저장되어 있는 사용자 데이터베이스와 데이터 사전을 관리하고,
    여기에 실제로 접근하는 역할을 담당한다.
  • 디스크에 저장된 데이터에 접근하는 것은 운영체제의 기본 기능이다.
    • 저장 데이터 관리자는 운영체제의 도움을 받아 데이터베이스에 대한 접근을 수행한다.
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.