DNF LOVE

[데이터베이스론 - 기초2] 데이터베이스의 다양한 데이터 처리 시스템(데이터베이스관리시스템, DBMS) 본문

Computer Science/데이터베이스

[데이터베이스론 - 기초2] 데이터베이스의 다양한 데이터 처리 시스템(데이터베이스관리시스템, DBMS)

botho 2019. 7. 24. 22:43
반응형

1. 데이터 처리 메커니즘

  1) 일괄 처리 : 데이터를 수집해서 분류하고 정렬시킨 다음에 일괄 처리하는 데이터 처리 방법(ex 자기테이프)

⓵ 사전 준비 작업 필요 : 원시 데이터의 수집, 분류 정리하여 파일에 수록(단점)

⓶ 사용자 측면에서 처리 결과를 위해서는 대기해야 함 (단점)

⓷ 시스템 중심 처리 방법 : 높은 시스템 성능, 각 트랜잭션 당 처리 비용이 적게 듦(장점)

⓸ 자기 테이프 같은 순차 접근 방법 이용 업무에 유리(장점)

==> 긴 처리 시간, 트랜잭션 작성에 따른 시간 소모적인 작업량, 데이터 수록을 위한 수동적 절차에 따른 경비 등을 보완하기 위해
               온라인 시스템 개발됨


  2) 온라인 처리 : 사전 준비 작업 없이 곧바로 데이터를 처리하는 방식

⓵ 실시간 처리

⓶ 사용자 중심 처리 방법 : 낮은 시스템 성능, 높은 처리 비용

통신 제어기가 필요

⓸ 보수, 유지, 회복의 오버헤드

==> 보수 유지가 어렵게 되고 회복도 복잡해짐. 모든 단말 장치의 통신도 항상 가동 상태로

유지되어야 하기 때문. 시스템 오버헤드로 연결되어 시스템 성능 저하의 원인이 될 수 있음


  3) 분산 처리★ : 물리적으로 분산 되어 있는 처리기와 데이터베이스를 네트워크로 연결시켜 사용자는 마치

논리적으로 하나의 시스템을 사용하는 것처럼 데이터를 처리해주는 시스템.(=클라이언트/서버 시스템)

⓵  분산 네트워크 : 지역적으로 분산되어 독립적으로 운영될 수 있는 처리기들을 연결시켜 자원을 공급

⓶ 분산 데이터 베이스 : 데이터가 지리적으로 분산 저장 되어 있는 형태의 데이터베이스

⓷ 지역 처리기(=지역 컴퓨터 시스템, 분산 처리기) : 하나의 트랜잭션은 어느 한 컴퓨터인 지역 처리기에 의해 완전히 처리되거나
            또는 일부만 처리될 수 있다.
           일부만 처리된 트랜잭션은 그 완전한 결과를 위해 다른 지역 처리기로 보내지거나 다른 그 지역 처리기가 관리하고 있는
            데이터를 전송받아 처리할 수 있다.

==> 데이터 처리를 해달라고나 전송을 요청하는 컴퓨터 처리기 : 클라이언트

데이터를 처리해주거나 전송해주는 컴퓨터 처리기 : 서버

==> 통신 네트워크를 중심으로 여러 가지 지역 컴퓨터들이 있는데, 각각의 지역에는 지역 컴퓨터와 지역 데이터베이스가 있음.
               이들을 통해 분산되어 서로 처리를 하고, 각각의 서버와 클라이언트를 통해 통신 네트워크에 요청을 주고받는다.

=> 각 시스템은 하나의 구성원으로서 범 시스템적인 규정에 따라 통제를 받음.





2. 데이터 처리 시스템

 1) 파일 중심 데이터 처리 시스템

- DBMS이전에 파일 중심 데이터 처리 시스템이 있었다.

- 각 응용 프로그램이 논리적 파일 구조를 정의하고 직접 물리적 파일 구조로 구현

- 각 응용 프로그램이 물리적 데이터 구조에 대한 접근 방법을 구현

- 각 사용자가 데이터와 이를 처리하는 프로그램을 모두 관리 유지

        - 파일 관리 시스템과 응용 프로그램 : 파일 관리 시스템은 같은 데이터에 대해 응용 시스템들이 요구하는 상이한 형태의 데이터 구조를

          지원하지는 못함. 이 때문에 데이터 중복성이 발생이 되는데 데이터 중복성은 다음과 같은 문제점을 야기함.

- 문제1. 응용 간의 데이터 공용이 불가능하다. 이는 DBMS가 생긴 이유이다.

- 문제2. 프로그램 파일 사이에 종속성과 중복성을 야기한다. 데이터 <--> 파일 1:1 관계이기 때문이다.
                                          (이와 관련된 문제는 위 링크를 보도록 하자)




2. DBMS(DataBase Management System) : 응용 프로그램과 데이터 사이의 중재자로서 모든 응용 프로그램,

  사용자들이 데이터베이스를 공용할 수 있게 관리해 주는 범용 소프트웨어 시스템

OS <-> DBMS <-> 응용 프로그램

  1) DBMS의 필수 기능

⓵ 정의기능 : 하나의 저장구조로 여러 사용자의 요구를 지원할 수 있도록 데이터를 조직하는 기능.

   응용 프로그램과 데이터베이스가 서로 인터페이스를 할 수 있는 방법 제공한다.

- 정의 기능의 요건

⓵ 데이터의 논리적 구조를 명세

⓶ 데이터의 물리적 구조를 명세

⓷ 논리적, 물리적 사상을 명세

⓶ 조작기능 : 사용자와 데이터베이스간의 인터페이스를 위한 수단이다.

  - 체계적 데이터베이스 접근 및 조작 : 검색, 갱신, 삽입, 삭제 등

  - 데이터 언어로 표현된다.

⓵ 사용하기가 쉽고 자연스러운 도구

⓶ 원하는 연산의 명세 가능

⓷ 효율적인 처리

⓷ 제어 기능 : 데이터의 정확성과 보안성을 유지하는 기능한다.

⓵ 무결성 유지

⓶ 보안, 권한 검사

⓷ 병행 수행 제어

⓸ 복구

  2) 장점

- 데이터 중복의 최소화 : 어떤 데이터가 중복 된지 알기 때문에 중복 제어 가능.

- 데이터의 공용 : 유지 관리 부담을 면제 시켜주고 응용 자체에 전념할 수 있게 해줌

- 일관성 유지 : 데이터 중복을 최소화하여 데이터 간의 모순을 통제하고 일관성 유지

- 무결성 유지 : 무결성이란 데이터베이스에 저장된 데이터 값과 그것이 표현하는 현실 세계의

실제 값이 일치하는 정확성을 의미함. DBMS에서 데이터베이스가 접근 처리 될 때 마다

제어 기능을 통해 유효성 검사하면서 무결성 유지 가능

- 보안 보장 : 데이터베이스를 중앙 집중식으로 총괄, 관장함으로써 데베의 관리 및 접근 효율적 제어

- 표준화 용이 : 제어기능을 통해 데이터의 형식, 내용, 처리 방식, 문서화 양식 등 표준화 쉽게 시행

- 기관 전체 데이터 요구의 조정 

  3) 단점

- 운영비의 오버해드(증대) : 많은 메모리와 빠른 cpu를 요구하여 돈이 많이 필요하다

- 특정 응용 프로그램의 복잡화

- 복잡한 백업과 리커버리(회복) : 구조가 복잡하고 멀티 유저 인터페이스이기 때문에 백업과 리커버리가 복잡하다.

- 시스템의 취약성 ( 다 기능에 의해 더 빨리 고장남) : 이로 인해 시스템의 신뢰성과 가용성 저해한다.

  4) DBMS의 궁극적인 목표 : 데이터 독립성

    : 데이터 독립성이란 데이터의 물리적, 논리적 구조 등이 변경이 되어도 응용 프로그램에 영향을 주지 않는다.

     DBMS는 최소의 데이터 중복성과 종속성을 유지해야 좋은 DB라 할 수 있다.

     이 데이터 독립성은 Mapping을 통해 논리적, 물리적 데이터 독립성을 유지하도록 한다. (논리적, 물리적 데이터 독립성이란?)

반응형