IT/데이터베이스

[Chapter 02] 데이터베이스 관리 시스템

Nellie29 2024. 5. 8. 13:33


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

🧡 파일 시스템

  • 파일 시스템
    • 데이터를 파일로 관리하기 위해 파일 생성, 삭제, 수정, 검색하는 기능을 제공하는 소프트웨어
      • OS 와 함께 설치됨
    • 응용 프로그램 별로 필요한 데이터를 별도의 파일로 관리
      • 하나의 응용 프로그램 - 하나의 파일

🧡 파일 시스템의 문제점

  • 같은 데이터가 여러 파일에 중복 저장 → 데이터 중복성
    • 저장공간 낭비, 데이터 일관성, 무결성 유지 어려움
    • 이를 해결하기 위한 데이터 통합 작업 but 불완전
  • 응용 프로그램이 데이터 파일에 종속됨 → 데이터 종속성
    • 사용하는 파일 구조 변경시, 응용 프로그램이 파일에 접근하는 방법도 변경해야 함
  • 데이터 파일에 대한 동시공유 (응용 프로그램이 선점 중), 보안, 회복 기능 부족
  • 응용 프로그램 개발 어려움
    • 데이터 관리 작업 모두 응용 프로그램이 담당 + 데이터 CRUD 작업 전부 응용 프로그램으로 개발해야 함

→ 이를 해결하기 위해 DBMS 출시


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

🧡 데이터베이스 관리 시스템

  • DBMS
  • 파일 시스템의 문제 (중복성, 종속성)를 해결할 소프트웨어
  • 필요한 데이터를 DB에 통합하여 저장/관리

🧡 DBSM 데이터 관리

🧡 DBSM 주요 기능

  • 정의 기능
    • DB 구조를 정의/수정 가능
  • 조작 기능
    • 데이터 CRUD 가능
  • 제어 기능
    • 여러 사람이 공유해도 데이터의 정확/최신/안전 유지/무결성/보안/동시접근 가능하게 함

3️⃣ 데이터베이스 관리 시스템의 장•단점

🧡 장점

  • 데이터 중복 통제 가능 (not 불허)
    • DB에 데이터 통합 관리 → 데이터 중복 문제 해결
  • 데이터 독립성 확보
    • 데이터를 DBMS가 접근/관리 → 응용 프로그램과 DB 사이 독립성 확보
  • 데이터 동시 공유 가능
    • 동일한 데이터를 여러 응용 프로그램이 공유/동시접근 가능
  • 데이터 보안 향상
    • 중앙집중식 데이터 관리 → 효율적인 접근 제어 가능
    • ex. 권한 없는 사용자 차단, 허용되지 않는 연산 차단
  • 데이터 무결성 유지
    • 데이터 연산 시, 유효성 검사 → 데이터 무결성(정확성) 유지
  • 표준화 가능
    • DBMS가 정한 표준화된 방식으로 DB 접근 가능
    • ex. 데이터 접근 방식, 데이터 형식/구조 등 표준화
  • 장애 발생시, 회복 기능
    • 데이터 일관성/무결성 유지하며 장애 이전 상태로 복구
    • 백업
      • full : 자료 전체 백업
      • increment: 변경된 부분만 백업
      • DBMS는 checkpoint를 제공함
  • 응용 프로그램 개발 비용 줄어듦
    • 파일 시스템보다 데이터 관리 부담이 줆
      • 개발/유지보수 비용 줄어듦
    • Only DBMS만 바라보게 개발하면 됨

🧡 단점

  • 비용 높음
    • 별도 구매 비용, 사용자수가 늘어날 수록 가격이 올라감
  • 백업/회복 방법 복잡
    • 장애 원인/상태 파악 어려움, 회복 복잡
  • 중앙 집중 관리로 인한 취약점
    • DB나 DBMS 장애 발생 → 전체 시스템 중단 (SPOF)
    • DB 의존도가 높은 시스템일수록 가용성과 신뢰성에 치명적

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

🧡 1세대 : 네트워크 DBMS, 계층 DBMS

  • 네트워크 DBMS : DB를 그래프 형태로 구성
    • ex. IDS(Integrated Data Store)
  • 계층 DBMS : DB를 트리 형태로 구성
    • ex. IMS(Information Management System)

🧡 2세대 : 관계 DBMS

  • 관계 DBMS : DB를 테이블 형태로 구성
    • ex. 오라클(Oracle), MS SQL 서버, 액세스(Access), 인포믹스(Informix), MySQL, 마리아DB(MariaDB)

🧡 3세대 : 객체지향 DBMS, 객체관계 DBMS

  • 객체지향 DBMS : 객체를 이용해 DB 구성
    • ex. 오투(O2), 온투스(ONTOS), 젬스톤(GemStone)
  • 객체관계 DBMS : 객체 지향 DBMS + RDBMS

🧡 4세대 : NoSql DBMS , NewSql DBMS

  • NoSql DBMS : 비정형 데이터 처리 적합, 확장성 높음
    • 안정성/일관성을 위해 복잡한 기능 포기
    • 여러대의 컴퓨터에 데이터 분산 처리 → 분산 처리 환경
    • ex. 몽고디비(MongoDB), H베이스(HBase), 카산드라(Cassandra), 레디스(Redis), 네오포제이(Neo4j), 오리엔트DB(OrientDB) 등
  • NewSql DBMS : DB를 트리 형태로 구성
    • 정형/비정형 데이터 처리 가능
    • ex. 구글 스패너(Spanner), 볼트DB(VoltDB), 누오DB(NuoDB)


💻 Reference

 

데이터베이스 개론 - 예스24

기초 개념부터 빅데이터까지큰 흐름이 보이는 데이터베이스 교과서『데이터베이스 개론』은 데이터베이스로 첫 항해를 떠나는 이들에게 지도와 돛이 되어주는 책이다. 마인드맵으로 생소한

www.yes24.com