42. 트랜잭션 분석 / CRUD 분석

1. 트랜잭션(Transaction)

  • 데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 모두 수행되어야 할 일련의 연산들
  • 트랜잭션은 데이터베이스 시스템에서 병행 제어 및 회복 작업 시 처리되는 작업의 논리적 단위로 사용된다.
  • 트랜잭션은 사용자가 시스템에 대한 서비스 요구 시 시스템이 응답하기 위한 상태 변환 과정의 작업 단위로 사용된다.

2. 트랜잭션의 특성

Atomicity(원자성)트랜잭션의 연산은 데이터베이스에 모두 반영되도록 완료(Commit)되든지 아니면 전혀 반영되지 않도록 복구(Rollback)되어야 한다.
Consistency(일관성)트랜잭션이 그 실행을 성공적으로 완료하면 언제나 일관성 있는 데이터베이스 상태로 변환한다.
Isolation(독립성, 격리성, 순차성)둘 이상의 트랜잭션이 동시에 병행 실행되는 경우 어느 하나의 트랜잭션 실행 중에 다른 트랜잭션의 연산이 끼어들 수 없음
Durability(영속성, 지속성)성공적으로 완료된 트랜잭션의 결과는 시스템이 고장나더라도 영구적으로 반영되어야 함

3. CRUD 분석

  • 프로세스와 테이블 간에 CRUD 매트릭스를 만들어서 트랜잭션을 분석하는 것
  • CRUD 분석을 통해 많은 트랜잭션이 몰리는 테이블을 파악할 수 있으므로 디스크 구성 시 유용한 자료로 활용될 수 있다.

CRUD 매트릭스

  • 2차원 형태의 표로서, 행(Row)에는 프로세스를, 열(Column)에는 테이블을, 행과 열이 만나는 위치에는 프로세스가 테이블에 발생시키는 변화를 표시하여 프로세스와 데이터 간의 관계를 분석하는 분석표이다.
  • CRUD 매트릭스을 통해 트랜잭션이 테이블에 수행하는 작업을 검증한다.
  • CRUD 매트릭스의 각 셀에는 Create, Read, Update, Delete의 앞 글자가 들어가며, 복수의 변화를 줄 때는 기본적으로 ‘C > D > U > R’의 우선순위를 적용하여 한 가지만 적지만, 활용 목적에 따라 모두 기록할 수 있다.
  • CRUD 매트릭스가 완성되었다면 C, R, U, D 중 어느 것도 적히지 않은 행이나 열, C나 R이 없는 열을 확인하여 불필요하거나 누락된 테이블 또는 프로세스를 찾는다.

예시

테이블
프로세스
회원상품주문주문목록제조사
신규 회원 등록C
회원정보 변경R, U
주문 요청RRCC
주문 변경RR, U
주문 취소R, DR, D
상품 등록CC, R
상품정보 변경R, UR, U

4. 트랜잭션 분석

  • CRUD 매트릭스를 기반으로 테이블에 발생하는 트랜잭션 양을 분석하여 테이블에 저장되는 데이터의 양을 유추하고 이를 근거로 DB의 용량 산정 및 구조의 최적화를 목적으로 한다.
  • 트랜잭션 분석은 업무 개발 담당자가 수행한다.
  • 트랜잭션 분석을 통해 프로세스가 과도하게 접근하는 테이블을 확인할 수 있으며, 이러한 집중 접근 테이블을 여러 디스크에 분산 배치함으로써 디스크 입 출력 향상을 통한 성능 향상을 가져올 수 있다.

트랜잭션 분석서

  • 단위 프로세스와 CRUD 매트릭스를 이용하여 작성한다.
  • 구성 요소 : 단위 프로세스, CRUD 연산, 테이블명, 컬럼명, 테이블 참조 횟수, 트랜잭션 수, 발생 주기 등

예시

프로세스CRUD테이블명컬럼명참조횟수트랜잭션 수주기
주문 요청R회원회원번호, 회원명, 주소1150
R상품상품번호, 상품명, 재고량1150
C주문주문번호, 일자, 회원번호3450
C주문목록주문번호, 상품번호, 수량, 가격5750

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다