본문 바로가기
공부/데이터 베이스

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

by xladmt 2021. 10. 7.

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

- 파일 시스템 : 데이터를 파일로 관리할 수 있도록 파일을 생성ㆍ삭제ㆍ수정ㆍ검색하는 기능을 제공하며, 운영체제와 함께 설치. 응용 프로그램별로 필요한 데이터를 별도의 파일로 관리.

 

파일 시스템에서의 데이터 관리

- 파일 시스템은 별도의 구매 비용이 들지 않는다는 장점이 있지만 응용 프로그램마다 파일을 따로 유지하는 특징 때문에 다음과 같은 문제가 발생한다.

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

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

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

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

 

02 데이터베이스 관리 시스템의 정의

 - 파일 시스템의 문제 : 데이터 중복성, 데이터 종속성

 위의 문제를 해결하기 위해 제시된 소프트 웨어 : 데이터베이스 관리 시스템!

 

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

   : 조직에 필요한 데이터를 데이터베이스에 통합하여 저장하고 이에 대한 관리를 집중적으로 담당. 응용 프로그램을 대신하여 데이터베이스에 들어 있는 데이터를 삽입ㆍ삭제ㆍ수정ㆍ검색하고, 모든 응용 프로그램이 데이터베이스를 공유할 수 있게 함.

데이터베이스 관리 시스템에서의 데이터 관리

-> 고객아이디, 고객명, 연락처, 주소 데이터는 데이터베이스에 통합되어 저장됨. 그리고 고객 관리 응용 프로그램과 주문 관리 응용 프로그램이 동시에 데이터베이스를 사용할 때 발생할 수 있는 모든 분쟁을 데이터베이스 관리 시스템이 중재해주기 때문에 데이터 중복 문제가 해결됨. DBMS는 사용하기 쉬운 다양한 인터페이스를 제공하므로 사용자가 응용 프로그램 없이도 데이터 처리를 직접 요구할 수 있음. 또한, 데이터베이스 구조나 접근 방법 등이 변경되어도, 사용자가 미리 알거나 응용 프로그램을 변경할 필요가 없어 데이터 독립성(independency)이 확보됨.

 

<데이터베이스 관리 시스템이 제공하는 주요 기능>

- 정의 기능 : 데이터베이스 구조를 정의하건 수정할 수 있음.

- 조작 기능 : 데이터를 삽입ㆍ삭제ㆍ수정ㆍ검색하는 연산을 할 수 있음.

- 제어 기능 : 데이터를 항상 정확하고 안전하게 유지할 수 있음.

                     (내용 일관, 무결성 유지/보안 유지/여러사용자 동시 접근)

 

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

<데이터베이스 관리 시스템의 장점>

1. 데이터 중복을 통제

2. 데이터 독립성이 확보

3. 데이터 동시 공유 가능

4. 데이터 보안 향상

5. 데이터 무결성을 유지

6. 표준화 가능

7. 장애 발생 시 회복이 가능

8. 응용 프로그램 개발 비용 절감

 

<데이터베이스 관리 시스템의 단점>

1. 비용이 많이 듦.

2. 백업과 회복 방법이 복잡

3. 중앙 집중 관리로 인한 취약점이 존재

 

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

- 데이터 모델에 따라 네트워크DBMS, 계층DBMS, 관계 DBMS, 객체지향DBMS, 객체관계DBMS로 구분

- 데이터 모델(data model) : 데이터를 데이터베이스에 저장하는 구조를 의미

 

<데이터베이스 관리 시스템 발전 과정 4세대>

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

   네트워크 DBMS : 데이터베이스를 노드와 간선을 이용한 그래프 형태로 구성하는 네트워크 데이터 모델을 사용. 간선을 이용하기 때문에 데이터베이스의 구조가 복잡하고 변경하기 어려운 단점이 있음. (고객은 상품을 주문할 수 있고, 직원은 상품과 고객을 관리하며 부서에 소속되어 있음을 표현)

   계층 DBMS : 데이터베이스를 트리 형태로 구성하는 계층 데이터 모델을 사용. 네트워크DBMS보다 구조가 단순하지만 복잡한 현실 세계의 모습을 부모 자식 관례가 명확한 트리 형태로 표현하기가 힘들고, 구조 변경이 어렵다는 문제가 생김. (부서에 소속된 직원이 상품과 고객을 관리할 수 있음을 표현)

1세대 DBMS 구조의 예

 

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

   관계 DBMS : 데이터베이스를 테이블 형태로 구성하는 관계 데이터 모델을 사용. 데이터베이스를 단순하고 이해하기 쉬운 구조로 구성한다는 장점이 있음. 지금도 널리 사용되고 있는데, 대표적인 관계DBMS로 오라클, MS SQL 서버, 액세스, 인포믹스, MYSQL 등이 있음. (관계 데이터 모델에 따라 구성한 회사 데이터베이스의 고객 테이블. 고객 관련 주요 데이터를 테이블 형태로 표현)

관계DBMS의 테이블 예 : 고객 테이블

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

   객체지향 DBMS : 객체지향 프로그래밍에서 도입한 객체라는 개념을 이용해 데이터베이스를 구성하는 객체지향 데이터 모델을 사용. 더 복잡한 응용 분야의 데이터를 관리하려는 사용자 요구를 충족시키기 위해 제안됨. 이 시스템은 새로운 유형의 데이터를 저장하고, 데이터에 대한 복잡한 분석 및 처리를 지원. 대표적인 객체지향DBMS는 오투, 온투스, 젬스톤 등이 있다.

  객체관계 DBMS : 관계 데이터 모델에 객체지향 개념을 도입한 객체관계 데이터 모델을 사용. 쉽게 말해 객체DBMS와 관계DBMS의 개념을 통합한 것. 일반적으로 단순하고 이해하기 쉬운 구조인 관계DBMS가 많이 사용됨. 하지만 객체 관계 DBMS의 사용도 늘고 있어 2세대와 3세대 DBMS가 공존한다고 볼 수 있음.

 

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

   NoSQL DBMS : 관계 DBMS가 강점으로 제시하던 안정성과 일관성 유지를 위한 복잡한 기능을 포기하고, 데이터 구조를 미리 정해두지 않기 때문에 비정형 데이터를 저장하고 처리하는 데 적합. 확장성이 뛰어나 여러 대의 서버 컴퓨터에 데이터를 분산하여 저장하고 처리하는 환경에서 주로 사용. 구글, 페이스북, 트위터 같은 SNS를 제공하는 회사들이 NoSQL의 필요성을 강조하면서 주목받게 됨. 대표적인 예로 몽고디비, H베이스, 카산드라, 레디스, 네오포제이, 오리엔트DB등이 있음.

  NewSQL DBMS : 안정성과 일관성을 유지하면서도 SQL을 이용해 다양하고 복잡한 데이터 처리를 편리하게 요청할 수 있음. 즉, 관계DBMS의 장점과 NoSQL의 확장성 및 유연성을 모두 지원. 따라서 정형 및 비정형 데이터를 안정적이고 빠르게 처리할 수 있음. 대표적으로 구글 스패너, 볼트DB, 누오DB 등이 있음.

 

 

 

 

[출처] : <도서> 데이터베이스개론 2판 / 김연희 지음 / 한빛 아카데미