반정규화 2

[1장] 반정규화, 대량 데이터에 따른 성능

성능 저하 원인 하나의 테이블에 데이터 대량 집중 및 여러 컬럼 존재 : 디스크 I/O 높아짐 대량의 데이터가 처리되는 테이블 및 하나의 테이블에 존재 : 디스크 I/O 높아짐, 성능 저하 컬럼이 많아지는 경우 : 로우체이닝, 로우 마이그레이션 발생 ▶ 반정규화의 대상에 대해 다른 방법으로 처리 지나치게 많은 조인이 걸려 데이터를 조회하는 작업이 기술적으로 어려운 경우 : 뷰(VIEW) 사용 대량의 데이터처리나 부분처리에 의해 성능이 저하되는 경우 : 클러스터링 적용, 인덱스 조정 대량의 데이터로 성능이 저하되는 경우 : PK의 성격에 따라 부분적인 테이블로 분리 (파티셔닝 기법) 응용 애플리케이션에서 로직을 구사하는 방법 변경으로 성능 향상 ▶ 대량 데이터 발생으로 인한 현상 블록 I/O 횟수 증가, ..

[1장] 데이터 모델, 정규화, 반정규화

성능 데이터 모델링 데이터베이스 성능 향상을 위해 설계 단계부터 성능과 관련된 모든 사항을 고려하여 데이터 모델링 수행 정규화, 반정규화, 테이블 통합 및 분할, 조인 구조, PK/FK 설정 등 ▶ 수행시점 사전에 할 수록 비용이 들지 않음 (빠를수록 좋음) 분석/설계 단계에서 성능 모델링 수행하면 재업무 비용 최소화 가능 ▶ 고려사항 정규화 : 데이터를 주요 관심사별로 분산 시키는 효과 용량산정 : 어떤 엔터티(Table)에 데이터가 집중됐는지 파악 트랜잭션 유형 파악 : CRUD 매트릭스/시퀀스 다이어그램 활용, 데이터 조회에 필요한 조인 관계 등 파악 반정규화 : 테이블, 속성, 단계에 대해 포괄적인 반정규화 방법 적용 이력모델 조정, 인덱스를 고려한 PK/FK 순서 조정, 슈퍼/서브타입 조정 등 ..