본문 바로가기
기타/보관소

1과목 :: 3단계 스키마, 시스템 카탈로그, 트랜잭션, 분산 데이터베이스

by rockykim 2015. 11. 10.




1과목 :: 3단계 스키마, 시스템 카탈로그, 트랜잭션, 분산 데이터베이스










3단계 스키마

스키마(Schema) :

- 데이터 개체(Data Entity), 속성(Attribute), 관계(Relation)과 데이터 조작의 제약조건을 정의한다.

(It defines data entities, attributes, relations, and constraints on data manipulation.)

- 데이터베이스의 구조와 제약조건을 묘사하는 메타데이터들로 시스템 카탈로그에 저장된다.

(It is a collection of meta-data describing the structure and constraint of a database.)


1.외부 스키마(External Schema) : 서브 스키마라고도 한다.

- 사용자나 응용 프로그래머가 접근할 수 있는 데이터베이스의 논리적 구조를 정의

2.개념 스키마(Conceptual Schema) : 스키마라고도 한다.

- 데이터베이스의 전반적인 논리적 구조를 나타내며, 각 항목 간의 상호 관계나 정보의 논리적 구조를 나타냄.

- 접근권한, 보안 및 무결성 규칙에 대한 명세를 정의하고, 데이터베이스 관리자(DBA)만 다룰 수 있음.

3.내부 스키마(Internal Schema) :

- 물리적 저장 장치의 관점에서 본 전체 데이터베이스의 명세를 말함. 데이터베이스의 물리적 구조를 정의




시스템 카탈로그(System Catalog; 데이터 사전(Data Dictionary))

- 데이터베이스 관리자(DBA)의 도구로 데이터베이스에 저장되어 있는 모든 개체들에 관한 정보를 포함한다.

데이터베이스 구조에 관한 메타 데이터를 포함하고 스키마에 대한 정보를 제공한다.

각 테이블들은 DBMS에서 지원하는 개체들에 관한 정보를 포함한다.

테이블, 뷰, 인덱스, 응용계획, 패키지, 접근권한 등 정보를 저장한다.

- DBMS가 스스로 생성하고 유지한다.

데이터베이스 구조가 변경될 때마다 DBMS는 자동으로 시스템 카탈로그 테이블들의 행을 삽입, 삭제, 수정한다.

- 일반 사용자도 SQL문으로 내용을 검색할 수 있지만, 갱신은 시스템이 자동적으로 한다.

- 시스템 카탈로그에 저장되는 내용을 메타 데이터(Metadata)라고 한다.




트랜잭션(Transaction)

- 한꺼번에 모두 수행되어야 할 일련의 데이터베이스 연산

병행 제어 및 회복 작업의 논리적 단위 : LUW(Logical Unit of Work)


트랜잭션의 특징(ACID)

- 원자성(Atomicity) : 트랜잭션의 연산은 모두 반영되던지 전혀 반영되지 않던지 둘 중 하나임.

관련 연산자

- COMMIT : 하나의 트랜잭션이 정상적으로 종료될 경우 수행되는 연산

- ROLLBACK : 하나의 트랜잭션이 비정상적으로 종료될 경우 수행되는 연산

- 일관성(Consistency) : 시스템의 고정적인 요소는 트랜잭션 연산이 끝나도 동일하다.

- 독립성(Isolation) : 한 트랜잭션이 데이터를 갱신하는 동안 다른 트랜잭션들은 접근하지 못함.

- 영속성(Durability) : 트랜잭션이 완료되면 시스템 오류가 발생해도 트랜잭션에 의해 변경된 내용은 보존됨.


트랜잭션의 상태

- 활동(Active)

- 실패(Failed)

- 철회(Aborted) : 트랜잭션이 비정상적으로 종료되어 ROLLBACK 연산을 수행한 상태

- 부분 완료(Partially Committed) : 트랜잭션의 마지막 연산까지 수행하고 COMMIT 연산을 하기 직전의 상태

- 완료(Committed)




분산 데이터베이스(Distributed Database)

- 물리적으로는 분산되어 있지만, 논리적으로 같은 시스템에 속하는 데이터베이스

- 점진적으로 시스템 용량이 확장되는 장점이 있음.


분산 데이터베이스의 목표

- 위치 투명성(Location Transparency) : 접근하려는 데이터베이스의 실제 위치는 알 필요가 없고, 위치 정보는 시스템 카탈로그에 유지된다.

- 중복 투명성(Replication Transparency) : 동일한 데이터가 여러 곳에 중복되어도 하나의 데이터만 존재하는 것처럼 사용한다. 중복 데이터의 일관성 유지는 사용자와 무관하게 시스템이 수행

- 병행 투명성(Concurrency Transparency) : 다수의 트랜잭션들이 동시에 수행되어도 서로 영향을 주지 않음.

- 장애 투명성(Failure Transparency) : 각종 장애에도 불구하고 트랜잭션은 정확하게 수행된다.














댓글