CS/데이터베이스

[DB] 데이터베이스 종류와 장단점

Unagi_zoso 2023. 7. 18. 15:27

 

  데이터베이스 종류

 

  • 계층형 데이터베이스
  • 네트워크형 데이터베이스
  • 관계형 데이터베이스
  • 비관계형 데이터베이스

 

  계층형 데이터베이스

 

데이터의 관계가 트리 구조로 정의된다.

상위 레코드가 복수의 하위 레코드를 가지는 구조. (1:N 관계)

데이터베이스에서 사용되기보단 XML, yaml, 파일 시스템 등에서 사용된다.

 

장점

1:N 관계를 가지는 데이터를 처리하기에 좋다.

무결성을 유지하기 좋다.

 

단점

구조변경이 어렵다.

1:N 관계에 한정된다.

 

 

  네트워크형 데이터베이스

 

네트워크 구조로 정의된다.

N:N 관계를 가진다.

 

장점

계층 구조에 링크를 추가해되어 모든 데이터에 접근이 가능하다.

 

단점

구조 변경 시 모든 데이터에 갱신을 해야하여 무결성을 유지하기 힘들다.

 

 

  관계형 데이터베이스

 

Relation(릴레이션)이란 테이블의 개념으로 관계를 형성하는 구조이다.

SQL (질의어)을 통해서 데이터를 관리하고 접근한다.

 

데이터 간 1:1 관계를 유지하며 

릴레이션이란 테이블과,  튜플(행)과 속성(열)으로 구성된다.

 

장점

정규화를 통해 이상현상을 제거하고 무결성을 지키기 유리하다.

릴레이션을 연결하여 다양한 데이터 간 상호연결에 대한 인사이트를 얻을 수 있다.

 

단점

좋은 스키마 설계를 위해 학습장벽이 있다.

Join을 위해 질의어가 복잡해질 수 있다.

릴레이션 간 Join을 위해 비용이 클 수 있다. (성능이 떨어짐)

 

  비관계형 데이터베이스(Nosql)

 

분산 환경에서 대용량의(비구조적) 데이터를 빠르게 처리하기 위해 개발되었다.

데이터에 접근하고 관리하기 위해 다양한 데이터 모델을 사용한다. 그래서 데이터 일관성 제한의 일부를 무시하기도 한다.

Key - Value 형식

 

장점

관계형 데이터베이스보다 유연하고 데이터의 저장 및 검색을 위해 특화되었다.

레코드, 필드에 한 개 이상의 데이터를 가질 수 있다.

데이터 구조를 정확히 알 수 없거나, 변경 딜 수 있는 경우 유용하다.

읽기의 빈도 수가 변경읩 빈도 수 보다 많을 때 유용하다.

Key 값에 따른 Sharding이 쉽다.

 

단점

고정된 스키마가 없고 Join이 불확신하다.

데이터가 중복 될 수 있다.

 

 

 

참조

https://lazyer.tistory.com/27

https://aws.amazon.com/ko/compare/the-difference-between-relational-and-non-relational-databases/

 

긴 글 읽어주셔서 감사합니다. 

부족한 점이 있다면 부디 알려주시면 감사하겠습니다.