5. 데이터베이스 물리 설계

2021. 3. 2. 23:20Topcit 정리/기술 영역 - 데이터베이스 구축과 운영

반응형

 

 

관계형 테이블 전환 및 테이블 설계

논리적 모델링과 마찬가지로 물리적 모델링의 경우에도 학계와 산업계의 이해가 상이하다.

 

관계형 테이블 전환

 

엔터티 타입의 변환 : E의 키 속성 중 하나를 선택하여 R의 기본키로 선정한다.

약성 엔터티의 변환 : 각 약성 엔터티 타입 W에 대응되는 릴레이션 R을 만든다.

1:1 관계의 변환 : A의 기본키를 B의 외래키로 포함시킨다.

1:N 관계의 변환 : A의 기본키를 B들의 외래키로 포함시킨다.

M:N 관계의 변환 : 두 집단의 엔터티의 기본키를 일반 속성의 외래키로 포함한다.

 

 

테이블 설계

 

테이블 유형 

Heap-Organized Table : 대부분 DBMS에서 표준으로 사용하는 테이블로, 저장위치가 삽입되는 시점에 결정된다.

Clustered Index Table : 기본키 값이나 인덱스가 순서로 저장되는 테이블이다.

Partitioned Table : 대용량 데이터에 대해 논리적으로 하나지만 물리적으로 잘게 나누어 저장하는 방식

External Table : 외부 파일을 데이터베이스 내에 존재하는 일반 테이블 형태로 이용할 수 있도록 만든 방식

Temporary Table : 트랜잭션이나 세션 별로 데이터를 저장하고 처리할 수 있는 임시 테이블

 

고려사항 

특정 칼럼의 사용 빈도 차이가 심한 경우 수직 분할을 고려한다.

 

 

데이터타입 설계

 

데이터는 문자, 숫자, 날짜, 이미지 등으로 다양한 형식으로 저장된다.

설계 단계에서 잘못 선정될 시 개발이 어려워지고 성능이 저하되기 때문에 신중하게 결정해야한다.

 

 

인덱스 설계

 

인덱스의 기능

검색 연산을 빠르게 하기 위해 정보를 구성하는 데이터 구조이다.

접근 경로를 단축함으로써 데이터의 탐색 속도를 향상시킨다.

 

인덱스 설계 절차

접근 경로 수집 -> 분포도 조사 -> 접근 경로 결정 -> 조합 및 순서 결정

 

인덱스 구조 유형

트리 기반, 함수 기반, 비트맵 조인 기반, 도메인 기반

 

 

 

뷰 설계

 

데이터베이스 뷰의 특징

1. 원하는 데이터만 모다 가상으로 만든 테이블이다.

2. 자주 사용되는 sql을 정의하여 효율적으로 수행한다.

3. 유저가 관심있는 데이터만 초점을 맞춘다.

4. 계산된 정보나 파생된 정보를 보여줄수도 있다.

5. 사용자가 볼 수 있는 데이터를 제한할 수 있다.

 

뷰의 생성

 

with check option : 뷰에 대해 수정하는 문장들이 select문을 지키도록 한다.

with encryption : 암호화를 해제하려면 뷰를 지우고 다시 만들어야한다.

 

뷰를 통한 데이터 수정

뷰는 별도의 데이터 복사본을 가지지 않는다.

뷰에 대한 갱신은 항상 원본 테이블에 영향을 미친다.

 

 

분산 데이터베이스

 

분산 데이터베이스의 특징

분산 데이터베이스란 네트워크 상에서 여러 컴퓨터에 물리적으로 분산되어 잇지만

사용자가 하나의 데이터베이스처럼 인식할 수 있도록 논리적으로 통합된 데이터베이스를 말한다.

 

장점 : 의존도가 적고, 한 사이트가 고장나도 치명적이지 않다.

단점 : 소프트웨어 개발 비용이 높고, 통제 기능이 취약하다.

 

 

데이터 투명성

여러 개의 물리적인 데이터베이스를 단일로 인식하려면 사용자가 데이터가 어떻게 저장되는지,

접근해야하는지 몰라도 되도록 해야한다.

이러한 특성을 데이터 투명성이라고 한다.

 

분할 투명성 : 사용자가 던진 전역 질의를 여러개의 단편 질의로 변환시켜 분할 유무를 몰라도 된다.

위치 투명성 : 데이터의 물리적 위치를 몰라도 작동하게끔 연동시킨다.

중복 투명성 : 사용자가 사용하고 있는 데이터가 논리적으로 유일하다고 생각하도록 한다.

장애 투명성 : 분산되어 있는 각 컴퓨터중 하나가 망가져도 모르도록 무결성이 보장되어야한다.

병행 투명성 : 다수 트랜잭션이 동시에 수행되어도 결과가 일관적이어야 한다.

반응형