개발/데이터베이스

데이터베이스 관리시스템 발전사(RDBMS에서 NoSQL까지)

플랜B 2022. 2. 4. 16:08

데이터베이스란?

데이터를 다수에게 제공할 목적으로 체계화하여 통합하고 관리하고 있는 데이터 집합

 

1. 파일 데이터베이스 관리 시스템

디스크 저장장치에 데이터 양을 최적화 하여 블록 단위로 데이터를 저장하여 관리한다.
예시) id(10), name(40), address(100), phoneNumber(10)

 

한계점

  • 저장 기준과 다른 기준으로 데이터를 검색하는 경우에 비효율 적이다. (모든 데이터를 메모리에 올리는 등의 작업)
  • 파일 구조가 변하면, 프로그램도 변경되어야 한다. (사이즈를 지정해두었기 때문에)
  • 데이터의 종류(급여와 같은)에 따라 보안 요구 사항이 달라진다. (이같은 이유로 같은 데이터가 여러벌 생길 수 있다.)
  • 데이터 사이의 일관성을 유지하기 어렵다. (여러벌 생긴 데이터를 수정하다보면 정보가 달라질 수 있다.)

 

2. 계층형 데이터베이스 관리 시스템

검색을 효율적으로 하기 위해서 데이터를 부모-자식 관계로 만들어 관리한다.
예시) 고객106 > 대출106, 대출127

 

한계점

  • 부모가 여럿이고 자식이 하나인 관계를 갖는 경우를 관리하기 어렵다.
  • 문제를 해결하기 위해 데이터를 복제해야하는데, 저장공간을 비 효율적으로 사용하게 된다.
  • 또한, 복제를 하면 데이터 사이의 일관성을 유지하기 어렵다.

 

3. 네트워크 데이터베이스 관리 시스템

노드, 엣지를 사용하여 그래프형태로 데이터를 관리한다.

 

2가지 제약조건

  • 부모-자식 관계를 다대다로 만들어 관리한다.
  • 단방향 비순환 그래프를 유지해야 한다.

 

한계점

  • 설계와 관리가 어렵다.
  • 데이터 모델링이 복잡하면, 그 에 따른 노드와 엣지 수가 증가하여 검색할 때에도 영향을 준다.

 

4. 관계형 데이터베이스 관리 시스템(RDBMS, SQL 데이터베이스)

데이터 구조의 논리 구성과 물리적인 저장 구조를 분리했다.
분리하면서 발생하는 문제점을 해결하기 위해서 RDBMS에는 4가지 규칙을 적용한다.

 

RDBMS 요구사항 4가지

  • 스토리지 관리 프로그램
  • 메모리 관리 프로그램
  • 데이터 사전
  • 질의 언어(SQL)

 

한계점

  • 대용량 처리를 할 때 느려진다.
  • 스케일업으로 문제를 해결할 수는 있지만, 확장성이 떨어진다.
  • RDBMS 서비스가 다운되면 서비스 또한 다운된다.

 

5. NoSQL 데이터베이스 관리 시스템

RDBMS가 갖는 한계점인 대용량 처리, 확장성, 가용성을 보완하기 위해 등장한 시스템이다.

 

한계점

  • 100% 데이터 일관성을 보장할 수 없다.
  • 데이터 일관성과 응답시간 사이의 임계점을 찾음으로써 보완해야 한다.

 

NoSQL 종류

  • Key-Value DBMS: Redis
  • Document DBMS: Elasticsearch, MongoDB
  • Column Family DBMS: cassandra
  • Graph DBMS: neo4j
반응형