CS/데이터베이스

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

JWonK 2022. 4. 10. 21:45
728x90
반응형

 

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

※ 파일 시스템 (File System)

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

파일 시스템은 별도의 구매 비용이 들지 않는다는 장점이 있지만 응용 프로그램마다 파일을 따로 유지하는 특징 때문에 여러가지 문제점이 발생

 

 

 

※ 파일 시스템의 문제점

  • 같은 내용의 데이터를 여러 파일에 중복으로 저장하여 공간이 낭비됨
  • 응용 프로그램이 데이터 파일에 종속적임
  • 데이터 파일에 대한 동시 공유, 보안, 회복 기능이 부재
  • 응용 프로그램 개발의 난이도가 높음

 

 

▶ 같은 내용의 데이터가 여러 파일에 중복 저장된다 ? ☞ 데이터 중복성

→ 저장 공간의 낭비는 물론 데이터 일관성과 데이터 무결성을 유지하기 어려움

 

 

 

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

→ 사용하는 파일의 구조를 변경하면 응용 프로그램도 함께 변경해야 한다.

 


  데이터 베이스 관리 시스템

  • DBMS(DataBase Management System)
  • 파일 시스템의 문제(데이터 중복과 데이터 종속)를 해결하기 위해 제시된 소프트웨어
  • 조직에 필요한 데이터를 데이터베이스에 통합하여 저장하고 관리

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

 

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

1. 정의 기능

- 데이터 베이스 구조를 정의하거나 수정할 수 있다.

 

2. 조작 기능

- 데이터를 삽입 / 삭제 / 수정 / 검색하는 연산을 할 수 있다.

 

3. 제어 기능

- 데이터를 항상 정확하고 안전하게 유지할 수 있다.

 

데이터 베이스 관리 시스템은 데이터를 삽입, 삭제, 수정하는 연산을 한 후에도 내용이 일관되면서 무결성을 유지하게 하고, 장애가 발생해도 회복이 가능하도록 제어한다. 그리고 권한이 있는 사용자에게만 데이터 접근을 허용하여 보안이 유지되도록 제어한다. 특히, 여러 사용자가 데이터베이스에 동시에 접근하여 데이터를 처리할 수 있도록 제어한다.

 


 

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

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

 


 

데이터 모델(Data Model)은 데이터를 데이터베이스에 저장하는 구조를 의미

 

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

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

  • 네트워크 DBMS : 데이터베이스를 그래프 형태로 구성
    • 노드와 간선을 이용하여 데이터 간의 관계를 표현하기 때문에 데이터 베이스의 구조가 복잡하고 변경하기 어렵다는 단점이 존재 
    • ex) IDS (Integrated Data Store)
  • 계층 DBMS : 데이터 베이스를 트리 형태로 구성
    • 네트워크 DBMS보다 구조가 단순하지만 명확한 트리 형태로 표현하기가 힘들고, 구조 변경이 어렵다는 단점이 여전히 존재 
    • ex) IMS (Information Management System)

 

  2세대 : 관계 DBMS

  • 관계 DBMS : 데이터 베이스를 테이블 형태로 구성
  • 관계 데이터 모델은 데이터베이스를 단순하고 이해하기 쉬운 구조로 구성한다는 장점이 있다
  • ex) Oracle, MS SQL 서버, Access, Informix, MySQL

관계 DBMS의 테이블 예 : 고객 테이블

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

  • 객체지향 DBMS : 객체를 이용해 데이터베이스를 구성
  • ex) O2, ONTOS, GemStone
  • 객체관계 DBMS : 객체 DBMS + 관계 DBMS

 

  4세대 : NoSQL · NewSQL DBMS

  • NoSQL DBMS : 비정형 데이터를 처리하는데 적합하고 확장성이 뛰어남
    • 안정성과 일관성 유지를 위한 복잡한 기능을 포기
    • 데이터 구조를 미리 정해두지 않는 유연성
    • 확장성이 뛰어나 여러 대의 서버 컴퓨터에 데이터를 분산하여 저장하고 처리하는 환경에서 주로 사용
      • ex) MongoDB, HBase, Cassandra, Redis, Neo4j, OrientDB etc,
  • NewSQL DBMS : 관계 DBMS의 장점 + NoSQL의 확장성 및 유연성
    • ex) Google Spanner, VoltDB, NuoDB

 

수많은 사람들이 소셜 네트워크 서비스를 폭발적으로 이용하면서 비정형 데이터가 대량으로 생산되었고, 이를 처리하기 위해 관계 DBMS가 아닌 NoSQL DBMS가 등장.

 

NoSQL DBMS는 관계 DBMS가 강점으로 제시하던 안정성과 일관성 유지를 위한 복잡한 기능을 포기하고, 데이터 구조를 미리 정해두지 않기 때문에 비정형 데이터를 저장하고 처리하는데 적합, 그리고 확장성이 뛰어나 여러 대의 서버 컴퓨터에 데이터를 분산하여 저장하고 처리하는 환경에서 주로 사용

 

하지만 정형 데이터를 정확하게 처리하기 위해서는 기존의 관계 DBMS를 그대로 유지해야 하고, 비정형 데이터를 처리하려면 NoSQL을 추가로 도입해야하는 부담이 발생

NewSQL DBMS의 등장, 안정성과 일관성을 유지하면서도 SQL을 이용해 다양하고 복잡한 데이터 처리를 편리하게 요청할 수 있다.

 

DBMS의 발전 과정

 

728x90
반응형