1. 데이터베이스 저장 공간 설계
1.1종류
(1) 테이블(Table)
- 데이터베이스의 가장 기본적인 객체로 행(Row, 튜플), 열(Column, 컬럼)로 구성
- 논리 설계 단계의 개체(Entity)에 대응하는 객체
(2) 클러스터드 인덱스 테이블(Clustered Index Table)
- 기본키/ 인덱스키의 순서에 따라 데이터가 저장되는 테이블
- 일반적인 인덱스를 사용하는 테이블에 비해 접근 경로가 단축됨
(3) 파티셔닝 테이블(Partitioning Table) __ 20년 3회 기출문제
- 대용량의 테이블을 작은 논리적 단위인 파티션으로 나눈 테이블
- 파티션 키를 잘못 구성하면 성능 저하 등의 역효과 초래 # 레해리컴
(3.1) 파티션 키
- 레인지 파티셔닝(Range Partitioning)/범위분할 지정한 열의 값을 기준으로 분할 e.g.주기: 일별, 월별, 분기별 등
- 해시 파티셔닝(Hash Partitioning)/해시분할 해시 함수에 따라 데이터 분할
- 리스트 파티셔닝(List Partitioning) 미리 정해진 그룹핑 기준에 따라 분할
- 컴포지트 파티셔닝(Composite Partitioning)/조합분할 레인지 파티셔닝 이후 해시 함수를 적용
(3.2) 파티션의 장점 #성가백합
- 성능 , 가용성 향상
- 백업 가능
- 경합 감소
(4) 외부 테이블(External Table)
- 데이터베이스에서 일반 테이블처럼 이용할 수 있는 외부 파일
# 데이터 웨어하우스(Data Warehouse), ETL(Extraction, Transformation, Loading)
(5) 임시 테이블(Temporary Table)
- 트랜잭션이나 세션별로 데이터를 저장하고 처리할 수 있는 테이블
- 임시테이블에 저장된 데이터는 트랜잭션이 종료되면 삭제됨
- 절차적인 처리를 위해 임시로 사용하는 테이블
(6) 컬럼(Column, 열)
- 가변 길이 데이터 타입: 예상되는 최대 길이로 정의
- 고정 길이 데이터 타입: 최소 길이로 지정
- 소수점 이하 자릿수: 소수점 이하 자릿수는 반올림되어 저장
- 고정 길이 컬럼이고 NOT NULL인 컬럼: 앞 쪽
- 가변 길이 컬럼, NULL값이 많을 것으로 예상되는 컬럼: 뒤 쪽
(7) 테이블스페이스(Tablespace)
- 테이블이 저장되는 논리적인 영역
- 테이블을 저장하면 논리적으로는 테이블스페이스에 저장되고, 물리적으로는 해당 테이블스페이스와 연관된 데이터 파일(Data File)에 저장됨
1.2 테이블스페이스 설계 시 고려사항
-업무별로 구분해 지정하고, 테이블과 인덱스는 분리해 저장함
-대용량 테이블은 하나의 테이블스페이스에 독립적으로 저장함
-LOB(Large Object) 타입의 데이터는 독립적인 공간으로 지정함
2. 데이터 지역화/구역성(Data Locality)
- 데이터베이스의 저장 데이터를 효율적으로 이용할 수 있도록 저장하는 방법
2.1 데이터 지역화의 종류 #시공순
종류 | 설명 | 활용 |
시간적 구역성 | 최근에 참조된 기억장소가 가까운 장래에 계속 참조될 가능성이 높은 특성 e.g.Stack(스택), Subroutine(서브루틴), Loop(루프), Counting(카운팅), Totaling(집계) |
for, while 반복문에 사용하는 조건 변수 |
공간적 구역성 | 최근에 참조된 기억장소와 가까운 기억정보가 가까운 장래에 계속 참조될 가능성이 높은 특성 e.g. Array(배열), Sequential Code(순차적 코드) |
배열에 연속 접근 |
순차적 구역성 | 별도의 분기가 없는 한, 데이터가 기억장치에 저장된 순서대로 순차적으로 인출되고 실행될 가능성이 높은 특성 | 1:1, 1:N, N:M 관계 존재 |
2.2 데이터 지역화를 활용한 관리 기법
(1) 기억장치 계층구조(Hierarchy) : CPU → 캐시 메모리 → 메인 메모리 순서로 접근,
시간(Access Time)을 효과적으로 단축
(2) 캐시 접근시간 단축 : 캐시 적중률(Cache Hit Ratio)의 극대화 가능
(3) 워킹세트(Working Set) : 하나의 페이지(Page)가 자주 접근하는 페이지들의 집합,
페이지 폴트(Page Fault)를 줄여 스레싱(Thrashing) 감소
'Challenges > 정보처리기사' 카테고리의 다른 글
[정보처리기사]3.데이터베이스 구축/물리 데이터베이스 설계/인덱스, 클러스터 (0) | 2021.09.17 |
---|---|
[정보처리기사]3.데이터베이스 구축/물리 데이터베이스 설계/트랜잭션 (0) | 2021.09.16 |
[정보처리기사]3.데이터베이스 구축/물리 데이터베이스 설계/시스템 카탈로그,뷰 (0) | 2021.09.14 |
[정보처리기사]3.데이터베이스 구축/논리 데이터베이스 설계/정규화, 반정규화 (0) | 2021.09.09 |
[정보처리기사]3.데이터베이스 구축/논리 데이터베이스 설계/관계대수 & 관계해석 (0) | 2021.09.08 |