Database

Chapter 02. 데이터베이스 관리 시스템

JinWooHong Dev 2019. 9. 27. 17:29

1. 데이터베이스 관리 시스템의 등장 배경

-과거에는 데이터를 관리하기 위해 파일 시스템(File system)이라는 소프트웨어를 사용했다. 별도의 구매 비용이 들지 않는다는 장점이 있지만 응용 프로그램마다 파일을 따로 유지하는 특징 때문에 다음과 같은 문제가 발생한다.

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

-응용 프로그램별로 파일을 유지하므로 같은 데이터가 여러 파일에 저장될 수 있다. 즉 데이터 중복성(Data redundancy) 문제가 발생하며 저장 공간이 낭비될 뿐 아니라 데이터 일관선(Data consistency)과 데이터 무결성(Data integrity)을 유지하기가 어렵다.

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

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

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

2. 데이터베이스 관리 시스템의 정의

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

-파일 시스템의 데이터 중복과 데이터 종속 문제를 해결하기 위해 제시된 소프트웨어다. 조직에 필요한 데이터를 데이터베이스에 통합하여 저장하고 이에 대한 관리를 집중적으로 담당한다. 또한, 응용 프로그램을 대신하여 데이터베이스에 들어 있는 데이터를 삽입·삭제·수정·검색하고, 모든 응용 프로그램이 데이터베이스를 공유할 수 있게 한다.

-데이터베이스 관리 시스템의 주요기능 3가지

  • 정의 기능 : 데이터베이스 구조를 정의하거나 수정할 수 있다.
  • 조작 기능 : 데이터를 삽입·삭제·수정·검색하는 연산을 할 수 있다.
  • 제어 기능 : 데이터를 항상 정확하고 안전하게 유지할 수 있다.

3. 데이터베이스 관리 시스템의 장단점

3-1. 데이터베이스 관리 시스템의 장점

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

3-2. 데이터베이스 관리 시스템의 단점

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

4. 데이터베이스 관리 시스템의 발전 과정

4-1. 1세대 데이터베이스 관리 시스템 : 네트워크·계층 DBMS

  • 데이터베이스를 노드와 간선을 이용한 그래프 형태로 구성하는 네트워크 데이터 모델을 사용한다.
  • 차후에 그래프 데이터베이스로 다시 사용된다.

4-2. 2세대 데이터베이스 관리 시스템 : 관계 DBMS

  • 데이터베이스를 테이블 형태로 구성하는 관계 데이터 모델을 사용한다.

4-3. 3세대 데이터베이스 관리 시스템 : 객체지향·객체관계 DBMS

  • 객체라는 개념을 이용해 데이터베이스를 구성하는 객체지향 데이터 모델을 사용한다.

4-4. 4세대 이후 데이터베이스 관리 시스템 : NoSQL·NewSQL DBMS

  • DBMS가 강점으로 제시하던 안정성과 일관성 유지를 위한 복잡한 기능을 포기하고, 데이터 구조를 미리 정해두지 않기 때문에 비정형 데이터를 저장하고 처리하는데 적합하다.
  • 여러 대의 서버 컴퓨터에 데이터를 분산하여 저장하고 처리하는 환경에서 주로 사용한다.