데이터베이스의 종류
데이터베이스는 데이터의 저장 방법에 따라 아래와 같에 4가지 종류로 나눌 수 있다.
•
계층형 데이터베이스
•
네트워크형 데이터베이스
•
키-값 데이터베이스
•
관계형 데이터베이스
1. 계층형 데이터베이스
•
데이터가 부모-자식 관계를 이루는 트리 구조
•
부모 레코드는 여러개의 자식 레코드를 소유한다.
특징
•
1대1 관계가 무너지면 변경이 어렵다.
•
데이터 중복이 발생하기가 쉽다.
•
데이터는 상하 종속 관계로 이루어지므로 채택 후 프로세스 변경이 어렵다.
•
현재는 거의 사용되지 않는다.
2. 네트워크형 데이터베이스
•
데이터를 노드로 표현한다.
•
노드는 네트워크 상에 있으며 서로 대등한 관계를 맺는다.
•
계층형의 단점이었던 중복, 상하 종속 관계를 해결했다.
특징
•
멤버 모드는 반드시 주인 노드와 연결되어있어야 한다.
•
멤버 노드는 주인 노드에 있는 레코드와 연관되어야 한다.
•
레코드 간의 관계를 일대다 혹은 다대다로 표현할 수 있지만 종속성 문제가 발생하기 쉽다.
◦
주문 데이터는 손님, 매니저, 판매원과 종속적 관계를 갖는다.
•
구조 변경하는 것이 어렵다.
3. 키-값 데이터베이스
•
NoSQL 의 한 종류로 키-값 일대일 대응을 하여 데이터를 저장한다.
•
데이터 중복이 발생하며 비정형 데이터 저장에 유리하다.
특징
•
스키마 없이 작동하기 때문에 데이터 구조를 미리 정의할 필요가 없다.
•
비정형 데이터를 쉽게 저장할 수 있다.
•
키-값은 다양한 형태로 표현이 가능하다.
NoSQL 종류
4. 관계형 데이터베이스
•
현재 가장 많이 사용하는 데이터베이스
•
데이터를 테이블 형태로 저장하며 열과 행으로 구성된다.
ERD
•
Entity Relationship Diagram
•
테이블간의 관계를 표현한 그림이다.
•
논리모델과 물리모델이 있다.
관계형 데이터베이스는 왜 필요한가?
•
데이터가 도메인 영역별로 적절하게 분리된다면, 데이터 구조나 데이터 자체를 변경해야할 경우 그 영향범위를 최소화할 수 있다.
관계형 데이터베이스의 종류
5. NoSQL - RDB
둘은 서로 용도가 다르기 때문에 서로가 서로를 대체하는 개념 보다는 용도에 맞게 보완적으로 사용한다고 이해하면 좋을 것 같다.
•
데이터 중복성
◦
관계형 데이터 베이스는 중복 최소화
◦
NoSQL 은 중복 발생
•
데이터 성격
◦
관계형 데이터에서는 트랜잭션 중요한 데이터 위주
◦
NoSQL에서는 로그성 데이터, 형태가 정의되어있지는 않지만 빠르게 사용이 가능한 데이터 위주