시스템 카탈로그 및 복구 방법

반응형
SMALL

시스템 카탈로그

  • 시스템 카탈로그는 시스템 그 자체에 관련이 있는 다양한 객체에 관한 정보를 포함하는 시스템 데이터베이스이다.
  • 시스템 카탈로그 내외 각 테이블은 사용자를 포함하여 DBMS에서 지원하는 모든 데이터 객체에 대한 정의나 명세에 관한 정보를 유지 관리하는 시스템 테이블이다.
  • 카탈로그들이 생성되면 데이터 사전(DATA DICTIONARY)에 저장되기 때문에 좁은 의미로는 카탈로그를 데이터 사전이라고도 한다.

트랜잭션의 특성

트랜잭션(Transaction)은 데이터베이스에서 하나의 논리적 작업 단위를 의미하며, 여러 작업(쿼리)이 모두 성공하거나 모두 실패해야 하는 일련의 연산을 묶은 것입니다.

특성 의미 예시

Atomicity(원자성) 트랜잭션의 모든 연산은 완전히 완료되거나 전혀 수행되지 않아야 함 예: 은행에서 계좌 이체를 할 때, 돈을 이체한 후 실패하면 원래 상태로 복구됨.
Consistency(일관성) 트랜잭션은 일관된 데이터베이스 상태로 변환해야 함 예: 계좌 이체 후에도 전체 자산 총액이 변하지 않는 것이 일관성을 유지하는 것.
Isolation(독립성) 다른 트랜잭션과 독립적으로 실행되어야 함 예: 두 사람이 동시에 같은 계좌에서 돈을 인출하려고 할 때, 한 사람의 작업이 완료되기 전까지 다른 사람은 작업에 영향을 주지 않음.
Durability(지속성) 트랜잭션이 성공적으로 완료되면, 그 결과는 시스템 장애에도 영구적으로 반영됨 예: 시스템이 중단된 후에도 성공한 트랜잭션의 결과는 데이터베이스에 남아 있음.

CRUD 분석

  • CRUD 분석은 프로세스와 테이블 간에 CRUD 매트릭스를 만들어서 트랜잭션을 분석하는 것이다.
  • CRUD 분석을 통해 많은 트랜잭션이 몰리는 테이블을 파악할 수 있으므로 디스크 구성시 유용한 자료로 활용할 수 있다.
  • CRUD 매트릭스의 각 셀에는 CREATE(생성), READ(읽기), UPDATE(갱신),DELETE(삭제)의 앞글자가 들어간다.

인덱스

  • 인덱스(INDEX, 색인)는 데이터 레코드를 빠르게 접근하기 위해 <키 값, 포인터> 쌍으로 구성되는 데이터 구조이다.
  • 인덱스는 레코드가 저장된 물리적 구조에 접근하는 방법을 제공한다.
  • 인덱스를 통해서 파일의 레코드에 빠르게 액세스 할 수 있다.

예시:

도서관에서 책을 찾을 때, 제목이나 저자명을 통해 색인을 이용하는 것처럼, 데이터베이스에서도 특정 레코드를 빠르게 찾을 수 있습니다.

  • 뷰는 사용자에게 접근이 허용된 자료만을 제한적으로 보여주기 위해 하나 이상의 기본 테이블로부터 유도된, 이름을 가지는 가상 테이블이다.
  • 뷰가 정의된 기본 테이블이나 뷰를 삭제하면 그 테이블이나 뷰를 다른 뷰도 자동으로 삭제된다.
  • 뷰를 정의할 떄는 CREATE문, 제거할 때는 DROP문을 사용한다.

예시:

기업에서 직원의 급여 정보를 제한된 사용자만 볼 수 있도록 설정한 뷰를 통해 관리할 수 있습니다.

파티션의 종류

범위 분할(Range Partitioning) 데이터 값을 기준으로 분할 예: 일별, 월별, 분기별로 데이터를 나누는 방식.
해시 분할(Hash Partitioning) 해시 함수를 적용한 결과로 데이터를 분할 예: 고객번호를 기준으로 데이터를 고르게 분산해 관리.
조합 분할(Composite Partitioning) 범위 분할 후 해시 분할을 적용 예: 월별로 데이터를 나눈 후 해시를 통해 세분화.

분산 데이터베이스의 목표

위치 투명성(Location Transparency) 사용자는 데이터베이스의 실제 위치를 알 필요 없이 접근 가능 예: 사용자는 다른 지역에 있는 데이터도 동일한 명령어로 접근할 수 있습니다.
중복 투명성(Replication Transparency) 동일한 데이터가 여러 곳에 중복되어 있어도 하나의 데이터로 보임 예: 여러 서버에 분산된 데이터를 시스템이 자동으로 처리합니다.
병행 투명성(Concurrency Transparency) 여러 트랜잭션이 동시에 실행되어도 각각의 결과는 다른 트랜잭션에 영향을 받지 않음 예: 두 사용자가 동시에 데이터베이스에 접근해도 서로의 작업에 간섭하지 않음.
장애 투명성(Failure Transparency) 시스템 장애에도 불구하고 트랜잭션이 정확하게 처리됨 예: 네트워크 오류 발생 시에도 트랜잭션이 정상적으로 복구됩니다.

RTO/RPO

RTO (Recovery Time Objective, 목표 복구 시간) 비상사태 발생 후 시스템이 복구되어 가동될 때까지의 최대 허용 시간 예: 장애 발생 후 6시간 내에 시스템을 복구할 수 있는 경우.
RPO (Recovery Point Objective, 목표 복구 시점) 비상사태나 장애 발생 시 복구할 수 있는 데이터의 최대 손실 허용 범위 예: 지난주 금요일에 백업된 데이터를 기준으로 복구할 수 있는 경우.
반응형
LIST

'정보처리기사 > 데이터 입출력 구현' 카테고리의 다른 글

스토리지 연결 방식의 이해 DAS,NAS,SAN  (0) 2024.10.14
접근 통제 방식  (0) 2024.10.14
정규화과정  (1) 2024.10.13
관계  (5) 2024.10.13
데이터베이스 키(Key)와 제약조건  (1) 2024.10.13