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

hyunsooo·2023년 6월 13일
0
post-thumbnail

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

1.1. 파일 시스템(file system)

과거에는 데이터를 파일로 관리했습니다. 파일 시스템은 파일의 생성, 삭제, 수정, 검색의 기능을 제공하는 소프트웨어입니다. 파일 시스템은 응용 프로그램마다 필요한 데이터를 별도의 파일로 관리해야 합니다.

1.2. 파일 시스템의 문제점

  • 같은 내용의 데이터가 여러 파일에 중복 저장된다.

  • 응용 프로그램이 데이터 파일에 종속적이다.

    • 데이터 파일이 달라지면 응용 프로그램도 달라져야 함
  • 데이터 파일에 대한 동시 공유, 보안, 회복 기능이 부족하다.

    • 서로 다른 응용프로그램이 서로의 데이터 파일에 접근 불가

    • 중복된 데이터 파일 모두를 같은 수준의 보안으로 유지하기 어려움

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

    • 응용프로그램 자체가 파일 삽입, 삭제, 수정 등 기능을 전부 갖춰야 함

    • 종속성 문제로 인하여 응용프로그램 개발이 까다로움

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

2.1. 데이터베이스 관리 시스템

데이터베이스 관리 시스템(DBMS, DataBase Management System)은 파일 시스템의 문제를 해결하기 위해 제시된 소프트웨어입니다. 앞서 파일 시스템의 가장 큰 문제점인 중복성종속성의 문제를 해결하기 위해 조직에 필요한 데이터를 파일이 아닌 데이터베이스에 통합하여 저장하고 관리하게 되었습니다.

2.2. DBMS의 데이터 관리

데이터베이스 관리 시스템은 응용프로그램을 대신하여 데이터베이스에 존재하는 데이터를 검색, 삽입, 수정 등의 기능을 담당하게 됩니다.

2.3. DBMS의 주요 기능

  • 정의 기능 : 데이터베이스 구조를 정의하거나 수정

  • 조작 기능 : 데이터를 삽입, 삭제, 수정, 검색하는 연산

  • 제어 기능 : 데이터를 항상 정확하고 안전하게 유지

2.4. DBMS 장단점

장점단점
데이터 중복 통제비용이 많이 듬
데이터 독립성 확보백업과 회복 방법이 복잡
데이터 동시 공유중앙 집중 관리로 인한 취약점 존재
데이터 보안 향상
데이터 무결성 유지
표준화 가능
장애 발생시 회복 가능
응용프로그램 개발 비용 감소

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

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

  • 네트워크 DBMS : 데이터베이스를 그래프 형태로 구성

네트워크 DBMS는 노드와 간선으로 데이터베이스를 표현하기 때문에 매우 복잡해지고 변경하기 어렵다는 단점이 있습니다. 대표적인 네트워크 DBMS 시스템은 1960년대의 IDS(Integrated Data Store)가 있습니다.

  • 계층 DBMS : 데이터베이스를 트리 형태로 구성

네트워크 DMBS보다는 간단한 구조를 가지지만 현실 세계의 문제를 트리형태로 표현하기에는 한계가 있다는 단점이 있습니다. 대표적인 계층 DBMS 시스템은 1960년대의 IMS(Information Management System)가 있습니다.

3.1. 2세대 : 관계 DBMS

관계 DBMS는 데이터베이스를 테이블 형태로 구성합니다. 관계 DBMS는 단순하고 이해하기 쉽다는 장점이 있기 때문에 오늘날까지 활용되고 있습니다. 대표적인 관계 DBMS 시스템은 오라클, MS SQL, 액세스, 인포믹스 등이 있습니다.

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

  • 객체지향 DBMS : 객체를 이용하여 데이터베이스를 구성

대표적인 객체지향 DBMS 시스템은 오투(O2), 온투스(ONTOS), 젬스톤(GemStone)이 있습니다.

  • 객체관계 DBMS : 객체 DBMS + 관계 DBMS

대표적인 객체관계(Object Relational) DBMS는 PostgreSQL, Illustra 등이 있습니다.

오늘날에는 2세대 제품들이 3세대의 장점을 채택하고 3세대 제품들이 2세대의 장점을 채택하여 기능을 추가하고 있습니다.

3.1. 4세대 : NoSQL, NewSQL DBMS

  • NoSQL : 비관계형 데이터베이스 구조

관계형 DBMS의 경우 테이블이라는 구조의 스키마를 사전에 정의해야 합니다. 그렇게 저장된 테이블을 다른 테이블들과 연결하여 관계를 형성합니다. 그렇기 때문에 데이터의 중복성과 일관성의 장점을 가져갈 수 있었습니다. 하지만 NoSQL의 경우 사전에 스키마를 정의하지 않습니다. 따라사 관계형 DBMS의 장점은 포기했지만 그만큼 유연한 환경을 제공하기 때문에 비정형 데이터 처리에 특화되어 있으며 수평적 확장이 용이하다는 장점이 있습니다. 대표적으로 MongoDB, Redis 등이 있습니다.

  • NewSQL : NoSQL은 관계형 DBMS를 완전히 대체할 수 없기 때문에 나온 DBMS (2011년, 아직 연구 중)
profile
CS | ML | DL

0개의 댓글