물리적 데이터 모델링
1. 물리적 설계
물리적 설계란 논리적 설계 단계에서 논리적 구조로 표현된 데이터를 디스크 등의 물리적 저장장치에 저장할 수 있는 물리적 구조의 데이터로 변환하는 과정이다.
- 이상적인 표를 제품에 맞는 구체적인 표로 만드는 작업
- 여기서 중요한건 성능입니다.
2. 역정규화
역정규화란 시스템의 성능 향상, 개발 및 운영의 편의성 등을 위해 정규화된 데이터 모델을 통합, 중복, 분리하는 과정으로 의도적으로 정규화 원칙을 위해하는 행위이다.
- 역정규화를 수행하면 시스템의 성능이 향상되고 관리 효율성은 증가하지만 데이터의 일관성 및 정합성이 저하될 수 있다.
- 과도한 반정규화는 오리혀 성능을 저하시킬 수 있다.
- 역정규화를 위해서는 사전에 데이터의 일관성과 무결성(정확성)을 우선으로 할지, 데이터베이스의 성능과 단순화를 우선으로 할지 결정해야 한다.
즉, 정규화를 하면 테이블이 여러개 쪼개지기 때문에 join, group by -> 읽기의 성능 저하 그래서 역정규화 수행합니다.
2.1 역정규화 방법
컬럼을 조작해서 join을 줄이기
컬럼을 조작해서 계산을 줄이기
표를 쪼개기 : 표를 쪼개는 기준은 컬럼 또는 행
- 컬럼을 기준으로 테이블을 분리 (샤딩)
- 행을 기준으로 분리
관계의 역정규화
- 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 |