DB/Mysql

물리적 데이터 모델링

완자✨ 2021. 11. 3. 18:17

물리적 데이터 모델링

1. 물리적 설계

물리적 설계란 논리적 설계 단계에서 논리적 구조로 표현된 데이터를 디스크 등의 물리적 저장장치에 저장할 수 있는 물리적 구조의 데이터로 변환하는 과정이다.

  • 이상적인 표를 제품에 맞는 구체적인 표로 만드는 작업
  • 여기서 중요한건 성능입니다.

2. 역정규화

역정규화란 시스템의 성능 향상, 개발 및 운영의 편의성 등을 위해 정규화된 데이터 모델을 통합, 중복, 분리하는 과정으로 의도적으로 정규화 원칙을 위해하는 행위이다.

  • 역정규화를 수행하면 시스템의 성능이 향상되고 관리 효율성은 증가하지만 데이터의 일관성 및 정합성이 저하될 수 있다.
  • 과도한 반정규화는 오리혀 성능을 저하시킬 수 있다.
  • 역정규화를 위해서는 사전에 데이터의 일관성과 무결성(정확성)을 우선으로 할지, 데이터베이스의 성능과 단순화를 우선으로 할지 결정해야 한다.
    즉, 정규화를 하면 테이블이 여러개 쪼개지기 때문에 join, group by -> 읽기의 성능 저하 그래서 역정규화 수행합니다.

2.1 역정규화 방법

  • 컬럼을 조작해서 join을 줄이기

  • 컬럼을 조작해서 계산을 줄이기

  • 표를 쪼개기 : 표를 쪼개는 기준은 컬럼 또는 행

    1. 컬럼을 기준으로 테이블을 분리 (샤딩)
    2. 행을 기준으로 분리
  • 관계의 역정규화

    1. join을 줄이며 foreign key를 사용하지 않는 기법

'DB > Mysql' 카테고리의 다른 글

💻[SQL] Null 일 경우 Default 값 처리 방법  (0) 2022.07.15
💻RDB 와 NoSQL의 차이점  (0) 2022.06.16
논리적 데이터 모델링  (0) 2021.11.03
개념적 데이터 모델링  (0) 2021.11.02
관계형 데이터베이스 JOIN 개념정리  (0) 2021.10.31