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