트랜잭션
데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 모두 수행되어야 할 일련의 연산들을 의미한다.
데이터베이스 시스템에서 병행 제어 및 회복 작업 시 처리되는 작업의 논리적 단위로 사용된다
사용자가 시스템에 대한 서비스 요구 시 시스템이 응답하기 위한 상태 변환 과정의 작업 단위로 사용된다.
트랜잭션의 특성
- 원자성(Atomicity)
- 트랜잭션의 연산은 데이터베이스에 모두 반영되도록 완료되든지 아니면 전혀 반영되지 않도록 복구되어야 함
- 일관성(Consistency)
- 트랜잭션이 그 실행을 성공적으로 완료하면 언제나 일관성 있는 데이터베이스 상태로 변환함
- 독립성, 격리성, 순차성(Isolation)
- 둘 이상의 트랜잭션이 동시에 병행 실행되는 경우 어느 하나의 트랜잭션 실행중에 다른 트랜잭션의 연산이 끼어들 수 없음
- 영속성, 지속성(Durability)
- 성공적으로 완료된 트랜잭션의 결과는 시스템이 고장나더라도 영구적으로 반영되어야 함.
CRUD 분석
프로세스와 테이블 간에 CRUD 매트릭스를 만들어서 트랜잭션을 분석하는 것
CRUD 분석을 통해 많은 트랜잭션이 몰리는 테이블을 파악할 수 있으므로 디스크 구성 시 유용한 자료로 활용할 수 있다.
- CRUD 매트릭스
- 2차원 형태의 표로서, 행에는 프로세스를, 열에는 테이블을, 행과 열이 만나는 위치에는 프로세스가 테이블에 발생시키는 변화를 표시하여 프로세스와 데이터 간의 관계를 분석하는 분석표이다
- CRUD 매트릭스를 통해 트랜잭션이 테이블에 수행하는 작업을 검증한다
- CRUD 매트릭스의 각 셀에는 Create, Read, Update, Delete의 앞 글자가 들어가며, 복수의 변화를 줄 때는 기본적으로 C > D > U > R의 우선순위를 적용하여 한 가지만 적지만, 활용 목적에 따라 모두 기록할 수 있다.
- CRUD 매트릭스가 완성되었다면 C, R, U, D 중 어느 것도 적히지 않은 행이나 열, C나 R이 없는 열을 확인하며 불필요하거나 누락된 테이블 또는 프로세스를 찾는다
트랜잭션 분석
CRUD 매트릭스를 기반으로 테이블에 발생하는 트랜잭션 양을 분석하여 테이블에 저장되는 데이터의 양을 유추하고 이를 근거로 DB의 용량 산정 및 구조의 최적화를 목적으로 한다
트랜잭션 분석은 업무 개발 담당자가 수행한다
트랜잭션 분석을 통해 프로세스가 과도하게 접근하는 테이블을 확인할 수 있으며, 이러한 집중 접근 테이블을 여러 디스트에 분산 배치함으로써 디스크 입출력 향상을 통한 성능 향상을 가져올 수 있다.
'자격증 💳 > 정처기' 카테고리의 다른 글
[정처기] 데이터 입출력 구현_파티션 (0) | 2024.04.14 |
---|---|
[정처기] 데이터 입출력 구현_뷰/클러스터 (0) | 2024.04.14 |
[정처기] 데이터 입출력 구현_반정규화(Denormalization) (0) | 2024.04.11 |
[정처기] 데이터 입출력 구현_정규화(Normalization) (0) | 2024.04.11 |
[정처기] 데이터 입출력 구현_이상/함수적 종속 (0) | 2024.04.08 |