트랜잭션(Transaction)
데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업 단위
- 사용자의 요청으로 수행되는 하나 이상의 데이터 조작 연산(INSERT, UPDATE, DELETE 등)
- 모두 수행하거나 전혀 수행하지 않는 원자적 작업 단위
트랜잭션의 특징(ACID 속성)
- Atomicity(원자성)
- 전부 수행되거나 전혀 수행되지 않아야 함
- Consistency(일관성)
- 트랜잭션 완료 후 DB는 항상 일관된 상태 유지
- Isolation(독립성, 격리성)
- 동시에 수행되는 트랜잭션 간 간섭이 없어야 함
- Durability(영속성, 지속성)
- 성공적으로 완료된 결과는 시스템 장애에도 영구 반영
CRUD 분석
시스템의 프로세스와 테이블 간의 관계를
Create, Read, Update, Delete 네 가지 연산으로 분석하는 방법
- Create - 데이터 생성
- Read - 데이터 조회
- Update - 데이터 수정
- Delete - 데이터 삭제
CRUD 매트릭스
프로세스와 데이터 테이블의 상호 관계를 2차원 표로 분석하는 도구
- 행(Row) → 업무 프로세스
- 열(Column) → 데이터베이스 테이블
- 교차 셀 → 해당 프로세스가 테이블에 수행하는 연산(C/R/U/D)
- ex
| 테이블/프로세스 | 학생 등록 | 성적 입력 | 성적 조회 | 성적 삭제 |
| 학생 테이블 | C | R | R | D |
| 성적 테이블 | C/U | R | D | |
| 과목 테이블 | R | R | R |
CRUD 매트릭스 작성 목적
- 데이터 접근 분석
- 어떤 프로세스가 어떤 테이블을 얼마나 사용하는지 파악
- DB 설계 검증
- 누락된 테이블이나 불필요한 테이블 확인
- 성능 최적화 기초
- 집중 접근되는 테이블 파악 가능
- 디스크 구성 기준
- 트랜잭션이 많은 테이블을 분산 배치 가능
CRUD 매트릭스 활용
- 프로세스와 테이블 정의
- 시스템의 기능(업무 단위)별로 고나련된 테이블을 명확히 구분
- 각 프로세스별 연산 유형 식별
- 테이블에 대해 Create / Read / Update / Delete 중 어떤 연산을 수행하는지 확인
- CRUD 매트릭스 작성
- 행(프로세스)과 열(테이블)을 교차시켜 C, R, U, D 표기
- 검증
- C, R, U, D가 전혀 없는 행/열이 있는지 확인 → 누락된 프로세스 또는 불필요한 테이블 점검
- 기본 우선 순위 : C > D > U > R
트랜잭션 분석
CRUD 매트릭스를 기반으로 각 테이블에 발생하는 트랜잭션의 양과 빈도를 분석하여
데이터베이스 구조 최적화 및 용량 산정에 활용하는 과정
- 트랜잭션 분석의 목적
- DB 용량 산정
- 트랜잭션 발생량으로 테이블별 데이터 증가량 예측
- 성능 최적화
- 집중 접근 테이블을 분산하여 I/O 부하 완화
- 업무 병목 현상 제거
- 특정 테이블에 접근이 집중되는 프로세스 식별
- 시스템 구조 개선
- 트랜잭션 구조를 효율적으로 재설계 가능
- DB 용량 산정
트랜잭션 분석서 작성 구성
- 단위 프로세스명
- 분석 대상이 되는 업무 기능명
- CRUD 연산
- 수행되는 데이터 조작 연산
- 테이블명
- 접근 대상 테이블
- 컬럼명
- 조작 대상 컬럼
- 테이블 참조 횟수
- 트랜잭션 내 해당 테이블 접근 횟수
- 트랜잭션 수
- 발생하는 트랜잭션 건수
- 발생 주기
- 트랜잭션 발생 빈도
정리
| 구분 | 내용 | 목적 |
| 트랜잭션 | DB의 상태를 바꾸는 하나의 논리적 단위 | 데이터 일관성 보장(ACID) |
| CRUD 분석 | 프로세스별로 테이블에 수행되는 연산 관계 분석 | 누락·중복 검증 및 구조 점검 |
| 트랜잭션 분석 | CRUD 기반으로 발생량·빈도 분석 | 용량 산정, 선능 튜닝, I/O 분산 |
'정보처리기사' 카테고리의 다른 글
| 정보처리기사 실기 - 뷰와 클러스터 (0) | 2025.11.02 |
|---|---|
| 정보처리기사 실기 - 인덱스 (0) | 2025.11.01 |
| 정보처리기사 실기 - 시스템 카탈로그(+ 메타 데이터, 데이터 디렉터리) (0) | 2025.11.01 |
| 정보처리기사 실기 - 반정규화 (0) | 2025.11.01 |
| 정보처리기사 실기 - 정규화(Normalization) (0) | 2025.11.01 |