병행제어 문제 갱현모연, 4개 개념도 테이블로 그리기. 숫자 계산할 필요는 없고 간단하게 T자형으로 표현
병행제어 기법 L2낙타다, 5개로 정해져 있으므로 개념도 테이블로 그리기
인터넷에서 교과서 그림 찾아서 어떻게 하면 간단하게 그릴지… 답지 참고해서 외워도 되겠다. 내가 창의적으로 할 필요 없음.
2PL: 케이크 형태 그림. 확장/차단/수축 단계 낙관적 검증: 읽기/검증/쓰기 단계 타임스탬프: 낮은 버전 참고 MVCC: SCN 꼭 개념도에 넣기
체크포인트 회복 기법 그림에서, 체크포인트 전에 완료된 트랜잭션도 그려놓고 회복 제외라고 표기해놓기
그림에서 화살표 그릴 때, 어떤 의미일지도 적기.
A: 데이터베이스 회복기법, 3가지 (회로체그, 로그/체크포인트/그림자테이블)
C: 데이터베이스 병행제어 + 무결성 제약조건(개참속사키)
I: 고립성 레벨 4개와 문제(Dirty Read, Non-repeatable read, Phantom Read)
D: 데이터베이스 회복기법 (A와 동일)
‘마이닝’ →‘숨겨진 패턴 발견’이라는 단어 꼭 쓰기
간글은 논리적인 연결의 역할을 하기 때문에 꼭 써주는게 좋다. 시간 없어서 건너뛰었다면 최소한 가장 끝에는 간글 두 줄 이상 적어주기.
데이터베이스 병행제어
I. 다중 트랜잭션 동시실행 기법, 병행제어의 개요
-
개념: 다중 트랜잭션 동시수행시 일관성 보장 기법
-
특징: (1) 트랜잭션 간 간섭 방지 (2) 직렬가능성 보장
-
동시성과 데이터 일관성 동시 확보
II. 병행제어의 구성도 및 구성요소
가. 병행제어의 구성도
[트랜잭션T1] [트랜잭션T2]
\ /
[병행제어 관리자]
/ | \
[로킹] [타임스탬프] [MVCC]
\ | /
[스케줄러] → [직렬가능 스케줄]
- T1,T2→병행제어관리자→직렬가능 스케줄 산출
데이터베이스 병행제어 하지 않았을 시 문제점
I. DB 동시접근 부작용, 병행제어 미수행 시 문제점의 개요
-
개념: 병행제어 없는 트랜잭션 동시실행 이상현상
-
특징: (1) 데이터 일관성 훼손 (2) 트랜잭션 간 간섭 발생
-
동시성 제어 부재로 데이터 무결성 붕괴
II. 병행제어 미수행 시 문제점의 구성도 및 구성요소
가. 병행제어 미수행 시 문제점의 구성도
[병행제어 부재]
├─(갱신 충돌)→ 갱신손실
├─(읽기 시점차)→ 현황파악의 오류
├─(부분갱신 참조)→ 모순성
└─(Rollback 전파)→ 연쇄복귀의 오류
- 미제어 시 4대 이상현상 발생
나. 병행제어 미수행 시 문제점의 구성요소
| 구분 | 구성요소 | 설명 |
|---|---|---|
| Update 이상 | 갱신손실 | 앞 트랜잭션 갱신결과 덮어씀 |
| Read 이상 | 현황파악의 오류 | 진행중 갱신값 잘못 조회 |
| Update 이상 | 모순성 | 상이한 데이터 참조로 불일치 |
| Rollback 이상 | 연쇄복귀의 오류 | 취소 시 연쇄적 재취소 발생 |
- Update·Read·Rollback 이상 3범주
모순성만 A,B가 필요하고 나머지는 A만으로 설명 가능.
현황파악 오류와 연쇄복귀 오류는 동일한 케이스.
- T1 이 A 업데이트한 뒤에 롤백함.
- 업데이트된 A를 읽은 T2는 현황파악의 오류 (Dirty Read)
- T1이 롤백됐기 때문에 업데이트된 A를 읽은 T2도 롤백되어야 함. 연쇄복귀의 오류 (Cascading Rollback)
갱신손실
- T1과 T2 모두 A를 업데이트해서 A의 변경사항이 사라짐. 둘 다 커밋 전.
모순성
- A,B 필요
- T1이 A와 B를 읽어서 더하면 200이 되어야 하는데, 그 사이에 T2가 B를 150으로 업데이트 해서 T1의 A+B가 250이 됨.
갱신손실 (Lost Update)
A=100

현황파악의 오류 (Dirty Read)
A=100

모순성 (Inconsistency)
A=100, B=100

연쇄복귀의 오류 (Cascading Rollback)
A=100

데이터베이스 병행제어 기법의 종류
I. 다중 트랜잭션 동시실행 제어, 병행제어 기법의 개요
-
개념: DB 동시접근 시 일관성 보장 기법
-
특징: (1) 갱신손실·모순성 방지 (2) 직렬성 스케줄 보장
-
동시성과 일관성 동시 확보 목적
II. 병행제어 기법의 구성도 및 구성요소
가. 병행제어 기법의 구성도
병행제어 기법
├─[비관적] Locking → 2PL
├─[비관적] 타임스탬프 순서
├─[낙관적] 검증(Validation) 기법
└─[다중버전] MVCC
- 비관적·낙관적·다중버전 3계열 분류
나. 병행제어 기법의 구성요소
| 구분 | 구성요소 | 설명 |
|---|---|---|
| 비관적기법 | Locking | 자원선점 후 접근허용 |
| 비관적기법 | 2PL | 확장·수축 2단계 락 |
| 비관적기법 | 타임스탬프 | 시각순서로 실행순서 결정 |
| 낙관적기법 | 낙관적검증 | 판독-검증-기록 3단계 |
| 다중버전기법 | MVCC | 버전별 스냅샷 유지 |
- 락 기반·검증 기반·버전 기반 혼재
Locking
[Tx] --lock요청--> [Lock Manager]
↓
Shared Lock /
Exclusive Lock
↓
[자원 접근 허용] --unlock--> [해제]
2PL

낙관적검증 (3개 패이즈)

타임스탬프 오더링

MVCC

롤백세그먼트는 원형으로 그리기. Circular Linked List로 구현되어 있음.
SCN은 System Change Number(시스템 변경 번호)의 약자입니다. Oracle 데이터베이스에서 트랜잭션이 커밋될 때마다 증가하는 논리적 타임스탬프로, 데이터베이스 전체에서 유일하게 증가하는 시퀀스 값입니다. 특정 시점의 데이터 상태를 식별하는 기준점 역할을 합니다.
CR은 Consistent Read(일관된 읽기)의 약자입니다. CR 블록(CR Block)은 특정 트랜잭션이 요청한 SCN 시점 기준으로, 현재 데이터블록에 그 시점 이후의 변경사항이 반영되어 있을 경우 롤백세그먼트(Undo)의 정보를 적용해서 그 시점 당시의 데이터 상태로 재구성한 블록을 말합니다.
관계로 정리
| 구분 | 설명 |
|---|---|
| Current Block | 현재 최신 상태의 데이터블록 (버퍼캐시 상) |
| CR Block | 특정 SCN 시점 기준으로 Undo를 적용해 과거 상태로 재구성한 블록 |
| 판단 기준 | 블록 헤더의 SCN과 요청 SCN을 비교해서, 더 최신 변경이 있으면 Undo를 적용해 CR 블록 생성 |
즉 동작 흐름은: 트랜잭션이 특정 SCN으로 읽기를 요청 → 대상 데이터블록의 SCN이 요청 SCN보다 최신이면(즉 그 사이에 다른 트랜잭션이 변경했으면) → 롤백세그먼트에서 Undo 레코드를 가져와 역적용 → 요청 SCN 시점의 CR 블록을 만들어 반환, 하는 방식입니다. 이 과정이 바로 앞서 얘기한 “읽기 일관성(Read Consistency)“의 실제 구현 메커니즘입니다.
데이터베이스 병행제어(Concurrency Control) 시 고려사항
| 구분 | 고려사항 | 주요 내용 |
|---|---|---|
| 1. 일관성 vs 병행성 | Trade-off 관계 | 병행 수행도를 높이면 일관성(Consistency) 저하 위험 증가 → 두 요소 간 균형점 설정 필요 |
| 2. 로킹 단위(Granularity) | 세밀도 결정 | DB 전체/테이블/페이지/레코드 단위로 lock 부여 → 단위가 클수록 병행성↓·오버헤드↓, 작을수록 병행성↑·오버헤드↑ |
| 3. 교착상태(Deadlock) | 예방/회피/탐지 방식 선택 | Wait-Die, Wound-Wait 등 예방기법 또는 Timeout, Wait-for-Graph 기반 탐지·해결 방식 채택 |
| 4. 격리수준(Isolation Level) | Dirty Read/Non-repeatable Read/Phantom Read 제어 | Read Uncommitted~Serializable 중 업무 요구사항에 맞는 수준 선택 |
| 5. 직렬가능성(Serializability) | 스케줄의 정확성 보장 | 병행 실행 결과가 어떤 직렬 스케줄과 동일한 결과를 내도록 보장 (Conflict/View Serializability) |
| 6. 시스템 오버헤드 | 성능/자원 영향 최소화 | Lock 관리 비용, Context Switching, Timestamp 관리 등으로 인한 처리 성능 저하 최소화 |
추가로 참고할 만한 확장 축
- 제어 기법 유형: 로킹 기법(2PL) / 시분할(Timestamp Ordering) / 낙관적 기법(Validation) / 다중버전(MVCC) 중 시스템 특성에 맞는 방식 선정
- 회복(Recovery)과의 연계: 병행제어는 회복기법(Redo/Undo)과 밀접하게 연결되므로 로그 관리 전략과 함께 설계 필요
데이터베이스 회복기법
- 두음: 회로체그
I. 장애 시 DB 일관성 복구기법, 데이터베이스 회복기법의 개요
-
개념: 장애 발생 시 DB 일관 상태 복구 기법
-
특징: (1) 트랜잭션 원자성 보장 (2) 로그 기반 복구 수행
-
장애 유형별 로그 활용 일관성 복구
II. 데이터베이스 회복기법의 구성도 및 구성요소
가. 데이터베이스 회복기법의 구성도
[장애발생]→[장애유형판별]
├─(트랜잭션장애)→[UNDO]
├─(시스템장애)→[REDO/UNDO]→[체크포인트 활용]
└─(미디어장애)→[백업복원]→[REDO]
- 장애유형별 REDO·UNDO 선택 적용

나. 데이터베이스 회복기법의 구성요소
| 구분 | 구성요소 | 설명 |
|---|---|---|
| 로그기반 | 즉시갱신 기법 | 갱신 즉시 DB 반영, 로그 필수 |
| 로그기반 | 지연갱신 기법 | 커밋 후 DB 반영, UNDO 불필요 |
| 체크포인트 | 체크포인트 기법 | 주기적 저장점 설정 복구단축 |
| 체크포인트 | Fuzzy 체크포인트 | 시스템 중단없이 저장점 기록 |
| 미디어장애 | 그림자페이징 | 원본·그림자 페이지 이중관리 |
| 미디어장애 | 백업/덤프 기법 | 주기적 전체 백업 후 복원 |
- 로그·체크포인트·미디어 3범주 구성
III. 데이터베이스 회복기법 추가정보
| 구분 | 내용 | 비고 |
|---|---|---|
| 관련기술 | ARIES 알고리즘 3단계 복구 | 분석·REDO·UNDO |
| 비교 | 즉시갱신 대비 지연갱신 UNDO생략 | 성능 유리 |
| 시사점 | 체크포인트 주기 성능·복구 trade-off | 운영정책 필요 |
- ARIES 표준화, 체크포인트 주기 설계 중요
REDO
지연갱신 → REDO

UNDO
즉시갱신 → UNDO

로그기반 회복기법(지연갱신/즉시갱신)
I. 트랜잭션 로그이용 회복법, 로그기반 회복기법의 개요
-
개념: 로그기록 이용, DB 이전상태 복구기법
-
특징: (1) 지연갱신: Commit후 반영 (2) 즉시갱신: 실행중 즉시반영
-
로그기록 시점 따라 두 기법 구분
II. 로그기반 회복기법의 구성도 및 구성요소
가. 로그기반 회복기법의 구성도

- 반영시점 차이로 회복연산 상이
나. 로그기반 회복기법의 구성요소
| 구분 | 구성요소 | 설명 |
|---|---|---|
| 지연갱신 | Redo 로그 | Commit된 Tx만 재수행 |
| 지연갱신 | 로그버퍼 | Commit전 임시저장 공간 |
| 즉시갱신 | Redo/Undo 로그 | 완료/미완료 Tx 모두 처리 |
| 즉시갱신 | Undo 연산 | 미완료 Tx 변경분 취소 |
| 공통요소 | WAL 원칙 | 로그 먼저기록 후 DB반영 |
| 공통요소 | Checkpoint | 회복대상 범위 축소 |
- 지연·즉시·공통 3범주로 구성
III. 로그기반 회복기법 추가정보
| 구분 | 내용 | 비고 |
|---|---|---|
| 비교 | 지연갱신 Undo 불필요 | 미완료Tx 미반영 때문 |
| 비교 | 즉시갱신 Undo 필요 | 미완료Tx도 즉시반영 |
| 시사점 | 즉시갱신 회복 신속, 부하 큼 | 실무는 즉시+Checkpoint 병행 |
- 무결성·성능 트레이드오프 존재
체크포인트 회복 기법
I. 장애복구 위한 상태저장 기법, 체크포인트 회복 기법의 개요
-
개념: 특정시점 상태저장 후 장애시 복구
-
특징: (1) 재시작시점 단축 (2) 로그재처리량 감소
-
주기적 상태저장으로 복구시간 최소화
II. 체크포인트 회복 기법의 구성도 및 구성요소
가. 체크포인트 회복 기법의 구성도

나. 체크포인트 회복 기법의 구성요소
| 구분 | 구성요소 | 설명 |
|---|---|---|
| 저장관리 | 체크포인트 레코드 | 시점별 상태정보 기록 |
| 저장관리 | 덤프(Dump) | 메모리 전체 스냅샷 |
| 로그관리 | REDO 로그 | 재실행용 변경이력 |
| 로그관리 | UNDO 로그 | 취소용 변경이력 |
| 복구제어 | 장애감지모듈 | 장애발생 시점 인지 |
| 복구제어 | 복구관리자 | 복원절차 총괄 |
- 저장·로그·제어 3범주로 구성
III. 체크포인트 회복 기법 추가정보
| 구분 | 내용 | 비고 |
|---|---|---|
| 비교 | 로그기반복구 대비 재처리량↓ | 복구시간 단축 |
| 관련기술 | Fuzzy Checkpoint 병행처리 | 성능저하 최소화 |
| 시사점 | 주기설정이 성능·복구간 트레이드오프 | 주기 최적화 필요 |
- 회복시간과 오버헤드간 균형점 설계
반정규화(Denormalization)
- 두음
- 절차: 대다반
- 기법: 테병분추 컬중계이 관중
1. 개념 및 배경 (전체 구조 파악)
반정규화는 정규화된 데이터베이스 모델을 조회 성능 향상을 목적으로 의도적으로 중복·통합하는 기법입니다. 전체 그림을 먼저 잡으면:
정규화 (Normalization)
↓ 무결성↑, 조회 성능↓ (조인 증가)
반정규화 (Denormalization)
↓ 조회 성능↑, 무결성/일관성↓ (데이터 중복)
즉, **정합성(무결성) vs 성능(응답속도)**이라는 트레이드오프 축 위에서, 반정규화는 성능 쪽으로 저울을 기울이는 의사결정입니다. 이 관계를 이해하는 게 핵심이고, 이 아래로 “절차 → 유형 → 고려사항”이 순서대로 연결됩니다.
2. 반정규화 절차
일반적으로 4단계로 진행됩니다.
| 단계 | 내용 |
|---|---|
| ① 대상 조사·분석 | 범위 처리 빈도, 대량 데이터 조인, 통계성 계산 등 성능 저하가 예상되는 테이블/컬럼 조사 |
| ② 다른 방법 검토 | 반정규화 전에 뷰(View), 클러스터링, 인덱스 조정, 애플리케이션 튜닝 등으로 해결 가능한지 우선 검토 |
| ③ 반정규화 적용 | 위 방법으로 해결 안 될 경우, 테이블/컬럼/관계 반정규화 수행 |
| ④ 무결성 관리 방안 수립 | 트리거, 배치, 애플리케이션 로직 등으로 데이터 정합성 유지 방안 마련 |
포인트: “성능 문제 확인 → 대안 검토(반정규화는 최후 수단) → 적용 → 사후 무결성 관리” 순서가 시험에서 자주 강조됩니다.
3. 반정규화 유형
크게 테이블, 컬럼, 관계 세 범주로 나뉩니다.
(1) 테이블 반정규화
- 테이블 병합: 1:1, 1:N 관계 테이블을 하나로 합침
- 테이블 분할: 로우/컬럼 단위로 수직/수평 분할 (자주 쓰이는 컬럼과 아닌 컬럼 분리)
- 테이블 추가: 중복 테이블 추가, 통계 테이블 추가, 이력 테이블 추가, 부분 테이블 추가
(2) 컬럼 반정규화
- 중복 컬럼 추가: 조인 없이 조회하도록 상위/관계 테이블의 컬럼을 복제
- 계산 컬럼 추가: 집계/계산 값(합계, 건수 등)을 미리 저장
- 이력 테이블 컬럼 추가: 시점 관리를 위한 컬럼(최신 여부 플래그 등)
(3) 관계 반정규화
- 중복 관계 추가: 두 테이블 간 여러 경로(조인 경로)로 접근해야 할 때, 직접 관계(FK)를 추가해 조인 단계 축소
4. 고려사항
| 구분 | 고려사항 |
|---|---|
| 적용 시점 | 정규화를 먼저 충분히 수행한 뒤, 성능 문제가 실제 확인된 경우에만 적용 (선반정규화 지양) |
| 무결성 | 중복 데이터 발생 시 데이터 불일치 위험 → 트리거/프로시저/배치를 통한 동기화 체계 필수 |
| 저장 공간 | 데이터 중복으로 인한 디스크 사용량 증가 고려 |
| 개발·운영 복잡도 | 반정규화된 구조는 UPDATE/DELETE 시 여러 곳을 함께 관리해야 하므로 애플리케이션 로직 복잡도 증가 |
| 대안 우선 검토 | 뷰, 인덱스, 클러스터링, 파티셔닝 등으로 해결 가능하면 반정규화 대신 채택 |
| 재정규화 가능성 | 요구사항 변화 시 다시 정규화로 되돌릴 수 있는 구조/문서화 필요 |
5. 정리 (핵심 흐름)
정규화로 무결성 확보 → 대량 조회·조인 등 성능 이슈 발생 → 뷰·인덱스 등 대안 우선 검토 → 해결 안 되면 테이블/컬럼/관계 단위로 반정규화 적용 → 트리거·배치 등으로 무결성 관리 체계 수립
이 흐름 전체가 반정규화의 본질이며, 시험 답안에서는 “왜(성능) → 어떻게(절차) → 무엇을(유형) → 부작용 관리(고려사항)“의 논리적 연결을 강조하는 것이 중요합니다.
CAP
I. 분산시스템 트레이드오프 이론, CAP의 개요
-
개념: 분산DB 3속성 동시만족 불가 이론
-
특징: (1) 네트워크 분할시 택일 강제 (2) 일관성·가용성 상충관계
-
분산환경서 CA·CP·AP 택1 필요
II. CAP의 구성도 및 구성요소
가. CAP의 구성도
Consistency(C)
/\
/ \
/ \
CA방식 CP방식
(분할무시, (일관성우선,
단일노드) 노드일부중단)
/ \
/ \
/ \
Availability(A)————————Partition Tolerance(P)
AP방식
(가용성우선,
일관성지연)
- C·A·P 삼각관계서 P는 필수 전제
나. CAP의 구성요소
| 구분 | 구성요소 | 설명 |
|---|---|---|
| 속성 | Consistency | 모든노드 동일데이터 응답 |
| 속성 | Availability | 요청시 항상 응답 보장 |
| 속성 | Partition Tolerance | 분할되어도 시스템 지속 |
| 조합유형 | CP시스템 | 일관성·분할내성 우선 |
| 조합유형 | AP시스템 | 가용성·분할내성 우선 |
| 조합유형 | CA시스템 | 분할없는 단일환경 가정 |
- 3속성중 P전제하 C·A 택1
III. CAP 추가정보
| 구분 | 내용 | 비고 |
|---|---|---|
| 사례 | MongoDB·HBase CP 지향 | 강한일관성 |
| 사례 | Cassandra·DynamoDB AP 지향 | 고가용성 |
| 시사점 | BASE모델로 최종일관성 보완 | 실무적용 |
- 요구사항따라 CP·AP 선택설계
PACELC
I. 지연-일관성 트레이드오프, PACELC의 개요
-
개념: 분산DB 가용성·지연·일관성 트레이드오프 모델
-
특징: (1) 분단시 A/C 선택 (2) 정상시 L/C 선택
-
CAP확장, 정상상태 트레이드오프까지 포괄
II. PACELC의 구성도 및 구성요소
가. PACELC의 구성도
[분산시스템 상태 분기]
├─ Partition 발생시(P)
│ └─ Availability ↔ Consistency 선택(A/C)
└─ Else(정상 운영시, E)
└─ Latency ↔ Consistency 선택(L/C)
- 장애시 P, 평상시 E 이원적 트레이드오프
나. PACELC의 구성요소
| 구분 | 구성요소 | 설명 |
|---|---|---|
| 분단시(PAC) | Availability 우선 | 가용성 유지, 일관성 완화 |
| 분단시(PAC) | Consistency 우선 | 일관성 유지, 가용성 제한 |
| 평시(ELC) | Latency 우선 | 응답속도 최적화 |
| 평시(ELC) | Consistency 우선 | 복제간 강한 일관성 유지 |
| 적용사례 | Dynamo, Cassandra | PA/EL 유형 |
| 적용사례 | BigTable, HBase | PC/EC 유형 |
- 분단시·평시 각각 2범주 선택지 존재
III. PACELC 추가정보
| 구분 | 내용 | 비고 |
|---|---|---|
| 비교 | CAP은 분단시만 고려, PACELC는 평시도 포함 | CAP 확장모델 |
| 관련기술 | NewSQL은 PC/EC 지향, NoSQL은 PA/EL 다수 | 설계철학 반영 |
| 시사점 | 시스템 요구사항따라 유형 선택 필요 | 설계시 활용 |
- CAP 한계 보완한 실무적 분류체계
NoSQL 유형
- 두음: 키컬도그
I. 비정형 데이터 저장 DB, NoSQL 유형의 개요
-
개념: 비관계형·분산형 데이터저장 DB군
-
특징: (1) 스키마리스 유연구조 (2) 수평적 확장 용이
-
데이터모델별 4대 유형으로 분류
II. NoSQL 유형의 구성도 및 구성요소
가. NoSQL 유형의 구성도
[NoSQL]
├─[Key-Value] 단순 키-값 매핑
├─[Column] 컬럼기반 대량저장
├─[Document] JSON형 문서저장
└─[Graph] 노드-관계 그래프
- 데이터모델 따라 4유형 분화
나. NoSQL 유형의 구성요소
| 구분 | 구성요소 | 설명 |
|---|---|---|
| Key-Value형 | Redis | 인메모리 캐시용 |
| Key-Value형 | DynamoDB | 완전관리형 KV스토어 |
| Column형 | Cassandra | 대용량 컬럼분산저장 |
| Column형 | HBase | 하둡기반 컬럼DB |
| Document형 | MongoDB | JSON문서 저장·질의 |
| Document형 | CouchDB | HTTP기반 문서DB |
| Graph형 | Neo4j | 관계중심 그래프DB |
| Graph형 | Neptune | AWS 관계 그래프DB |
- 4유형별 대표제품 상이
III. NoSQL 유형 추가정보
| 구분 | 내용 | 비고 |
|---|---|---|
| 비교 | RDBMS 대비 ACID 완화 | BASE 특성 지향 |
| 선택기준 | 조회패턴별 유형 선정 | 캐시·검색·관계 등 |
| 시사점 | 폴리글랏 퍼시스턴스 확산 | 목적별 DB 혼용 |
- RDBMS 보완, 용도별 혼용 추세
NoSQL 모델링 패턴
I. 비정형 대용량 데이터 설계기법, NoSQL 모델링 패턴의 개요
-
개념: NoSQL 특성 반영한 데이터 구조화 기법
-
특징: (1) 조회성능 위주 구조 설계 (2) 조인 최소화 비정규화
-
RDB정규화 탈피, 접근패턴 중심 설계
II. NoSQL 모델링 패턴의 구성도 및 구성요소
가. NoSQL 모델링 패턴의 구성도
[NoSQL 모델링 패턴]
├─데이터통합/일관성기법
│ ├─ Denormalization(비정규화)
│ ├─ Aggregation(집합화)
│ └─ Atomic Aggregate(원자적갱신단위)
├─조회처리기법
│ ├─ Application Side Join
│ └─ Index Table
└─키설계기법
└─ Composite Key Table
- 통합/일관성·조회·키설계 3범주 조합
나. NoSQL 모델링 패턴의 구성요소
| 구분 | 구성요소 | 설명 |
|---|---|---|
| 데이터통합/일관성기법 | Denormalization | 참조데이터 값복제 저장 |
| 데이터통합/일관성기법 | Aggregation | 연관데이터 단일문서화 |
| 데이터통합/일관성기법 | Atomic Aggregate | 원자적갱신 단위로 문서화 |
| 조회처리기법 | Application Side Join | 앱단에서 다중조회 결합 |
| 조회처리기법 | Index Table | 보조키 조회위한 별도테이블 |
| 키설계기법 | Composite Key Table | 복합키로 계층/범위 표현 |
- 통합/일관성 3종, 조회·키설계 각1종
III. NoSQL 모델링 패턴 추가정보
| 구분 | 내용 | 비고 |
|---|---|---|
| 비교 | RDB조인 대비 앱레벨 결합 필요 | 정합성 앱이 책임 |
| 적용사례 | Document/Column형 DB 설계시활용 | MongoDB, Cassandra 등 |
| 시사점 | 접근패턴 우선 스키마 설계필요 | Schema-on-Write 고려 |
- 접근패턴 기반 사전설계 중요
NoSQL 데이터 모델링 절차
- 두음: 도쿼패기후선
I. 쿼리 중심 반복설계, NoSQL 데이터 모델링 절차의 개요
-
개념: NoSQL 특성 반영한 모델링 절차
-
특징: (1) 쿼리 결과 중심 설계 (2) 반복적 검증·최적화 수행
-
쿼리기반 설계로 성능 최적화 절차
II. NoSQL 데이터 모델링 절차의 구성도 및 구성요소
가. NoSQL 데이터 모델링 절차의 구성도
[도메인모델파악]→[쿼리결과디자인]→[패턴기반모델링]→
[기능최적화]→[후보NoSQL선정·테스트]→[모델최적화·HW설계]
- 6단계 순차적·반복적 수행 절차
나. NoSQL 데이터 모델링 절차의 구성요소
| 구분 | 구성요소 | 설명 |
|---|---|---|
| 모델설계 | 도메인 모델 파악 | 업무 요구사항 분석 |
| 모델설계 | 쿼리 결과 디자인 | 조회 결과 형태 설계 |
| 모델설계 | 패턴 기반 데이터 모델링 | 설계 패턴 적용 모델화 |
| 최적화·검증 | 기능 최적화 | 처리 성능 개선 |
| 최적화·검증 | 후보 NoSQL 선정·테스트 | 적합 DB 선정 검증 |
| 최적화·검증 | 모델 최적화·HW 설계 | 저장구조·자원 설계 |
- 모델설계 3단계, 최적화검증 3단계
III. NoSQL 데이터 모델링 절차 추가정보
| 구분 | 내용 | 비고 |
|---|---|---|
| 비교 | RDBMS는 정규화 중심 설계 | NoSQL은 쿼리 중심 |
| 관련기술 | CQRS 패턴과 연계 활용 | 조회·명령 분리 설계 |
| 시사점 | 반복 검증으로 확장성 확보 | 애플리케이션 성능 향상 |
- RDBMS와 달리 쿼리중심 반복설계
데이터베이스 트랜잭션
I. 논리적 작업단위, 데이터베이스 트랜잭션의 개요
-
개념: DB 상태변화 일으키는 논리적 작업단위
-
특징: (1) ACID 속성 보장 (2) All or Nothing 원자적 처리
-
데이터 일관성 보장하는 최소 처리단위
II. 데이터베이스 트랜잭션의 구성도 및 구성요소
가. 데이터베이스 트랜잭션의 구성도
[Begin Transaction]
↓
[Read/Write 연산]
↓
[정상종료?]─Yes→[Commit]→(DB 반영)
│No
↓
[Rollback]→(DB 원복)
- Begin~Commit/Rollback 순차 처리구조
나. 데이터베이스 트랜잭션의 구성요소
| 구분 | 구성요소 | 설명 |
|---|---|---|
| ACID | 원자성(Atomicity) | 전체성공 또는 전체실패 |
| ACID | 일관성(Consistency) | 무결성 제약조건 유지 |
| ACID | 고립성(Isolation) | 병행수행 간 상호간섭 차단 |
| ACID | 지속성(Durability) | 커밋결과 영구 반영 |
| 제어기법 | 동시성제어 | 락·타임스탬프 기반 제어 |
| 제어기법 | 회복기법 | 로그기반 장애 복구 |
- ACID 4대속성과 제어기법으로 구성
III. 데이터베이스 트랜잭션 추가정보
| 구분 | 내용 | 비고 |
|---|---|---|
| 격리수준 | Read Uncommitted~Serializable 4단계 | 성능-일관성 트레이드오프 |
| 관련기술 | 분산트랜잭션 2PC/Saga 패턴 | MSA 환경 확산 |
| 시사점 | 격리수준 낮추면 처리량 향상 | 요구사항별 선택 필요 |
- 격리수준 조정으로 성능·정합성 균형
데이터베이스 트랜잭션의 상태 전이
I. 트랜잭션 생명주기 관리기법, 데이터베이스 트랜잭션의 상태 전이의 개요
-
개념: 트랜잭션 실행단계별 상태변화 모델
-
특징: (1) 원자성 보장 위한 상태관리 (2) 5단계 상태간 순차·조건 전이
-
트랜잭션 무결성 보장하는 상태머신 구조
II. 데이터베이스 트랜잭션의 상태 전이의 구성도 및 구성요소
가. 데이터베이스 트랜잭션의 상태 전이의 구성도

- Active→Partially Committed/Failed→종료상태 흐름
나. 데이터베이스 트랜잭션의 상태 전이의 구성요소
| 구분 | 구성요소 | 설명 |
|---|---|---|
| 진행상태 | Active | 트랜잭션 최초 실행중 상태 |
| 진행상태 | Partially Committed | 마지막 연산 후 커밋대기 |
| 종료상태 | Committed | 커밋완료, 영구반영 |
| 종료상태 | Aborted | 롤백완료, 변경취소 |
| 오류상태 | Failed | 실행중단, 정상진행 불가 |
| 오류상태 | Terminated | 트랜잭션 최종 종료 |
- 진행·종료·오류 3범주로 구성
III. 데이터베이스 트랜잭션의 상태 전이 추가정보
| 구분 | 내용 | 비고 |
|---|---|---|
| 관련기술 | Write-Ahead Logging으로 상태복구 | 장애복구 핵심기법 |
| 관련기술 | Checkpoint로 재시작시간 단축 | 로그기반 복구 최적화 |
| 시사점 | 상태전이 로깅으로 ACID 원자성 확보 | 실무 설계시 필수고려 |
- 로깅·체크포인트 기반 신뢰성 확보
데이터 거버넌스
I. 데이터 관리체계, 데이터 거버넌스의 개요
-
개념: 데이터 자산 관리 위한 정책·통제체계
-
특징: (1) 전사 데이터 표준화 통제 (2) 품질·보안 책임소재 명확화
-
데이터 자산 전사적 통제·관리 체계
II. 데이터 거버넌스의 구성도 및 구성요소
가. 데이터 거버넌스의 구성도
[전략/원칙] → [조직/역할]
↓ ↓
[표준/프로세스] → [데이터 품질관리]
↓ ↓
[데이터 자산/시스템]
- 원칙→조직→프로세스→자산 순 체계화
나. 데이터 거버넌스의 구성요소
| 구분 | 구성요소 | 설명 |
|---|---|---|
| 원칙 | 데이터 표준 | 명칭·형식·코드 통일 |
| 원칙 | 데이터 정책 | 데이터 활용 원칙 규정 |
| 조직 | 데이터 오너 | 데이터 소유·책임 주체 |
| 조직 | 데이터 스튜어드 | 데이터 품질 실무 관리 |
| 프로세스 | 품질관리 프로세스 | 정합성·정확성 점검 |
| 프로세스 | 변경관리 프로세스 | 데이터 변경 통제절차 |
- 원칙·조직·프로세스 3범주로 구성
III. 데이터 거버넌스 추가정보
| 구분 | 내용 | 비고 |
|---|---|---|
| 표준 | DAMA-DMBOK 프레임워크 활용 | 국제 표준 참조모델 |
| 관련기술 | 데이터 카탈로그·메타데이터 연계 | 최신 트렌드 |
| 시사점 | 데이터 신뢰성·의사결정 품질 향상 | 도입효과 |
- DMBOK 기반, 메타데이터 연계 확대
마스터 데이터
I. 핵심기준정보, 마스터 데이터의 개요
-
개념: 업무 전반 공통 사용 핵심 기준정보
-
특징: (1) 여러 시스템 공통 참조 (2) 변경빈도 낮고 정확성 중요
-
전사 공통 기준정보로 시스템 간 공유
II. 마스터 데이터의 구성도 및 구성요소
가. 마스터 데이터의 구성도
[고객] [상품] [조직] [계정과목]
\ | | /
[마스터 데이터 저장소]
↓
[영업/생산/회계 등 업무시스템]
- 도메인별 기준정보 통합 저장·배포
나. 마스터 데이터의 구성요소
| 구분 | 구성요소 | 설명 |
|---|---|---|
| 도메인 | 고객 마스터 | 거래처·고객 기준정보 |
| 도메인 | 상품 마스터 | 제품·서비스 기준정보 |
| 도메인 | 조직 마스터 | 부서·인력 기준정보 |
| 속성 | 식별자 | 고유 코드체계 부여 |
| 속성 | 계층구조 | 상하위 분류 관계 |
| 속성 | 이력정보 | 변경 이력 추적 |
- 도메인·속성 2범주로 구성
III. 마스터 데이터 추가정보
| 구분 | 내용 | 비고 |
|---|---|---|
| 비교 | 트랜잭션 데이터와 달리 저빈도 변경 | 기준정보 특성 |
| 관련기술 | MDM 시스템 통해 중앙 관리 | 연계 기술 |
| 시사점 | 데이터 중복·불일치 제거 효과 | 도입효과 |
- 트랜잭션 대비 안정적, MDM 연계
마스터 데이터 관리
I. MDM, 마스터 데이터 관리의 개요
-
개념: 마스터 데이터 통합·정제·배포 체계
-
특징: (1) 단일 진실원천 확보 (2) 정제·매칭 통한 품질개선
-
기준정보 통합관리로 일관성 확보
II. 마스터 데이터 관리의 구성도 및 구성요소
가. 마스터 데이터 관리의 구성도
[소스시스템1,2,3] → [수집/정제]
→ [매칭/통합] → [Golden Record]
→ [배포] → [업무시스템1,2,3]
- 수집→정제→통합→배포 순환구조
나. 마스터 데이터 관리의 구성요소
| 구분 | 구성요소 | 설명 |
|---|---|---|
| 기능 | 데이터 정제 | 오류·중복 데이터 제거 |
| 기능 | 데이터 매칭 | 동일 개체 식별·연계 |
| 기능 | 데이터 배포 | 정제결과 시스템 전파 |
| 구조 | Golden Record | 단일 신뢰 기준데이터 |
| 구조 | Hub 아키텍처 | 중앙집중형 관리구조 |
| 구조 | 연계 인터페이스 | 시스템 간 데이터 동기화 |
- 기능·구조 2범주로 구성
III. 마스터 데이터 관리 추가정보
| 구분 | 내용 | 비고 |
|---|---|---|
| 비교 | 데이터 거버넌스는 정책, MDM은 실행 | 상호보완 관계 |
| 관련기술 | Registry/Hub/Hybrid 스타일 존재 | 아키텍처 유형 |
| 시사점 | 데이터 일관성·업무효율 향상 | 도입효과 |
- 거버넌스 실행체로서 MDM 역할
비정형 데이터 마이닝
텍스트 마이닝
개념, 기능, 기본 분석 절차
사회연결망 분석
개념, 분석 표현방법, 분석기법, 절차
데이터 시각화
개요
원리
절차
유형
시각화 효율화 방안