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

상준·2023년 9월 12일
0

database

목록 보기
3/24

파일 시스템

  • 데이터를 파일로 관리하기 위해 파일의 생성•삭제•수정•검색 기능을 제공하는 소프트웨어
  • 응용 프로그램마다 필요한 데이터를 별도의 파일로 관리

문제점

  • 같은 내용의 데이터가 여러 파일에 중복 저장됨 ➡️ 데이터 중복성 문제
    저장 공간의 방비는 물론 데이터 일관성과 데이터 무결성을 유지하기 어려움

  • 응용 프로그램이 데이터 파일에 종속적임 ➡️ 데이터 종속성 문제
    사용하는 파일의 구조를 변경하면 응용 프로그램도 함께 변경해야 함

  • 데이터 파일에 대한 보안이 부족함

  • 응용 프로그램 개발이 쉽지 않음

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

파일 시스템의 문제를 해결하기 위해 제시된 소프트웨어

  • 조작에 필요한 데이터를 데이터베이스에 통합하여 저장하고 관리함

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

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

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

장점

  • 데이터 중복을 통제할 수 있음
  • 데이터 독립성이 확보됨
  • 데이터를 동시 공유할 수 있음
  • 데이터 보안이 향상됨
  • 데이터 무결성을 유지할 수 있음
  • 표준화할 수 있음
  • 장애 발생 시 회복이 가능
  • 응용 프로그램 개발 비용이 줄어듬

단점

  • 비용이 많이 듬
  • 백업과 회복 방법이 복잡함
  • 중앙 집중 관리로 인한 취약점이 존재함

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

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

네트워크 DBMS: 데이터베이스르 그래프 형태로 구성
e.g.) IDS(Integrated Data Store)

계층 DBMS: 데이터베이스를 트리 형태로 구성
e.g.) IMS(Information Management System)

2세대: 관계 DBMS

관계 DBMS: 데이터베이스를 테이블 형태로 구성
e.g.) 오라클, MS SQL 서버, 액세스(Access), 인포믹스(Informix), MySQL

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

객체지향 DBMS: 객체를 이용해 데이터베이스를 구성
ex) 오투(O2), 온투스(ONTOS), 젬스톤(GemStone)

객제관계 DBMS: 객체 DBMS + 관계 DBMS

4세대: NoSQL DBMS, NewSQL DBMS

NoSQL DBMS: 비정형 데이터를 처리하는데 적합하고 확장성이 뛰어남

  • 안정성과 일관성 유지를 위한 복잡한 기능을 포기
  • 데이터 구조를 미리 정해두지 않는 유연성
  • 확장성이 뛰어나 여러 대의 서버 컴퓨터에 데이터를 분산하여 저장하고 처리하는 환경에서 주로 사용
    e.g.) MongoDB, H베이스, 카산드라, 레디스, 네오포제이, 오리엔트DB 등

NewSQL DBMS: 관계 DBMS의 장점 + NoSQL의 확장성 및 유연성
e.g.) 구글 스패너(Spanner), 볼트DB(VoltDB), 누오DB(NuodB)

profile
컴공생 공부

0개의 댓글