본문 바로가기

Study/정보처리기사

정보처리기사 실기 2장. 데이터 입출력 구현_5

2-16. 시스템 카탈로그

• 시스템 카탈로그 (System Catalog)

   다양한 객체에 관한 정보를 포함하는 시스템 데이터베이스 

      ‣ 데이터 사전 (Data Dictionary)에 저장 (시스템 카탈로그 = 데이터 사전)

       모든 데이터 객체에 대한 정의나 명세에 관한 정보를 유지 관리하는 시스템 테이블

 

• 메타 데이터 (Meta-Data)

   시스템 카탈로그에 저장된 정보를 의미

 

   - 메타 데이터의 유형

   1. 데이터베이스 객체 정보  테이블, 인덱스, 뷰 등의 구조 및 통계 정보
   2. 사용자 정보  아이디, 패스워드, 접근 권한 등
   3. 테이블의 무결성 제약 조건 정보  기본키, 외래키, Null 값 허용 여부 등
   4. 함수, 프로시저, 트리거 등에 대한 정보  

 

• 데이터 디렉터리 (Data Directory)

   데이터 사전에 수록된 데이터에 접근하는 데 필요한 정보를 관리 유지하는 시스템

       시스템 카탈로그 : 사용자와 시스템 모두 접근 가능

       데이터 디렉터리 : 시스템만 접근 가능

 

 


2-17. 데이터베이스 저장 공간 설계

데이터 베이스 저장 공간 설계

테이블 (Table)  데이터 베이스의 가장 기본적인 객체 
 행(Row)과 열(Column)로 구성
 데이터베이스의 모든 데이터는 테이블에 저장
컬럼 (Column)  테이블의 열을 구성하는 요소
 데이터 타입, 길이 등으로 정의
테이블 스페이스 
(Table Space)
 테이블이 저장되는 논리적인 영역
 한 개의 테이블스페이스에 한 개 이상의 테이블을 저장 가능

 

 테이블 종류

일반 테이블 (힙 구조 테이블) 대부분 DBMS의 표준 테이블
클러스터드 인덱스 테이블 기본키나 인덱스키의 순서에 따라 데이터가 저장되는 테이블
일반적인 인덱스를 사용하는 테이블에 비해 접근 경로가 단축
파티셔닝 테이블 대용량의 테이블을 파티션으로 나눈 테이블
외부 테이블 데이터베이스에서 일반 테이블처럼 이용할 수 있는 외부 파일
데이터베이스 내에 객체로 존재
임시 테이블 트랜잭션이나 세션별로 데이터를 저장하고 처리할 수 있는 테이블
임시 테이블에 저장된 데이터는 트랜잭션이 종료되면 삭제됨

 

 


2-18. 트랜잭션 분석 / CRUD 분석

트랜잭션 (Transaction)

   논리적 기능을 수행하기 위한 작업의 단위 

   한꺼번에 모두 수행되어야 할 일련의 연산

 

트랜잭션의 특성 (ACID)

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

 

CRUD 분석

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

       많은 트랜잭션이 몰리는 테이블을 파악할 수 있어 디스크 구성 시 유용한 자료로 사용 가능

       CRUD : Create, Read, Update, Delete (우선순위 : C > D > U > R)

 

 트랜잭션 분석

   CRUD 매트릭스를 기반으로 테이블에 발생하는 트랜잭션의 양을 분석하는 것

      ‣ DB의 용량 산정 및 구조의 최적화 목적

      ‣ 프로세스가 과도하게 접근하는 테이블을 확인할 수 있어 분산 배치를 통한 디스크 입출력 향상을 통한 성능 향상 가능