데이터베이스의 종류

데이터베이스는 데이터의 저장 방법에 따라 아래와 같에 4가지 종류로 나눌 수 있다.

  • 계층형 데이터베이스

  • 네트워크형 데이터베이스

  • 키-값 데이터베이스

  • 관계형 데이터베이스

1. 계층형 데이터베이스

  • 데이터가 부모-자식 관계를 이루는 트리 구조

  • 부모 레코드는 여러개의 자식 레코드를 소유한다.

특징

  • 1대1 관계가 무너지면 변경이 어렵다.

  • 데이터 중복이 발생하기가 쉽다.

  • 데이터는 상하 종속 관계로 이루어지므로 채택 후 프로세스 변경이 어렵다.

  • 현재는 거의 사용되지 않는다.

2. 네트워크형 데이터베이스

  • 데이터를 노드로 표현한다.

  • 노드는 네트워크 상에 있으며 서로 대등한 관계를 맺는다.

  • 계층형의 단점이었던 중복, 상하 종속 관계를 해결했다.

특징

  • 멤버 모드는 반드시 주인 노드와 연결되어있어야 한다.

  • 멤버 노드는 주인 노드에 있는 레코드와 연관되어야 한다.

  • 레코드 간의 관계를 일대다 혹은 다대다로 표현할 수 있지만 종속성 문제가 발생하기 쉽다.

    • 주문 데이터는 손님, 매니저, 판매원과 종속적 관계를 갖는다.

  • 구조 변경하는 것이 어렵다.

3. 키-값 데이터베이스

  • NoSQL 의 한 종류로 키-값 일대일 대응을 하여 데이터를 저장한다.

  • 데이터 중복이 발생하며 비정형 데이터 저장에 유리하다.

특징

  • 스키마 없이 작동하기 때문에 데이터 구조를 미리 정의할 필요가 없다.

  • 비정형 데이터를 쉽게 저장할 수 있다.

  • 키-값은 다양한 형태로 표현이 가능하다.

NoSQL 종류

4. 관계형 데이터베이스

  • 현재 가장 많이 사용하는 데이터베이스

  • 데이터를 테이블 형태로 저장하며 열과 행으로 구성된다.

ERD

  • Entity Relationship Diagram

  • 테이블간의 관계를 표현한 그림이다.

  • 논리모델과 물리모델이 있다.

관계형 데이터베이스는 왜 필요한가?

  • 데이터가 도메인 영역별로 적절하게 분리된다면, 데이터 구조나 데이터 자체를 변경해야할 경우 그 영향범위를 최소화할 수 있다.

관계형 데이터베이스의 종류

5. NoSQL - RDB

둘은 서로 용도가 다르기 때문에 서로가 서로를 대체하는 개념 보다는 용도에 맞게 보완적으로 사용한다고 이해하면 좋을 것 같다.

  • 데이터 중복성

    • 관계형 데이터 베이스는 중복 최소화

    • NoSQL 은 중복 발생

  • 데이터 성격

    • 관계형 데이터에서는 트랜잭션 중요한 데이터 위주

    • NoSQL에서는 로그성 데이터, 형태가 정의되어있지는 않지만 빠르게 사용이 가능한 데이터 위주

Last updated