안녕하세요. SQLER의 코난 김대우입니다.
이번 강좌에서는, 11-7. 관계형 데이터베이스 이해 - 데이터베이스 물리적 설계를 진행 하겠습니다.
SQLER에서 진행되는, 챗GPT와 함께 배우는 SQL Server 강좌 목록
이번에 진행할 강좌는 관계형 데이터베이스 이해 - 데이터베이스 물리적 설계입니다.
TL;DR
물리적 설계는 논리적 설계에서 생성된 논리적 데이터 모델과 트랜잭션 인터페이스를 실제 DBMS에 최적화된 물리적 구조로 변환하는 과정입니다.
데이터베이스 설계 - 물리적 설계(Physical design)
물리적 설계는 논리적 설계 단계에서 생성된 논리적 데이터 모델과 트랜잭션 인터페이스를 DBMS에 맞는 물리적 구조로 변환하는 단계입니다. 물리적 설계 단계에서는 데이터베이스 저장소 레코드 양식(Storage Record Format)을 설계하고, 레코드 집중 분석(Record clustering analysis)과 설계, 그리고 접근 경로 설계(Access path design)를 합니다.
참고: 레코드 집중 분석(Record clustering analysis)은 레코드 “군집” 분석이 더 적절하고 콘텍스트에 맞는 번역입니다. 국내 데이터베이스 설계 도서가 대부분 레코드 집중 분석으로 번역해 이 강좌에서도 같은 용어를 사용합니다.
저장소 레코드 양식 설계 (Storage record format design)
물리적 설계 단계에서 데이터베이스 저장소 레코드 양식을 설계합니다. 데이터 타입, 값의 분포(Value distribution), 사용될 애플리케이션, 접근 빈도(Access frequency) 등을 고려하여 정의합니다. 각 데이터의 특성에 맞게 적절한 데이터 타입을 선택하고, 값의 분포를 고려해 인덱스를 설계하거나 파티셔닝 기법 등을 적용합니다.
레코드 집중 분석과 설계(Record clustering analysis and design)
레코드 집중은 함께 사용되는 데이터들을 물리적으로 인접한 곳에 순차적으로 저장하는 패턴으로 성능과 응답 시간을 향상하기 위한 방법 중 하나입니다. 관련된 데이터들을 함께 저장해 데이터베이스 I/O 작업을 최소화하고, 데이터를 빠르게 검색할 수 있습니다.
접근 경로 설계(Access path design)
접근 경로 설계는 데이터를 찾아가는 방법을 설계하는 과정입니다. 즉, 데이터베이스 시스템이 데이터를 검색하고 수정하는 방법을 정의합니다. 효율적인 접근 경로를 설계하여 데이터베이스의 응답시간과 저장 공간의 효율성을 최적화합니다. 예를 들어, 인덱스를 생성해 데이터에 빠르게 접근할 수 있도록 설계합니다.
DBMS 클래스와 특정 DBMS에 대한 설계의 종속성
종속성
|
DBMS 클래스 | 특정 DBMS |
개념적 설계 | X | X |
논리적 설계 | O | X |
물리적 설계 | O | O |
물리적 설계는 논리적 설계의 결과물을 실제 DBMS에 맞게 최적화하여 데이터베이스의 성능과 효율성을 향상하는 단계입니다. 저장 레코드 양식, 레코드 집중, 접근 경로 설계를 통해 데이터베이스가 최적의 성능을 발휘할 수 있도록 설계합니다.
이후 구현 단계에서는 물리적 설계에서 정의한 스키마와 접근 경로를 실제 DBMS에서 구현합니다.
SQL 강좌 책 구매
강좌가 도움이 되셨다면, 책으로 구매 가능합니다. 책 판매 수익금은 전액 코딩 교육 사회공헌 활동에 기부되며, 아래 링크에서 구매하시면 더 많은 금액이 기부됩니다.