와드의 블로그

Chapter 2. 데이터베이스 관리 시스템 본문

CS/데이터베이스

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

Ward 2021. 10. 21. 13:54

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

(1) 파일 시스템

파일 시스템: 데이터를 파일로 관리하는 정보 처리 시스템

파일을 생성·삭제 ·수정 ·검색하는 기능을 제공

운영체제와 함께 설치 -> 별도의 구매 비용 X

응용 프로그램별로 필요한 데이터를 별도의 파일로 관리

(2) 파일 시스템의 문제

  • 데이터 중복성: 같은 데이터가 여러 파일에 저장
  • 데이터 종속성
  • 데이터 파일에 대한 동시 공유, 보안, 회복 기능 부족
  • 응용 프로그램 개발의 어려움: 파일의 데이터를 관리하는 모든 작업을 응용 프로그램이 담당

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

(1) 데이터베이스 관리 시스템

데이터베이스 관리 시스템(database management system): 조직에 필요한 데이터를 데이터베이스에 통합하여 저장하고 이를 관리하는 시스템

데이터베이스를 생성하고 관리하는 일을 데이터베이스 관리 시스템이 모두 담당

여라 응용 프로그램이 데이터베이스를 공유

 

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

(2) 데이터베이스 관리 시스템의 기능

  • 정의 기능:  데이터베이스 구조를 정의 또는 수정
  • 조작 기능: 데이터를 삽입·삭제 ·수정 ·검색하는 연산 수행
  • 제어 기능: 데이터의 동시 공유 + 항상 정확하고 안전하게 유지

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

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

  • 데이터 중복 통제: 데이터베이스에 데이터를 통합하여 관리, 데이터 일관성 유지
  • 데이터 독립성
  • 동시 공유
  • 데이터 보안 향상
  • 데이터 무결성 유지: 데이터에 대한 연산이 수행될 때 마다 유효성 검사
  • 표준화 가능
  • 회복 기능
  • 응용 프로그램 개발 비용 ↓

* 데이터 일관성(data consistency): 중복된 데이터가 일치하는 것

* 데이터 무결성(data integrity): 저장된 데이터 값의 정확성

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

  • 비용 ↑: 운영체제와 따로 구매하여 설치
  • 백업과 회복 방법이 복잡
  • 중앙 집중 관리로 인한 취약점 존재: 데이터베이스나 데이터베이스 시스템 장애 -> 전체 시스템 중단

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

(1) 네트워크·계층 DBMS

네트워크 DBMS: 데이터베이스를 노드와 간선을 이용한 그래프 형태로 구성하는 네트워크 데이터 모델 사용

데이터 구조가 복잡하고 변경하기 어려움

계층 DBMS: 데이터베이스를 트리 형태로 구성하는 계층 데이터 모델 사용

현실 세계의 모습을 부모 자식 관계가 명확한 트리 형태로 표현하기 힘듦, 구조 변경이 어려움

* 데이터 모델: 데이터를 데이터베이스에 저장하는 구조

(2) 관계 DBMS

관계 DBMS: 데이터베이스를 테이블 형태로 구성하는 관계 데이터 모델을 사용

데이터베이스를 단순하고 이해하기 쉬운 구조로 구성

(3) 객체지향·객체관계 DBMS

객체지향 DBMS: 객체를 이용해 데이터베이스를 구성하는 객체지향 데이터 모델을 사용

새로운 유형의 데이터를 저장하고, 데이터에 대한 복잡한 분석 및 처리를 지원

객체관계 DBMS: 관계 데이터 모델에 객체지향 개념을 도입한 객체관계 데이터 모델을 사용

(4) NoSQL·NewSQL DBMS

SNS의 폭발적인 이용 -> 비정형 데이터 ↑

관계 DBMS는 비정형 데이터를 처리하는 데에 비효율적

NoSQL DBMS는 데이터 구조를 미리 정해두지 않기 때문에 비정형 데이터를 저장하고 처리하는 데 적합

확장성이 뛰어나 여러 대의 서버에 데이터를 분산하여 저장하고 처리하는 환경에서 주로 사용

NewSQL DBMS: 관계 DBMS의 안정성과 일관성 + NoSQL DBMS의 확장성과 유연성 -> 정형 및 비정형 데이터를 안정적이고 빠르게 처리

 

출처: 김연희, 「데이터베이스 개론」, 한빛아카데미