티스토리 뷰

데이터베이스 종류와 장단점

#Study/CS

데이터베이스의 종류
- 계층형 데이터베이스
- 네트워크형 데이터베이스
- 관계형 데이터베이스
- 비관계형 데이터베이스

1. 계층형 데이터베이스

데이터의 관계를 트리 구조로 정의.
상위 레코드가 복수의 하위 레코드를 갖는 구조. (일대다 관계)
1-대-N 관계 형성.
현재의 데이터베이스에서는 거의 사용되지 않지만 XML, 파일 시스템 등에서는 사용 중이다.

[담임 - 테이블 ] : 성명, 지위, 봉급 등 속성 포함
[학생 - 테이블 ] : 성명, 생년월일 등 속성 표현
학생이 한 명 이상의 담임을 가질 경우 1-대-N 관계가 무너지며, 네트워크 모델이 되어버린다.

장점
1-대-N 관계를 갖는 대용량 데이터베이스 처리에 강력하다.
무결성 조건에 대해 좋은 관리가 가능하다.
단점
구조 변경이 어렵다.
1-대-N 관계에 한정되는 관계를 구현하기 어렵다.

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

망 형태로 구성된 모델. 계층형 트리를 확장한 형태.
N-대-N 관계 형성.

장점
계층 구조에 링크를 추가(모두 연결)하여 접근성이 우수하다.
단점
구조 변경 시 참조하는 모든 레코드에 수정이 필요하다.

3. 관계형 데이터베이스(Sql)

Column, Record 로 구성된 Table간의 관계를 나타낼 때 사용한다.
SQL(질의어) 을 사용하여 데이터 관리 및 접근.

데이터간에 1:1 관계를 유지한다.
2차원 구조의 테이블로 구성된 모델을 사용하며, 한 테이블은 다수의 열, 각 열은 레코드 단위로 구성된다.
데이터는 정해진 스키마에 따라 테이블에 저장된다.
데이터 간의 참조는 키의 중복으로 생성된다.

장점
안정적이다.
사용자는 데이터 저장의 물리적 구조로부터 자유롭다.
테이블의 데이터 중복이 없어 일관성이 있으며 구조가 명확하다.

단점
데이터 스키마가 사전에 계획되어 있어야 한다.
데이터 사이에 상호 관계는 Join을 통해 일어나는데, 성능 문제가 발생할 수 있다.
Join을 통해 매우 복잡한 쿼리가 만들어 질 수 있다.
빅 데이터를 스키마에 맞추어 넣을 때 많은 시간 소용.

4. 관계형 데이터베이스 (Nosql)

객체지향형 데이터베이스
비관계형 데이터베이스.
분산 환경에서 대용량의(비구조적) 데이터를 빠르게 처리하기 위해 개발되었다.
Key - Value 형식의 JSON과 비슷한 구조.

장점
관계형 데이터베이스보다 유연하고 데이터의 저장 및 검색을위해 특화됨
레코드, 필드에 한 개 이상의 데이터를 갖도록 허용.
정확한 데이터 구조를 알 수 없거나 변경 또는 확장될 수 있는 경우 유용하다.
관련 데이터를 동일한 컬렉션에 넣으며, 수평적 확장에 유리하다.
읽기(read)의 빈도 수가 변경(update)의 빈도 수 보다 많을 때 유용.
Key값에 따른 Sharding이 더 쉽다.

단점
릴레이션이 아니므로 고정된 스키마가 없고 조인이 힘들다.
유연성으로 데이터 구조를 결정하지 못할 수 있음
데이터의 중복 가능 (수정의 어려움)

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함