데이터베이스 설계, 빅데이터, NoSQL

Hyerin·2022년 10월 24일
0

데이터 베이스 설계 과정

1) 개념적 데이터베이스 설계 : 사용자 관점을 위한 개념적 데이터 스키마를 도출하는 과정으로, 도출된 개념적 데이터 스키마는 특정 데이터 모델이나 특정 데이터베이스 관리시스템과는 독립적이다.
2) 논리적 데이터베이스 설계 : 각 사용자 관점에서 도출된 개념적 데이터 스키마를 특정 데이터 모델의 스키마로 전환하고, 이들을 통합하여 통합 논리적 스키마를 구축하는 과정이다.
3) 물리적 데이터베이스 설계 : 물리적 저장장치에 데이터베이스를 실행시킬 수 있도록 논리적 데이터 스키마를 특정 데이터베이스 관리시스템의 언어로 전환시킨다.

병행 제어

다수의 사용자가 스키마에 접근했을 때 발생하는 문제를 관리하기 위한 것이 RDBMS 병행 제어 기능이다.
1) 갱신 분실의 문제
2) 직렬 스케줄
3) 교착상태
4) 차단 방식

  • 미리 차단
  • 독점 차단, 공유 차단

5) 복구 방법

  • 복구/재실행(restore/return)
  • 후방복구(backward recovery/rollback)
  • 전방복구(forward recovery/rollforward)

6) 복구 장치

  • 예비(backup) 장치
  • 기록(journalizing) 장치
  • 반영시점(checkpoint) 장치

빅데이터와 NoSQL

1) 빅데이터의 특징

  • 양(VOLUME) : 저장되어야 하는 데이터의 양
  • 속도(VELOCITY) : 시스템 안으로 들어온 데이터가 처리되는 속도
  • 종류(VARIETY) : 저장되어야 하는 데이터 유형의 다양성

2) Hadoop

  • 대용량 데이터의 분산처리를 위한 파일시스템으로 데이터베이스 시스템은 아니다.
  • 처리 속도를 높이기 위해 여러 대의 컴퓨터를 클러스터로 묶고, 데이터를 분산하여 여러 클러스터에서 병렬로 동시에 분산처리한다.
  • 분산 파일 시스템 : 수천 대의 분산된 장비에 대용량 파일을 저장할 수 있는 기능을 제공함 / 기본 블록의 크기가 64MB로 개인용 컴퓨터의 블록보다 큼 / 데이터를 저장한 후 변경이 불가능하지만 병행제어의 문제가 없어서 고성능 데이터 처리가 가능함
  • 맵리듀스 : 흩어져 있는 대용량 데이터를 처리하기 위해 소위 분할 정복 전략을 사용함 / 여러 개의 작은 단위로 쪼개서 병렬로 처리한 후 결과를 다시 결합하여 원래 과업의 결과를 만듦

3) NoSQL

  • 관계형 데이터 모델 외의 다양한 데이터 모델의 데이터베이스를 총괄하여 NoSQL이라고 한다.
  • key-value 데이터베이스
  • 도큐먼트 데이터베이스 : 속성이름(field)와 속성값(value)가 쌍으로 구성된 도큐먼트를 기본 구조로 가짐 / 속성값에는 문서만 저장 가능
  • 컬럼-중심 데이터베이스 : 행과 열로 이루어진 테이블로 구성됨 / 행-중심으로 저장되는 관계형 데이터베이스와 달리 열-중심으로 저장됨

4) MongoDB

  • 수직적 확장 방식을 채택하는 관계형 데이터베이스와 달리 수평적 확장 방식을 사용한다.
  • 데이터를 여러 노드에 분산시키는 것을 자동으로 관리해준다.
  • 속성이름(field)와 속성값(value)가 쌍으로 구성된 도큐먼트를 기본 구조로 가지는데 속성값에 문자나 숫자와 같은 단순한 유형 외에도 다른 문서, 배열 및 문서 배열이 포함될 수 있다.
  • 스키마를 미리 정의 내릴 필요 없이, 저장되는 데이터에 적합하도록 유연하게 변형할 수 있다.

데이터베이스 관리 (4TH EDITION) - 서길수 저
참고해서 작성했습니다.

profile
DevOps, 코딩 기록

0개의 댓글