본문 바로가기
Web Backend/Database

[DB스터디] 2_데이터의 보존 형식

by 요호유후 2025. 2. 4.
반응형

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

 

목표
▶ 관계형 데이터베이스 이해하기
▶ 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

댓글