정의
|
- 성능개선, 개발운영 단순화를 위해서 정규화된 엔티티, 속성, 관계를 분할 및 통합하는 데이터베이스 모델링 기법
- 정규화된 엔티티 타입, 속성, 관계에 대해 시스템의 성능향상과 개발 및 운영의 단순화를 위해 데이터 모델을 통합하는 프로세스를 의미함
- 적정 수준의 정규화 이후, 질의 성능 향상을 위해, 일부의 데이터에 대해 중복을 허용하는 정규화의 역작업
|
주요기능
|
- 테이블 통합 : 1:1, 1:M 통합을 통한 JOIN 감소
- 테이블 분할 : 년도별 수평분할, 컬럼별 수직분할
- 테이블 생성 : 요약 테이블 생성, 통계 테이블 생성
- 중복컬럼 생성 : JOIN 테이블의 컬럼 중복생성, 파생 컬럼생성(그룹, 평군)
|
추진절차
|
- 고단위 SQL 사용, 인덱스 조합, View Table 사용, 클러스터링 활용
- 엔티티 통합, 분할과 같은 반정규화를 통해서 수행시간 단출
- 요약자료, 통계처리 및 부분범위 처리로 성능향상
|
단점
|
- 관리 및 모델의 복잡도 증가
- 정확성 및 일관성 감소
- 모델의 유연성 저하
- 데이터 중복
|
활용방안
|
- DW(Data Warehouse) : 요약, 집계 테이블을 미리 생성하여, 경영진의 데이터 조회 시에 즉시성을 보장함 하지만, ETL 부하 증가함
- Master Data : 비빈복적으로 참조가 많은 Master Data를 파티션하여 병렬적 작업을 처리함. SQL 트랜잭션의 집중을 분산하여 처리
- BSC : 균형 성과지펴 DB설계 시 KPI Pool 를 반정규화 하여 성능 보장
|
반정규화 이유
|
- 데이터 조회시 디스크 I/O량이 많아서 성능 저하 발생
- 경로가 너무 멀어 조인으로 인한 성능 저하
- 과도한 정규화로 인한 데이터 분산화
- 정상적인 정규화를 통한 고객의 품질 요구사항 충족이 어려운 경우 ( Full search )
|
반정규화 도입 이유
|
- 비즈니스 운영성 향상 : 반정규화를 수행함으로써 중복 데이터가 발생하여 조회성능은 저하될 수 있으나 ad-hoc(임의) 쿼리를 수행하여 관리, 비즈니스 계획 및 실행을 위해 DW를 이용하는 사용자들의 만족도를 높일 수 있음
- 데이터 클러스터링의 사용편의성 : 차원적 데이터 분석을 위하여 정규화를 거친 Multi-depth 데이터의 경우 Pivoting을 통한 정보 이해력이 떨어지므로, 분석을 위해서 반정규화를 실시
- 데이터 적시성 향상 : ETL(Extract/Transform/Load) 개발시간 및 수행시간을 단축하여 최신 데이터 반영의 주기를 빠르게 제공 가능함.
|