본문 바로가기
전공수업/데이터베이스 [DB]

제 2장] 데이터베이스 관리 시스템

by wonseok99 2019. 10. 7.

1] DB를 어떻게 관리해야할까?

4차 산업혁명 시대의 핵심 기술들의 원동력은 데이터라고 말할 정도로 데이터는 중요하다. 이러한 데이터를 효율적으로 관리하기 위해서는 데이터베이스가 반드시 필요하다. 하지만 DB는 데이터를 모아놓은 집합일 뿐.

데이터를 관리하는 담당 시스템이 따로 있는데 바로 파일 시스템 데이터베이스 관리 시스템 [DBMS] 이다.

이번 장에서는 파일 시스템이 가진 문제점과 그리고 그 대안제로 제시된 DBMS의 핵심 기능과 장단점을 살펴보자.

 

 

2] DBMS의 등장 배경

파일 시스템은 과거부터 오래 사용되어 오던 정보 처리 시스템이다. 데이터를 파일로 관리할 수 있도록 파일을 C.R.U.D [생성, 삭제, 수정, 검색] 하는 기능을 제공하며 운영체제와 함께 설치된다. 

파일 시스템 환경에서는 응용 프로그래머가 파일의 논리적인 구조뿐 아니라 물리적인 구조까지 정확하게 파악해야 한다. 그래야 필요한 데이터에 직접 접근하여 처리하는 프로그램을 개발할 수 있었다. 

파일 시스템은 응용 프로그램마다 파일을 따로 유지하는 특징 때문에 다음과 같은 문제가 발생한다.

 

- 같은 내용의 데이터가 여러 파일에 중복 저장된다.

응용 프로그램별로 파일을 유지하여서 중복성 문제가 발생. 기본키값이 적용되는 여러개의 릴레이션에서 유효하지 않은 [ 정해진 규칙에서 어긋난 ] 기본키값이 저장된 파일이 존재하면 데이터의 무결성이 적용된다.

 

- 응용 프로그램이 데이터 파일에 종속적이다.

데이터 파일이 수정되면 응용 프로그램 구조도 같이 수정해야 함. 한마디로 파일에 접근하는 방법을 변경해야 한다..

 

- 데이터 파일에 대한 동시 공유, 보안, 회복 기능이 부족하다.

다른 응용 프로그램이 접근하여 사용하는 동시 공유 기능 X

 

- 응용 프로그램을 개발하기 쉽지않다.

 

 

3] DBMS 의 정의

  파일 시스템이 지는 문제의 근본 원인은 데이터 중복성과 데이터 종속성으로 요약할 수 있다.  그 방안으로 데이터를 통합하여 저장하였지만 Ex ] 고객관리 응용프로그램 + 주문관리 응용프로그램   통합 저장된 데이터를 관리하고 기본처리를 담당하며 동시 공유, 보안, 회복 등의 복잡한 기능을 제공하기 위하여 DBMS가 제시되었다.

DBMS는 응용 프로그램을 대신하여 DB에 들어있는 데이터를 CRUD 하고 모든 응용프로그램이 DB를 공유할 수 있게 한다. 

 위 그림과 같이 응용 프로그램들이 DB를 사용할때 발생하는 문제를 DBMS가 중재해주기 때문에 중복으로 인한 문제가 해결된다. 또한 사용하기 쉬운 다양한 인터페이스를 제공해주어 사용자가 응용 프로그램없이 데이터 처리를 직접 요구할 수 있다. 

또한 데이터베이스 구조나 접근 방법이 변경되어도, 사용자가 변경된 방법을 익히거나 응용 프로그램을 변경할 필요 없이 DBMS를 사용하면 되기때문에 데이터의 독립성이 확보, 즉 종속성이 필요 없게 된다.

[ DBMS 주요 기능 3가지 ]

  1. 정의 기능 - 데이터베이스 수조를 정의하거나 수정
  2. 조작 기능 - 데이터를 C.R.U.D [생성, 삭제, 수정, 검색] 할 수 있다.
  3. 제어 기능 - 데이터를 항상 정확하고 안전하게 유지하는 기능을 제공. CRUD 후에 데이터의 내용이 일괸되면서 무결성을 유지하게 하고, 장애가 발생해도 빠른 회복이 가능하게 한다. 또한 권한이 있는 사용자에게만 접근을 허용하여 보안이 유지되게한다. 특히 동시공유기능 제공.

 

3] DBMS의 장점

  1. 데이터 중복을 통제할 수 있다.
  2. 데이터 독립성이 확보된다.  [ 응용 프로그램의 영향을 받지 않는다. ]
  3. 데이터를 동시 공유할 수 있다.  [ 통합된 데이터를 동시 공유 ]
  4. 데이터 보안이 향상된다.  [ 통합된 데이터를 중앙 집중식으로 관리하여 효율적인 접근제어 - 보안 향상 ]
  5. 데이터 무결성을 유지할 수 있다.  [ 중복성 문제를 해결하면서 데이터를 효율적으로 관리 가능하여 연산이 수행될 때마다 유효성을 검사하여 무결성을 유지 ]
  6. 표준화할 수 있다.  [ 접근방식의 표준화 ]
  7. 장애 발생시 회복이 가능하다.  [ 데이터 장애가 발생하기 이전 상태로 복구하는 회복기능 ]
  8. 응용 프로그램 개발 비용이 줄어든다.  [ 응용 프로그램대신 DBMS가 관리를 담당하기 때문에 개발 비용 감면 ]

    DBMS의 단점

  1. 비용이 많이 든다.
  2. 백업과 회복이 가능하지만 복잡하다.
  3. 중앙 집중 관리 [ BLOCK CHAIN ] 로 인한 취약점이 존재한다.

 

4] DBMS 관리 시스템의 발전 과정

  • 1세대 : 네트워크 DBMS, 계층 DBMS - 정형데이터
  • 2세대 : 관계 DBMS - 정형데이터
  • 3세대 : 객체지향 DBMS, 객체관계 DBMS
  • 4세대 : NoSQL DBMS, NewSQL DBMS - 비정형 데이터