반응형
'그림으로 배우는 데이터베이스' 책을 공부하며 정리했다.

목표 |
▶ 관계형 데이터베이스 이해하기
▶ NoSQL 이해하기
내용 정리 |
데이터 모델
▶ 데이터가 저장되는 형태에 따라 여러 모델로 나뉜다.
▶ 대표적인 종류
① 계층 형
- 1개의 부모와 복수 개의 자식 구조이다.
- 회사 조직도와 유사한 구조 같다.
- 복수의 팀에 소속된 사람과 같이 중복 데이터가 발생할 수 있다. (단점)
② 네트워크 형
- 계층형 모델의 단점을 보완한 모델이다.
- 복수 개의 부모와 복수 개의 자식의 구조로 표현할 수 있다.
- 데이터의 중복은 피할 수 있지만, 뭔가 너무 복잡해 보인다. (단점)
③ 관계 형 (밑에서 더 자세하게 설명할것임)
- 현재 가장 많이 사용 되고 있는 모델이다.
- 테이블(표)의 형태로 저장된다.
- 엑셀 생각하면 될 듯? 하다.
관계형 데이터베이스 (RDB)
▶ 개념
- 표의 형식으로 데이터를 저장한다.
- 관련 데이터끼리 한 테이블에 작성되며 관계있는 테이블과 결합을 할 수도 있다. → '관계형' 데이터베이스
▶ 구조
- 테이블(Table) : 데이터가 입력된 표라고 보면 된다.
- 컬럼(Columm) : 테이블의 열
- 레코드(Record) : 테이블의 행
- 필드(Field) : 레코드 안에 있는 각데이터
▶ 장점
① 데이터의 포맷 통일
→ 데이터 타입 미리 지정
→ NOT NULL, UNIQUE 등 규칙을 미리 지정
② 갱신비용 최소화
→ 복수의 테이블 사이 공통으로 관계된 테이블만 수정하면 되기에 갱신비용을 최소화할 수 있다.
③ 정확한 데이터 취득 가능
▶ 단점
① 데이터가 방대해짐에 따라 처리 속도가 확연히 느려짐
→ 인덱싱(INDEX)으로 처리 속도를 빠르게 할 수는 있다. (☆)
(★ 다른 모델과 비교하여 빠른것인지는 추가 공부하여 정리하도록 하자)
② 이미 생성된 데이터의 분산이 어려움 (☆)
→ 데이터의 일관성에 의해 테이블이 철저히 유지된다.
(★ 분산관련 추가 공부하여 정리하도록 하자)
③ 표현하기 어려운 데이터가 존재
→ 그래프 형태, 비구조화(XML, JSON 등) 데이터 등 계층적이고 자유도가 높은 데이터를 표현하는 것이 어렵다.
??
rdb 단점
데이터의 분산
비구조화데이터 (JSON, XML)
NoSQL
▶ 개념
- Not Only SQL
- 관계형 뿐만 아니라 다른 특징도 가지는 SQL 모델이다.
- 데이터의 무결성보다는 처리 성능을 우선시 하는 모델이다.
- 즉, 대용량의 데이터를 고속으로 처리할 때 적합하다.
▶ 장점
- 처리 속도가 빠르다.
- 많은 양의 데이터를 다룰 수 있다.
- 다양한 구조의 데이터를 다룰 수 있다.
- 데이터를 분산하여 처리하는 것이 가능하다.
▶ 단점
- 관계형인 데이터끼리 결합이 지원되지 않는다.
- 데이터의 일관성과 정합성을 유지하는 기능은 약하다. (데이터의 무결성이 약하다?)
- 트랜잭션은 사용할 수 없는 경우가 많다.
▶ 종류 (☆)
① 키-밸류의 조합 모델
ⓐ 키 밸류형
- 키(Key), 밸류(Value) 2개의 데이터가 쌍으로 존재한다.
- 마치 dict 타입같다.
- 간단한 구조이기에, 데이터를 고속으로 읽고 쓸 수 있다.
- 또한, 데이터를 분산하기 쉬운 것이 큰 특징이다.
ⓑ 컬럼 지향형
- 키 밸류형 모델의 확장형이다.
- 키-{키-밸류} 와 같은 구조이다.
② 계층 및 관계성 모델
ⓐ Document 지향형
ⓑ 그래프(Graph)형
▶ 이용 사례
- 대규모 데이터 분석
- 실시간 처리가 요구되는 게임
- Rich Web 콘텐츠 (☆)
??
NoSQL 종류의 예시
- 키 밸류형
- 컬럼 지향형
- Document 지향형
- 그래프형
★ 실습 ★
※ 데이터베이스 만들어 보기
반응형
'Web Backend > Database' 카테고리의 다른 글
[DB스터디] 3_데이터의 조작 (0) | 2025.02.04 |
---|---|
[DB스터디] 1_데이터베이스의 기본 (0) | 2025.02.03 |
댓글