본문 바로가기

Programming/DataBase System

Chapter1 - 데이터베이스 구조

  • 데이터베이스 구조



데이터베이스 시스템의 다양한 구성 요소와 그 구성 요소들 사이의 접속 관계가 하나의 그림으로 나타난다. 

    데이터베이스 시스템의 구조는 데이터베이스 시스템이 동작하는 컴퓨터 시스템에 의해서 크게 영향을 받는다. 데이터베이스 시스템은 중앙 집중 방식 또는 하나의 서버와 다중 클라이언트 장치들이 함게 작업을 수행하는 클라이언트-서버 방식이 있을 수 있다. 데이터베이스 시스템은 병렬 컴퓨터 구조를 이용하도록 설계될 수도 있다. 분산 데이터베이스는 여러 개의 지리적으로 분리된 컴퓨터 시스템에서 동작한다.

    대부분 데이터베이스 시스템 사용자들은 시스템에서 작업하기보다는 대개 네트워크를 통해 데이터베이스에 접속한다. 그러므로 원격으로 데이터베이스에 접속하여 작업하는 클라이언트(client)와, 데이터베이스 시스템이 실제로 설치되어 있는 서버(server)를 구별해야 한다.



    데이터베이스 응용 프로그램은 두 부분 또는 세 부분으로 나누어진다. 2 - 계층 구조(two-tier archtecture)에서는 응용 프로그램이 클라이엉ㄴ트 상에 존재하며 질의문을 보냄으로써 서버에 있는 데이터베이스 시스템의 기능을 불러온다. 이때 클라이언트와 서버 사이의 교신을 위해 ODBC JDBC 와 같응 응용 프로그램 인터페이스 표준이 사용된다.

    이와는 반대로, 3-계층 구조(three-tier architecture)에서 클라이언트는 어떤 데이터베이스 호출도 직접적으로 수행하지 않고  단지 전처리 시스템으로서의 역할만 한다. 대신, 클라이언트와 응용 프로그램 서버(application server) 사이의 교신은 대개 폼 인터페이스를 통해서 이루어진다. 다음으로, 응용 프로그램 서버는 데이터에 액세스하기 위해 데이터베이스 시스템과 통신한다. 어떤 행동(action)이 어떠한 조건 하에서 수행되는지를 가리키는 비즈니스 로직(business logic)은 여러 클라이언트에 분산되어 있는 것이 아니라 응용 프로그램 서버 쪽에 포함되어 있다. 3-계층 구조는 world wide web 이나 대규모의 응용 프로그램에 보다 적합하다.