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

심채운·2023년 6월 6일
0

학점은행제 컴공

목록 보기
4/40

데이터베이스 관리 시스템 구성

질의 최적화 모듈

연산들을 재배치하고, 연산들의 순서를 바꾸고, 중복이 존재하면 제거하고, 수행 시 사용할 정확한 알고리즘과 인덱스를 선택하는 기능을 수행하는 DBMS 모듈이다.

클라이언트-서버 아키텍처

서버와 클라이언트로 시스템을 구성하는 아키텍처이다. 데이터베이스 서버는 클라이언트에서 요구하는 질의의 처리와 트랜잭션 서비스를 제공한다. 데이터베이스 클라이언트는 자체적으로 데이터베이스 응용프로그램을 수행하고, 서버에 접속하여 데이터베이스 관련 작업을 할 수 있도록 사용자 인터페이스를 제공한다.

관계 데이터 베이스 관리 시스템(RDBMS)

관계 모델을 지원하는 DBMS이다. 데이터베이스를 테이블들의 모임으로 구성되어 있으며 고급 질의 언어를 제공하고 제한된 형태의 사용자 뷰를 지원한다.

DBMS 구성 모듈

  • 데이터 정의 언어 컴파일러(DDL Compiler)
    • 데이터 정의 언어로 명시된 스키마 정의들을 처리
    • 스키마들에 대한 정보(메타 데이터)를 DBMS 카탈로그 안에 저장함
    • 카탈로그는 파일의 이름과 크기, 데이터 항목의 이름과 데이터 타입, 각 파일의 저장 형태, 스키마 사이의 사상 정보, 제약조건들에 대한 정보 등을 포함
    • 다른 모듈들은 이런 정보가 필요할 때 마다 카탈로그에 접근
  • 질의 컴파일러(Query Compiler)
    • 대화식으로 입력된 고수준 질의들을 파싱하여 연산과 데이터 요소들이 정확한가를 분석하고 내부 형태로 컴파일 함
  • 질의 최적화기(Query Optimizer)
    • 질의 컴파일러에 의해 생성된 내부 형태는 질의 최적화를 거치게 됨
    • 질의 최적화기는 연산들을 재배치하고(응답시간 향상), 연산들의 순서를 바꾸고, 중복이 존재하면 제거하고, 수행 시 사용할 정확한 알고리즘과 인덱스를 선택함
  • 프리컴파일러(Precompiler)
    • Java, C, C++ 등의 호스트 프로그래밍 언어로 작성된 응용프로그램에서 데이터 조작 명령들을 추출
    • 추출된 데이터 조작 명령들은 데이터 조작어 컴파일러로 보내져 목적코드로 컴파일 됨
    • 응용프로그램의 나머지 부분은 호스트 언어 컴파일러로 보내져 목적코드로 컴파일 됨
    • 두 목적코드가 링크되어 런타임 데이터베이스 처리기의 호출 등을 포함하는 실행코드로 이루어진 미리 작성된 트랜잭션이 됨
  • 데이터 조작 언어 컴파일러(DML Compiler)
    • 데이터 조작 명령들을 데이터베이스 접근을 위한 목적 코드로 컴파일 함
  • 호스트 언어 컴파일러(Host Language Compiler)
    • 데이터조작 명령이 제거된 응용프로그램의 나머지 부분을 목적코드로 컴파일 함
  • 런타임 데이터베이스 처리기(Runtime Database Processor)
    • 수행 시 실제 데이터베이스 접근을 처리
    • DBA의 특권 명령, 실행 가능한 질의 계획(Queries), 런타임 시 매개변수를 받는 미리 작성된 트랜잭션 등을 수행
    • 시스템 사전(카탈로그)과 연동되어 동작하며, 사전의 통계(응답시간, 질의 최적화) 정보를 갱신할 수도 있음
    • 동시성 제어/백업/회복 서브시스템은 트랜잭션 관리를 위해 런타임 데이터베이스 처리기와 통합되어 동작됨
  • 저장 데이터 관리자(Stored Data Manager)
    • 디스크와 주기억장치 간의 저수준 입출력 연산들을 수행하기 위해 운영체제의 기본 서비스를 사용함
    • 주기억장치 내의 버퍼관리와 같은 데이터 전송 관련 기능도 수행

데이터베이스 시스템 유틸리티

  • 구성 모듈들 외에도 DBMS는 데이터베이스 관리자의 데이터베이스 시스템 운영을 도와주는 유틸리티들을 가짐
  • 적재 유틸리티
    • 텍스트 파일이나 순차 파일과 같은 데이터 파일들을 자동적으로 데이터베이스 파일 형식으로 변환해서 저장함
  • 백업 유틸리티
    • 전체 데이터베이스를 테이프 장치나 디스크 장치에 복사하여 데이터베이스의 백업 사본을 만듦
  • 파일 재조직 유틸리티
    • 성능 향상을 위해 데이터베이스 파일 구조를 다른 파일 구조로 재조직
  • 성능 모니터링 유틸리티
    • 데이터베이스의 사용을 모니터해서 사용통계를 데이터베이스 관리자에게 제공함
    • 이 정보는 관리자가 데이터베이스 성능을 향상시키기 위해서 파일들을 재조직할 것인지를 결정하는데 사용됨
  • 데이터 사전 시스템
    • 스키마와 제약 조건들에 관한 카탈로그 정보와 설계 결정, 사용 표준, 응용프로그램 기술, 사용자 정보 등과 같은 정보를 저장
    • DBMS 카탈로그와 유사하나 더 다양한 정보를 가짐
    • DBMS 소프트웨어보다는 주로 사욪아가 접근
    • 데이터 저장소(Data repository system) 혹은 정보 저장소(Information repository)라고도 함
  • CASE/응용개발 환경
    • 데이터베이스 시스템을 설계하는 과정에서 사용되는 툴로는 ER Win, Toad for Data Modeler 등이 있음
    • 응용 개발 환경으로는 PowerBuilder(Sybase), JBuilder(Borland), JDeveloper 10G(Oracle) 등이 있음
    • 통신 소프트웨어와 통신 장비를 사용하여 데이터베이스 시스템 사이트로부터 멀리 떨어진 컴퓨터 터미널, 워크스테이션, 마이크로 컴퓨터나 소형 컴퓨터에서 데이터베이스를 접근하는 것이 가능함

서버-클라이언트 아키텍처

중앙집중식 아키텍처

  • 하나의 시스템에 DBMS 소프트웨어, 하드웨어, 응용프로그램, 사용자 인터페이스 소프트웨어 등 데이터베이스 관련 모든 것들을 모아 놓은 구조
  • 사용자는 터미널을 사용하여 연결할 수 있지만, 모든 처리는 집중화된 단일 시스템에서 수행

기본적인 2-tier 서버-클라이언트 아키텍처

  • 클라이언트-서버 아키텍처
    • 특정 기능을 갖는 특별한 서버를 지정
    • DBMS 서버, 파일 서버, 프린트 서버, 웹 서버, 전자 우편 서버 등
    • 클라이언트는 자신의 응용들을 수행하기 위한 처리 기능뿐만 아니라 서버들을 이용하기 위한 인터페이스 제공

DBMS를 위한 2-tier 서버-클라이언트 아키텍처

  • 서버
    • 질의 서버, 트랜잭션 서버, SQL 서버
    • 질의 처리와 트랜잭션 서비스를 클라이언트에게 제공함
    • 클라이언트 상에서 수행되는 응용들은 ODBC,JDBC와 같은 표준 인터페이스에서 제공하는 API를 사용하여 데이터베이스 서버에 접근함
  • 클라이언트
    • 사용자 인터페이스 프로그램과 응용프로그램 수행

웹 응용을 위한 3-tier 서버-클라이언트 아키텍처

  • 클라이언트와 데이터베이스 서버 사이에 응용 서버 또는 웹 서버(WAS)를 추가
  • 이 서버는 웹으로 연결할 수 있도록 하고, 비즈니스 규칙 들을 저장함으로써 중간 역할을 수행함
  • 클라이언트가 직접 데이터베이스 서버에 접속하지 못하도록 하고 중간 층을 통해서만 데이터베이스 서버에 접근하도록 함으로써 보안을 강화할 수 있음

데이터베이스 관리 시스템의 분류

DBMS의 분류 기준

  • 데이터 모델 : 관계, 네트워크, 계층, 객체지향, 객체관계 등
  • 사용자 수 : 단일 사용자, 다수 사용자 시스템
  • 사이트 수 : 중앙집중식, 분산 DBMS
  • DBMS 비용
  • 접근 경로 유형
  • 범용 또는 특수 목적용

DBMS 분류

  • 관계 모델을 지원하는 RDBMS
    • 데이터베이스를 테이블들의 모임으로 구성
    • 고급 질의어를 제공하고 제한된 형태의 사용자 뷰를 지원
  • 객체지향 모델을 지원하는 OODBMS
    • 객체, 속성, 연산으로 데이터베이스를 정의
    • 같은 구조와 행위를 갖는 객체들은 한 클래스에 속하고 클래스들은 계층 또는 비 순환 그래프로 조직됨
    • 메소드라고 하는 미리 정의된 프로시저들이 클래스의 연산을 나타냄
  • 객체-관계 모델을 지원하는 ORDBMS
    • 관계 모델에 객체지향 모델의 개념을 일부 도입하여 확장한 모델
    • 현대적 DBMS들은 거의 모두 ORDBMS
profile
불가능, 그것은 사실이 아니라 하나의 의견일 뿐이다. - 무하마드 알리

0개의 댓글