12.2 모델링 성능 튜닝
모델링 단계에서는 데이터의 수명, 조회 키, 변경 방식에 맞는 테이블 타입과 스키마를 선택합니다. 잘못된 테이블 타입을 설정 속성이나 인덱스만으로 보완하려 하지 않습니다.
테이블 타입 선택
| 데이터 | 우선 검토 |
|---|---|
| 이름·시간·숫자값 중심 시계열 | TAG |
| append 중심 이벤트·로그 | LOG |
| 관계형 변경과 트랜잭션 | TRANSACTION |
| 작은 영속 참조 데이터 | LOOKUP |
| 재생성 가능한 메모리 캐시 | VOLATILE |
스키마 설계 기준
- 쿼리와 입력에 실제 필요한 컬럼만 둡니다.
- 문자열 길이는 관측한 최대값과 증가 가능성을 근거로 정합니다.
- 시간, 숫자, IP를 문자열로 저장하지 않고 해당 SQL 타입을 사용합니다.
- TAG 메타데이터에는 태그에 대해 비교적 안정적인 속성을 둡니다.
- NULL 허용 여부와 기본값을 업무 의미에 맞춥니다.
- 관계형 키는 자연 키와 대리 키의 수명·변경 가능성을 비교합니다.
문자열 길이에 일률적인 여유 비율을 적용하지 않습니다. 현재 분포와 상한, 잘렸을 때의 영향을 측정하고 스키마 변경 절차를 준비합니다.
인덱스와 집계
조회 조건식과 조인 키를 기준으로 인덱스 후보를 정합니다. 인덱스를 추가할 때는 읽기 개선뿐 아니라 입력 지연, 저장 공간, 메모리를 함께 측정합니다. 반복되는 TAG 시간 집계는 ROLLUP을 검토하고, 조회가 거의 없는 집계 단위를 무분별하게 만들지 않습니다.
검증 순서
- 대표 데이터와 쿼리를 준비합니다.
- 테이블 타입과 최소 스키마로 기준값을 측정합니다.
- 인덱스 또는 ROLLUP을 하나 추가합니다.
- 읽기·쓰기·메모리·스토리지를 다시 측정합니다.
- 유지 가치가 없는 구조는 제거합니다.
테이블별 상세 설계는 테이블 타입 개념과 선택을 참고합니다.
최근 업데이트