[DB] 데이터베이스 관리 시스템 (DBMS)

tae0·2024년 4월 1일

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

📌파일 시스템

  • 데이터를 파일로 관리하기 위해 파일을 생성, 삭제, 수정, 검색하는 기능을 제공하는 SW
  • 응용 프로그램 마다 필요 데이터를 별도 파일로 관리
  • 파일 시스템의 문제점
  1. 같은 내용의 데이터가 여러 파일에 중복 저장 -> 데이터 중복성
    >> 데이터의 일관성무결성(데이터의 정확성 보장 X)을 유지하기 어려움
  2. 응용 프로그램이 데이터 파일에 종속적 -> 데이터 종속성
    >> 사용하는 파일의 구조를 변경하면 응용 프로그램도 함께 변경해야 함
  3. 데이터 파일에 대한 동시 공유, 보안, 회복기능이 부족
    >> 데이터 중복 가능성 문제
    >> 파일 수정 중 장애 발생 시 회복 불가

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

📌데이터베이스 관리 시스템 (DBMS)

정의

  • 파일시스템의 문제를 해결하기 위해 제시된 SW
  • 필요 데이터를 데이터베이스에 통합해 저장 및 관리
  • 데이터를 가진 쪽을 서버(server), 외부에서 데이터를 요청하는 쪽을 클라이언트(client)라 칭함
  • DBMS 서버가 파일을 다루며 데이터의 일관성 유지, 복구, 동시 접근 제어 등 기능을 수행
  • 데이터의 중복을 줄이고 표준화해 무결성 유지

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

데이터베이스 관리 시스템의 주요 기능

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

파일 시스템과 DBMS의 비교

DBMS의 단점

  • 비용이 많이 듦
    1. 운영체제와 함께 설치됨
    2. DBMS 설치로 인한 구매비용 증가
    3. 동시 접속자 허용 수에 따라 가격 증가
  • 백업과 회복이 복잡함
    1. 데이터의 양이 많아 구조가 복잡함
    2. 다수의 사용자의 동시 공유로 인한 장애 발생 시 원인파악이 어려움
    3. 백업이 요구됨
  • 중앙 집중 관리로 인한 취약점이 존재
    1. 모든 데이터가 데이터베이스에 통합되어 DBMS에 집중되어있음

DBMS의 기능

  • 데이터 정의(Definition): 데이터의 구조를 정의하고 구조에 대한 삭제 및 변경 기능을 수행
  • 데이터 조작(Manipulation): 데이터 조작 SW가 요청하는 데이터의 삽입, 수정, 삭제 작업을 지원
  • 데이터 추출(Retrieval): 사용자가 조회하는 데이터 또는 응용 프로그램의 데이터 추출
  • 데이터 제어(Control): 데이터베이스 사용자를 생성하고 모니터링하며 접근 제어 (백업과 회복, 동시성 제어 등 기능 지원)

DBMS의 발전 과정

  • 1세대: 네트워크 DBMS, 계층 DBMS
    > 네트워크 DBMS: 데이터베이스를 그래프 형태로 구성
    ex) IDS (Integrated Data Store)
    > 계층 DBMS: 데이터베이스를 트리형태로 구성
    ex) IMS (Information Management System)

  • 2세대: 관계형 DBMS
    > 관계형 DBMS: 데이터 베이스를 테이블 형태로 구성
    ex) 오라클 (oracle), MySQL 등

  • 3세대: 객체지향 DBMS, 객체관계 DBMS
    > 객체지향 DBMS: 객체를 이용해 데이터베이스 구성
    ex) 오투(O2), 온투스(ONTOS), 젬스톤(GemStone)
    > 객체관계 DBMS: 객체형 DBMS + 관계형 DBMS

  • 4세대: NoSQL, NewSQL DBMS
    1. Not only SQL
    2. 비정형이면서 방대한 데이터를 저장하기 적합함
    3. NoSQL DBMS는 비정형 데이터를 처리하는데 적합하고 확장성이 뛰어남
    > 안정성과 일관성 유지를 위해 복잡한 기능을 포기했으며 데이터 구조를 미리 정해두지 않는 유연성을 가짐
    4. NewSQL DBMS는 관계 DBMS의 장점과 NoSQL의 확장성 및 유연성을 합친 DBMS -> ex) 구글 스패너 등

📖참고자료

  • MySQL로 배우는 데이터베이스 개론과 실습 저자 박우창
  • 데이터베이스 개론 2판 저자 김연희
  • 대학교 ppt 교안
profile
초보 개발자.. 매일 공부한 거 적는게 목표

0개의 댓글