정보처리기사 실기 기출 요약 인덱스, 뷰, 트랜잭션, 클러스터, 파티션의 개념
인덱스(Index)
- 데이터 레코드를 빠르게 접근하기 위해 <키 값, 포인터> 쌍으로 구성되는 데이터 구조
- 인덱스 키의 순서에 따라 데이터가 정렬되어 저장되는 방식인 클러스터드 인덱스와 인덱스의 키 값만 정렬되어 있을 뿐 실제 데이터는 정렬되지 않는 방식인 넌클러스터드 인덱스가 있다
- 인덱스는 인덱스를 구성하는 구조나 특징에 따라 다음과 같이 구분함
- 트리기반 인덱스 : 인덱스를 저장하는 블록들이 트리 구조를 이루고 있는 것으로, 상용 DBMS 에서는 트리 구조 기반의 B+ 트리 인덱스를 주로 활용함
- 비트맵 인덱스 : 인덱스 컬럼의 데이터를 Bit 값인 0, 1 로 변환하여 인덱스 키로 사용하는 방법
- 함수 기반 인덱스 : 컬럼의 값 대신 컬럼에 특정 함수나 수식을 적용하여 산출된 값을 사용하는 것으로, B+ 트리 인덱스 또는 비트맵 인덱스를 생성하여 사용함
- 비트맵 조인 인덱스 : 다수의 조인된 객체로 구성된 인덱스로, 단일 객체로 구성된 일반적인 인덱스와 액세스 방법이 다름
- 도메인 인덱스 : 개발자가 필요한 인덱스를 직접 만들어 사용하는 것으로, 확장형 인덱스라고도 함
뷰(View)
- 사용자에게 접근이 허용된 자료만을 제한적으로 보여주기 위해 하나 이상의 기본 테이블로부터 유도된, 이름을 가지는 가상 테이블
- 저장장치 내에 물리적으로 존재하지 않지만, 사용자에게는 있는 것처럼 간주된다.
- CREATE문으로 정의하고, DROP문으로 제거한다.
- 데이터의 논리적 독립성을 제공
트랜잭션(Transcation)
- 데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 모두 수행되어야 할 일련의 연산들을 의미
- 특징
- 원자성 : 트랜잭션의 연산은 데이터베이스에 모두 반여오디도록 완료되든지, 전혀 반영되지 않도록 복구되어야 함
- 일관성 : 트랜잭션이 그 실행을 성공적으로 완료하면 언제나 일관성 있는 데이터베이스 상태로 반환함
- 독립성 : 둘 이상의 트랜잭션이 동시에 병행 실행되는 경우 어느 하나의 트랜잭션 실행 중에 다른 트랜잭션의 연산이 끼어들 수 없음
- 지속상 : 성공적으로 완료된 트랜잭션이 결과는 시스템이 고장나더라도 영구적으로 반영되어야 함
클러스터(Cluster)
- 데이터 저장 시 액세스 효율을 향상시키기 위해 동일한 성격의 데이터를 동일한 데이터 블록에 저장하는 물리적 저장 방법이다.
- 클러스터링키로 지정된 컬럼 값의 순서대로 저장되고, 여러 개의 테이블이 하나의 클러스터에 저장된다.
- 클러스터링 된 테이블은 데이터 조회 속도는 향상시키지만 데이터 입력, 수정, 삭제에 대한 성능은 저하시킨다.
- 처리 범위가 넓은 경우에는 단일 테이블 클러스터링을, 조인이 많이 발생하는 경우에는 다중 테이블 클러스터링을 사용한다.
파티션(Patition)
- 대용량의 테이블이나 인덱스를 작은 논리적 단위로 나누는 것을 말한다.
- 파티셔닝 방식에 따른 파티션의 종류
- 범위 분할 : 지정한 열의 값을 기준으로 분할
- 해시 분할 : 해시 함수를 적용한 결과 값에 따라 데이터를 분할
- 조합 분할 : 범위 분할로 분할한 다음 해시 함수를 적용하여 다시 분할
'정보처리기사' 카테고리의 다른 글
| [정보처리기사] 결합도(Coupling)와 응집도(Cohesion) 정리 (0) | 2021.07.09 |
|---|---|
| [정보처리기사] 객체지향 프로그래밍 언어 - JAVA, C++, Smalltalk (0) | 2021.07.09 |
| [정보처리기사] 데이터입출력 구현 - 반정규화(Denormalization) (0) | 2021.07.07 |
| [정보처리기사] 데이터 입출력 구현 - 데이터 모델 (0) | 2021.07.07 |
| [정보처리기사] 요구사항 확인 - 개발 기술 환경 (0) | 2021.07.07 |
댓글