SQLD 자격증 공부하면서 정리한 내용들을 작성한 글입니다.
한 테이블에 데이터 대량 집중
→ 테이블이 너무 커짐 / 효율성 ↓ 디스크 I/O ↑
→ 해결 방안 : 수직분할(컬럼 단위로 분할하여 I/O를 줄임)
한 테이블에 여러 컬럼 존재
→ 데스크 점유량 ↑ / 디스크 읽기 I/O ↑
→ 해결 방안 : 수직분할(컬럼 단위로 분할하여 I/O를 줄임)
대량 데이터 처리되는 테이블
→ SQL문에서 데이터 처리를 위한 I/O ↑ / 인덱스 구성
→ 해결 방안 : 파티셔닝 or PK에 의한 테이블을 분할 → 수평분할(로우 단위로 분할하여 I/O를 줄임)
대량 데이터가 한 테이블에 존재
→ 인덱스 크기가 커져 성능 저하
→ 해결 방안 : 파티셔닝 or PK에 의한 테이블을 분할 → 수평분할(로우 단위로 분할하여 I/O를 줄임)
컬럼이 많아질 경우
→ 로우 체이닝, 로우 마이그레이션
로우 체이닝(한 로우를 체인처럼)
로우 마이그레이션
파티셔닝
데이터 모델링을 완성한다.
데이터베이스(DB) 용량산정을 한다.
대량 데이터가 처리되는 테이블에 대해서 트랜잭션 처리 패턴을 분석한다.
컬럼 or 로우 단위로 집중화된 처리가 발생하는지 분석하여 집중화된 단위로 테이블을 분리하는 것을 검토한다.