데지덤

  1. 데이터관련 직무와 자격
    1. 데이터베이스 직무

    2. 데이터베이스 자격

  2. 데이터관련 학습방법
    1. 데이터베이스 개론 학습

    2. DBMS 학습

    3. 읽어볼만한 DB책

  3. 최신동향과 유명한 Things
    1. DB최신동향

    2. 데이터로 유명한 Things

  4. 데이터베이스 개념
    1. 데이터베이스 개념

    2. DBMS

    3. 데이터베이스 개발과운영

  5. 데이터베이스 설계(1/2)
    1. 데이터표준

    2. 데이터모델링

    3. 데이터모델 디자인패턴

  6. 데이터베이스 설계(2/2)
    1. 프로세스및상관모델링

    2. 정규화

    3. 반(역)정규화

    4. DB물리설계

  7. 인덱싱과 DB프로그래밍
    1. 인덱스와 해싱

    2. 관계연산

    3. DB언어

    4. SQL

    5. 데이터베이스 미들웨어

  8. 데이터베이스 운영
    1. 트랜잭션

    2. 병렬처리

    3. 데이터베이스 복구

    4. 데이터베이스 성능

    5. 병행제어(동시성제어)

  9. 분석계 및 빅데이터기술
    1. 데이터웨어하우스

    2. 데이터마이닝

    3. 빅데이터기술

  10. 데이터거버넌스
    1. 데이터거버넌스

    2. 데이터베이스 감리/진단

  11. 데이터베이스 종류와 보안
    1. 데이터베이스 종류

    2. 데이터베이스 보안

  12. DBMS
    1. 오라클

    2. SQL Server

    3. DB2

    4. Sybase

    5. Altibase

ACID vs BASE

개념
1. ACID 의 정의 - 데이터베이스 트랜잭션이 안전하게 수행된다는 것을 보장하기 위한 성질 2. BASE의 정의 - ACID와 대조적으로 가용성과 성능을 중시하는 특성을 가진 분산 시스템의 특성

1. RDBMS의 ACID속성과 NoSQL의 BASE속성 개념

  가. ACID 의 정의

    - 데이터베이스 트랜잭션이 안전하게 수행된다는 것을 보장하기 위한 성질

  나. BASE의 정의

   - ACID와 대조적으로 가용성과 성능을 중시하는 특성을 가진 분산 시스템의 특성

 

 

2. NoSQL의 BASE속성과 RDBMS의 ACID속성의 비교

  가. NoSQL의 BASE속성

구분

내용

Basically Available

- 가용성을 중시, Optimistic Locking 및 큐 사용

  - 다수의 실패에도 가용성을 보장, 다수의 스토리지에 복사본 저장

Soft-State

- 노드의 상태는 외부에서 전송된 정보를 통해 결정됨

- 분산 노드 간 업데이트는 데이터가 노드에 도달한 시점에 갱신

Eventually Consistent

- 일시적으로 비일관적인 상태가 되어도 최적으로는 일관성이 있는 상태가 되는 성질

 

  나. RDBMS의 ACID속성

구분

내용

Atomicity

(원자성)

트랜잭션과 관련된 작업들이 모두 수행되었는지 모두 실행되지 않았는지를 보장하는 것

Consistency

(일관성)

트랜잭션이 실행을 성공적으로 완료하면 언제나 일관성 있는 데이터베이스 상태로 유지하는 것

Isolation

(고립성)

트랜잭션 수행 시 다른 트랜잭션의 연산 작업이 끼어 들지 못하도록 보장하는 것

Durability

(지속성)

성공적으로 수행된 트랜잭션은 영원히 반영되어야 하는 것

 

  다. BASE속성과 ACID속성의 비교

속성

BASE

ACID

적용분야

NOSQL

RDBMS

범위

시스템 전체에 대한 특성

트랜잭션에 한정

일관성측면

약한 일관성

강한 일관성

중점사항

Availability

‘Commit’에 집중

시스템측면

성능에 초점

엄격한 데이터관리

효율성

쿼리디자인이 중요

테이블 디자인이 중요

 

3. 관계형 DB와 NoSQL의 비교

방식

관계형 DB 데이터 모델링

NoSQL 데이터모델링

개념도

핵심

   - ACID기반 데이터모델링

   - BASE 기반 데이터 모델링

방식

- Minimal Redundancy 통한 데이터 일관성 확보

- 데이터 중복통한 빠른 조회(Perfomance) 확보

단계

- 업무특징에 따른 데이터모델링(설계) 수행 후 개발

- 화면과 개발로직을 고려한 데이터셋 설계

독립성

- 프로그램 독립적 설계 (데이터 독립성 중요)

- 프로그램 종속적 설계(데이터 독립성 회피)

의견

일반화된 표기법과 수행절차가 있는 데이터 구성방식으로 논리적인 연결점을 갖는 데이터 모델링 기법

프로그램에서 처리하기 용이한 구조의 데이터셋을 구성하는 일반적인 데이터모델링 이라기 보다는 파일구조 설계에 더 가까움

<출처 : 씨에스리컨설팅 연구소, 2014 IT서비스 학회 논문 >

 

4. DBMS 의 CROA분류체계 – OLTP, OLAP, Row-Based, Column-Based

 

5. DBMS 선택전략

1) 다양한 형태의 DBMS가 공존하는 빅데이터시대에는 데이터와 트랜잭션 성격에 적합한 DBMS 선택이 필요

 

2) DBMS를 선택할 때는 트랜잭션의 완전성, 스키마고정성, 비용, 데이터의 양, 처리속도. 성능을 고려해야 함

 

3) RDBMS는 트랜잭션의 완전성을 보장해야 하는 환경에 적합하며, NoSQL은 트랜잭션이 완전하지 않아도 되며, 비정형성, 데이터의 빠른 처리가 요구되는 환경에 적합함

 

4) NoSQL DBMS를 선택할 때는 데이터의 양, 요구되는 처리속도에 따라 Memory기반과 Disk 기반 NoSQL을 선택하며, 경우에 따라 같이 사용함

 

5) 다양한 선택이 가능한 DBMS 시장에서 무조건적으로 “OLTP→RDBMS, 빅데이터 →NoSQL”이 아닌, 데이터와 트랜잭션의 성격에 따라 전략적인 DBMS 선택이 필요함

 

 

 

 

 

 

댓글