Summary

[데이터베이스 개론] 02장. 데이터베이스 관리 시스템

프로그래민 2022. 1. 16. 16:03
반응형

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

과거에는 데이터를 관리하기 위해 파일 시스템을 사용하였다. 파일의 생성, 삭제, 수정, 검색 기능을 제공하며 운영체제와 함께 설치되었다. 다만 다음과 같은 문제점이 발생하였다.

  • 같은 내용의 데이터가 여러 파일에 중복 저장 : 데이터의 중복 저장이 가능하며 저장공의 낭비와 일관성, 무결성을 유지하기 어려움.
  • 응용 프로그램이 데이터 파일에 종속적 : 응용 프로그램이 파일에 직접 접근하여 데이터를 처리하는 방식이기에 사용하는 파일의 구조를 변경하면 응용 프로그램도 함께 변경해야하는 데이터 종속성이 있음.
  • 데이터 파일에 대한 동시 공유, 보안, 회복 기능이 부족 : 파일 시스템에선 동시 공유기능을 제공하지 않고, 보안에 대한 명확한 기준과 장애복구 기능이 따로 없음.
  • 응용 프로그램을 개발하기 쉽지 않음 : 파일 접근을 응용 프로그램이 관리하기에 어려움이 많음.

 

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

파일 시스템은 근본적으로 데이터 중복성과 종속성이 문제이기 때문에 이를 해결하기 위해 데이터를 통합하여 저장하기 시작했다. 하지만 통합된 데이터에 대해서 동시 공유, 보안, 회복등의 문제가 여전히 존재했기에 데이터베이스 관리 시스템이 도입되기 시작되었다.

데이터베이스 관리 시스템(Database Management System, DBMS)은 시스템의 데이터 중복과 데이터 종속 문제를 해결하기 위해 제시된 소프트웨이어이다. 데이터를 통합하여 저장하고 관리하며, 응용 프로그램을 대신하여 데이터를 삽십, 삭제, 수정, 검색하여 응용 프로그램이 공유할 수 있게 해준다. 주요 기능으로 다음과 같은 것이 있다.

  • 정의 기능 : 데이터베이스 구조를 정의하거나 수정.
  • 조작 기능 : 데이터를 삽입, 삭제, 수정, 검색하는 연산을 수행.
  • 제어 기능 : 데이터를 항상 정확하고 안전하게 유지(무결성, 장애회복, 보안, 동시 접근).

 

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

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

  • 데이터 중복 통제 가능 : 데이터베이스 관리 시스템은 데이터를 통합하여 관리하기에 데이터 중복 문제 해결 가능. 효율성 때문에 데이터 중복을 허용하는 경우에도 통제 가능하도록 중복을 최소화하여 일관성 유지.
  • 데이터 독립성 확보 : 응용 프로그램을 대신하여 데이터베이스 관리 시스템이 데이터에 접근하고 관리하기에 응용 프로그램과 데이터베이스 사이의 독립성 확보.
  • 데이터 동시 공유 가능 : 데이터베이스 관리 시스템이 동일 데이터를 각 응용 프로그램에게 다양한 구조로 동시로 제공하며 동시 접근을 제어함.
  • 데이터 보안 향상 : 데이터를 중앙 집중식으로 관리하여 효율적인 접근 제어 제공. 권한에 따른 접근 수준을 차별화함.
  • 데이터 무결성 유지 : 데이터에 대한 관리를 집중화하여 데이터에 대한 여산이 수행될때마다 유효성을 검사하여 무결성 유지.
  • 표준화 : 데이터 접근 방법, 데이터 형식, 구조등을 표준화함.
  • 장애 발생시 회복 가능 : 데이터의 일관성과 무결성을 유지하며 장애 발생 이전으로 회복 기능 제공.
  • 응용 프로그램 개발 비용 감소 : 데이터베이스의 구조가 바뀌어도 응용 프로그램의 변경이 없기에 유지 보수 비용이 파일 시스템 환경보다 저렴.

 

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

  • 비용이 많이듬 : 데이터베이스 관리 시스템은 별도의 설치가 필요하며 복잡하고 다양한 기능을 제공하기 위해 많은 컴퓨터 자원 소모.
  • 복잡한 백업과 회복 방법 : 많은 데이터에 대해 동시 공유를 제공하기에 장애 발생시 원인과 상태 파악의 어려움이 있음.
  • 중앙 집중 관리로 인한 취약점 : 중앙 관리식이기에 데이터베이스 관리 시스템에 장애 발생시 전체 시스템의 업무 처리가 중단 될 수 있음.

 

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

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

네트워크 DBMS는 데이터베이스를 노드와 간선을 이용한 그래프 형태로 구성하는 네트워크 데이터 모델을 사용한다. 네트워크 DBMS는 간선을 이용해 데이터 간의 관계를 표현하기 때문에 데이터베이스의 구조가 복잡하고 변경하기 어렵다. 대표적으로 IDS가 있다.

계층 DBMS는 데이터베이스를 트리 형태로 구성하는 계층 데이터 모델을 사용한다. 복잡한 현실 세계의 모습을 트리 관계로 명확하게 표현하기 어렵고, 구조 변경이 어려운 단점이 있다. 대표적으로 IMS가 있다.

 

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

관계 데이터 모델은 데이터베이스를 단순하고 이해하기 쉬운 구조로 구성한다. 데이터베이스를 테이블 형태로 구성하고 있으며 가장 널리 쓰이는 모델이다. 대표적으로 Oracle, MySQL, MS SQL등이 있다.

 

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

객체지향 DBMS는 객체를 이용하여 데이터베이스를 구성하였고, 새로운 유형의 데이터를 저장하고, 데이터에 대한 복잡한 분석 및 처리를 지원한다. 대표적으로 O2, ONTOS, GemStone이 있다.

객체관계 DBMS는 객체 DBMS와 관계 DBMS의 개념을 통합한 DBMS이다.

 

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

비정형 데이터가 크게 증가하게 되면서, 관계 DBMS로는 빠른 속도로 증가하는 대량의 비정형 데이터를 처리하는 데는 비효율적이기에 새로운 DBMS들이 등장하였다.

NoSQL DBMS는 관계 DBMS가 강점으로 제시하던 안정성과 일관성 유지를 위한 복잡한 기능을 포기하며 데이터 구조를 미리 정해두지 않고 비정형 데이터를 저장하고 처리한다. 그리고 확장성이 뛰어나 여러 대의 서버 컴퓨터에 데이터를 분산하여 저장하고 처리하는 환경을 제공한다. 대표적으로 MongoDB, HBase, Cassandra, Redis, Neo4h, OrientDB가 있다.

NoSQL이 많은 장점을 가지고 있긴 하지만 관계 DBMS를 완전히 대체할수는 없었다. 따라서 정형 데이터를 처리하기 위해 기존 관계 DBMS를 유지하며, 비정형 데이터를 처리하기 위해 NoSQL을 추가하는 방식을 사용하였다. 그렇기에 NewSQL DBMS가 등장하였다. 안정서과 일관성을 유지하면서 SQL을 이용하여 다양하고 복잡한 데이터 처리를 편리하게 요청할 수 있는 DBMS이다. 관계 DBMS의 장점과 NoSQL의 확장성 및 유연성을 모두 지원하며 정형, 비정형 데이터를 안정적이고 빠르게 처리할 수있다. 대표적으로 Spanner, VoltDB, NouDB가 있다. 

 

 

출처
데이터베이스 개론 2판 - 한빛아카데미 출판, 김연희 저
 

데이터베이스 개론 - 교보문고

[요약]①데이터베이스 기초 이론 : 1장에서 데이터베이스를, 2장에서 DBMS를 소개합니다. 3장에서는 이들을 조합한 데이터베이스 시스템을 소개합니다.②데이터 모델과 연산 : 4장에서 데이터 모

www.kyobobook.co.kr

반응형