System Catalog
시스템 카탈로그는 시스템 그 자체에 관련이 있는 다양한 객체에 관한 정보를 포함하는 시스템 데이터베이스이다.
- 시스템 카탈로그 내의 각 테이블은 사용자를 포함하여 DBMS에서 지원하는 모든 데이터 객체에 대한 정의나 명세에 관한 정보를 유지 관리하는 시스템 테이블임
- 가탈로들이 생성되면 데이터 사전(Data Dictionary)에 저장되기에 좁은 의미로는 카탈로그를 데이터 사진이라고도 함
Transaction(트랜잭션)
트랜잭션은 데이터베이스의 상태를 변화 시키는 하나의 논리적인 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 모두 수행되어야 할 일련의 연산들을 의미한다.
- 데이터베이스 시스템에서 병행 제어 및 회복 작업 시 처리되는 작업의 논리적 단위로 사용됨
- 사용자가 시스템에 대한 서비스 요구 시 시스템이 응답하기 위한 상태 변환 과정의 작업 단외로 사용됨
Characteristics of Transaction
- Atomictiy(원자성) : 트랜잭션의 연산은 데이터베이스에 모두 반영되도록 완료(Commit)되든지 아니면 전혀 반영되지 않도록 복구(Rollback)되어야 함(All or Nothing)
- Consistency(일관성) : 트랜잭션이 그 실행을 성공적으로 완료하면 언제나 일관성 있는 데이터베이스 상태로 변환함
- Isolation(독립성, 격리성, 순차성) : 둘 이상의 트랙잰션이 동시에 병행 실행되는 경우 어느 하나의 트랜잭션 실행중에 다른 트랜잭션의 연산이 끼어둘 수 없음
- Durability(영속성, 지속성) : 성공적으로 완료된 트랙잭션의 결과는 시스템이 고장나더라도 영구적으로 반영되어야 함
CURD 분석
CURD 분석은 프로세스와 테이블 간에 CURD 매트릭스를 만들어 트랜잭션을 분석하는 것이다.
- 많은 트랜잭션이 몰리는 테이블을 파악할 수 있으므로 디스크 구성 시 유용한 자료로 활용할 수 있음
- CURD 매트릭스의 각 셀에는 CREATE(생성), READ(읽기), UPDATE(갱신), DELETE(삭제)의 앞글자가 들어감
Index(인덱스)
인덱스/색인는 데이터 레코드(튜플)를 빠르게 접근하기 위해 <키 값, 포인터> 쌍으로 구성되는 데이트 구조이다.
- 레코드가 저장된 물리적 구조에 접근하는 방법을 제공
- 파일의 레코드를 빠르게 액세스 할 수 있음
- 대부분의 관계형 데이터베이스 관리 시스템에서는 모든 기본키에 대해서 자동적으로 기본 인덱스를 생성
View(뷰)
뷰는 사용자에게 접근이 허용된 자료만을 제한적으로 보여주기 위해 하나 이상의 기본 테이블로부터 유도된, 이름을 가지는 가상의 테이블이다.
- 뷰가 정의된 기본 테이블이나 뷰를 삭제하면 그 테이블이나 뷰를 기초로 정의된 다른 뷰도 자동으로 삭제 됨
CREATE
문을 사용하여 정의하고, DROP
문을 사용하여 제거
Partitioning
Type of Partitioning
- Range Partitioning(범위 분할) :
- 지정한 열의 값을 기준으로 분할
일별, 월별, 분기...
- Hash Partitioning(해시 분할) :
- 해시 함수를 적용한 결과에 따라 데이터를 분할함
- 특정 파티션에 데이터가 집중되는 범위 분할의 단점을 보안한 것으로, 데이터를 고르게 분산할 때 유용
- 특정 데이터가 어디에 있는지 판단할 수 없음
- 고객번호, 주민등록 등과 같이 데이터가 고른 컬럼에 효과적임
- List Partitioning(조합 분할) :
- 특정 파티션에 저장 될 데이터에 대한 명시적 제어가 가능한 파티셔닝 기법
- Composite Partitioning(조합 분할) :
- 범위 분할로 분할한 다음 해시 함수를 적용하여 다시 분할하는 방식
- 범위 분할한 파티션이 너무 커서 관리가 어려울 때 유용함
- Round-Robin(라운드로빈) :
- 라운드로빈으로 회전하면서 새로운 행을 파티션에 할당하는 기법
RTO/RPO
- RTO(Recovery Time Objective, 목표 복구 시간) :
비상상태 또는 업무 중단 시점으로부터 복구되어 가동될 대까지의 소유 시간을 의미
- RPO(Recovery Point Objective, 목표 복구 시점) :
비상상태 또는 업무 중단 시점으로부터 데이터를 복구할 수 있는 기준점을 의미
Encryption(암호화)
암호화는 데이터를 보낼 때 송신자가 지정한 수신자 외에는 그 내용을 알 수 없도록 평문을 암화문으로 변환하는 것이다.
- Encryption(암호화) 과정 : 평문을 암호문으로
- Private Key Encryption
- Public Key Encryption
- Decryption(복호화) 과정 : 암호문을 평문으로
Access Control
접근통제는 데이터가 저장된 객체와 이를 사용하려는 주체 사이의 정보 흐름을 제한한 것이다.
| DAC | MAC | RBAC |
---|
권한 부여 | 데이터 소유자 | 시스템 | 중앙 관리자 |
접근 결정 | 신분(Identity) | 보안등급(Label) | 역할(Role) |
정책 변경 | 변경 용이 | 고정적(변경 어려움) | 변경 용이 |
장점 | 구현 용이 유연한 | 안정적 중앙 집중적 | 관리 용이 |
DAC(Discretionary Access Control)
DAC(임의 접근통제)는 데이터에 접근하는 사용자의 신원에 따라 접근 권한을 부여하는 방식이다.
- 데이터 소유자가 접근통제 권한을 지정하고 제어
- 객체를 생성한 사용자가 생성된 객체에 대한 모든 권을 부여받고, 부여된 권한을 다른 사용자에게 허가할 수도 있음
MAC(Mandatory Access Control)
MAC(강제 접근통제)는 주체와 객체의 등급을 비교하여 접근 권한을 부여하는 방식이다.
- 시스템이 접근통제 권한을 지정
- 데이터베이스 객체별로 보안 등급을 부여할 수 있음
- 사용자별로 인가 등급을 부여
RBAC(Role Based Access Control)
RBAC(역할기반 접근통제)는 사용자의 역할에 따라 접근 권한을 부여하는 방식이다.
- 중앙관리자가 접근통제 권한을 지정
- 임의 접근통제와 강제 접근통제의 단점을 보아
- 다중 프로그래밍 환경에 최적화된 방식
DAS(Direct Attached Storage)
DAS는 서버와 저장장치를 전용 케이블로 직접 연결하는 방식이다.
- 일반 가정에서 컴퓨터에 외장하드를 연결하는 것이 여기에 해당
- 저장장치와 호스트 기기 사이에 네트워크 디바이스 없이 직접 연결 방식이므로 다른 서버에서 접근할 수 없고 파일을 공유할 수 없음
NAS(Network Attached Storage)
NAS는 서버와 저장장치를 네트워크를 통해 연결하는 방식이다.
- 별도의 파일 관리 기능이 있는 NAS Storage가 내장된 저장장치를 직접 관리
- Ethernet 스위치를 통해 다른 서버에서도 스토리지에 접근할 수 있어 파일 공유가 가능
SAN(Storage Area Network)
SAN는 DAS의 빠른 처리와 NAS의 파일 공유 장점을 혼합한 방식으로, 서버와 저장장치를 연결하는 전용 네트워크를 별도로 구성하는 방식이다.
- Fibre Channel(파이버 채널, 광 채널) 스위치를 이용하여 네트워크를 구성
- 파이버 채널 스위치는 서버와 저장장치를 광케이블로 연결하므로 처리 속도가 빠름
- 서버들이 저장장치 및 파일을 공유할 수 있음
참고,
길벗알앤디. 『정보처리기사 실기 단기완성』. 길벗. 2023.