Computer Science/정보처리기사

트랜잭션 & ACID & CRUD & 인덱스 & 뷰 개념정리

minjiwoo 2022. 9. 23. 14:27
728x90

1. 트랜잭션 : 데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 모두 수행되어야 할 일련의 연산들을 의미 

논리적인 단위라고 기억해두면 될것 같다 

2. ACID - 트랜잭션의 특성 

Atomicity 원자성 - 트랜잭션의 연산은 db에 모두 반영되도록 commit되던지, 아니면 전혀 반영되지 않도록 rollback되어야 한다

Consistency 일관성 - 트랜잭션이 실행 성공되면 언제나 일관성 있는 db상태로 변환함 

Isolation 독립성 - 둘 이상의 트랜잭션이 동시에 병행 실행되는 경우 한 트랜잭션 실행될 때 다른 트랜잭션 연산이 끼어들 수 없음 

Durability 지속성  - 완료된 트랜잭션의 결과는 system이 고장나도 영구적으로 반영되어야 한다 

3.CRUD

CRUD 분석 : 프로세스와 테이블 간에 CRUD 매트릭스를 만들어서 트랜잭션을 분석하는 것이다 

클러스터드 인덱스 : 인덱스 키의 순서에 따라 데이터가 정렬되어 저장되는 방식. 실제 데이터가 순서대로 저장되어 있어 인덱스를 검색하지 않아도 원하는 데이터를 빠르게 찾을 수 있음 
넌클러스터드 인덱스 : 인덱스 키 값만 정렬되어 있고, 실제 데이터는 정렬되지 않는 방식 

4. 인덱스 : 데이터 레코드를 빠르게 접근하기 위해 <키, 포인터> 쌍으로 이루어진 데이터구조 

트리기반인덱스 : 인덱스를 저장하는 블록들이 트리 구조를 이루고 있는 것 
비트맵 인덱스 : 인덱스 컬럼의 데이터를 bit 값인 0또는 1로 변환하여 인덱스 키로 사용하는 방법 
함수기반인덱스 : 컬럼값 대신 컬럼에 특정함수나 수식을 적용하여 산출된 값을 사용하는 것 
비트맵조인인덱스 : 다수의 조인된 객체로 구성된 인덱스 
도메인 인덱스 : 개발자가 필요한 인덱스를 직접 만들어 사용하는 것 

5. View 
사용자에게 접근이 허용된 자료만을 제한적으로 보여주기 위해 하나 이상의 기본 테이블로부터 유도된, 이름을 가지는 가상 테이블이다 
물리적으로 저장장치에 저장되지 않는다. 

장점 
- 논리적 데이터 독립성 제공
- 동일 데이터에 대해 동시에 여러 사용자의 상이한 응용이나 요구를 지원해줌 
- 사용자의 데이터 관리를 간편하게 함 
- 접근 제어를 통한 자동 보안이 제공됨 

단점 
- 독립적인 인덱스를 가질 수 없음 
- 뷰의 정의를 변경할 수 없음 
- 뷰로 구성된 내용에 대한 삽입, 삭제, 갱샌 연산에 제약이 따름 

클러스터 : 데이터 저장시 데이터 엑세스 효율을 높이기 위해 동일한 성격의 데이터를 동일한 데이터 블록에 저장하는 물리적 저장 방법이다. 


728x90