자격증/정보처리기사

3장 데이터 입출력 구현 - (2) 물리 데이터 저장소 설계

지팡구 2022. 7. 8. 02:24

물리적 데이터 모델 설계

앞 장에서 설명한 물리적 데이터 모델링은 쉽게 말해 우리가 설계하고자 하는 테이블들을 코드를 이용해 실체화 하는 것이다.

 

이때 테이블을 설계할 때 여러 제약 조건을 설계해야하는데, 참조 무결성 제약 조건을 생각해야 한다.

 

참조 무결성 제약 조건여러 릴레이션 사이에 대해 참조의 일관성을 보장하기 위한 조건으로, 예를들면 두 릴레이션 간 기본키와 외래키를 통해 참조 관계를 형성할 경우, 참조하는 외래키의 값은 항상 참조되는 릴레이션에 기본키로 존재해야 하는 조건이다.

 

이때 제한과 연쇄, NULL 값이 조건으로 또 붙게 되는데,

 

제한(Restricted)은 참조무결성 원칙을 위배하는 연산을 거전하는 옵션이다.

 

연쇄(Cascade)는 참조되는 릴레이션에서 튜플을 삭제하고, 참조되는 릴레이션에서 이 튜플을 참조하는 튜플도 함께 삭제하는 옵션이다.

 

널 값(Nullify)은 참조되는 릴레이션에서 튜플을 삭제하고, 참조하는 릴레이션에서 해당 튜플을 참조하는 튜플들의 외래 키에 NULL 값을 넣는 옵션이다. 


파티션의 종류

1. 레인지 파티셔닝(Range Partitioning)

   = 연속적인 숫자나 날짜를 기준으로 하는 파티셔닝으로 손쉬운 관리 기법 제공 및 관리 시간의 단축

      (날짜, 우편번호, 일별, 월별 등의 데이터에 적합)

2. 해시 파티셔닝(Hash Partitionnig)

   = 파티션 키의 해시 함수 값에 의한 파티셔닝 기법으로 균등 데이터 분할 및 질의 성능 향상이 가능하다

      (파티션을 위한 범위가 없는 데이터에 적합)

3. 리스트 파티셔닝(List Partitioning)

   = 특정 파티션에 저장 될 데이터에 대한 명시적 제어가 가능한 파티셔닝 기법

4. 컴포지트 파티셔닝(Composite Partitioning)

   = 레인지, 해시, 리스트 중 2개 이상의 파티셔닝을 결합하는 파티셔닝

       (레인지 파티셔닝 할 수 있는 컬럼이나, 파티션이 너무 커서 효과적으로 관리할 수 없을 때 유용)

5. 라운드로빈 파티셔닝(Round-Robin Partitioning)

    = 라운드로빈 분할로 회전하면서 새로운 행이 파티션에 할당하는 방식으로 파티션애 행의 고른 분포를 원할 때 사용