토픽 170 / 201·NewSQL 및 특수 목적 DB
적응형 인덱싱 (Adaptive Indexing)
적응형 인덱싱 (Adaptive Indexing)
쿼리 워크로드에 따라 인덱스를 점진적으로 구축하고 자동 조정하는 기법으로, 초기 비용 없이 쿼리 실행 중 인덱스가 진화하여 최적화되는 자가 튜닝 방식
목적: 인덱스 생성 비용 제거, 워크로드 적응, 자동 최적화, DBA 부담 감소
배경: 전통적 인덱스는 선행 생성 필요, 워크로드 변화에 비적응적
Database Cracking (대표 기법)
- •쿼리 실행 시 해당 범위의 데이터만 정렬/재배치
- •첫 쿼리: 느림 (크래킹 수행), 반복 쿼리: 점점 빨라짐
- •예: SELECT * WHERE A > 50 → A 컬럼을 50 기준으로 파티션
Cracking 동작
Adaptive Merging: Cracking + 정렬된 런 병합, 읽기/쓰기 균형
Hybrid Adaptive Indexing: Cracking + 부분 정렬, 성능 예측 가능성 향상
장점
- •초기 인덱스 생성 비용 없음 (즉시 쿼리 가능)
- •워크로드 자동 적응, 사용 패턴 반영
- •DBA 개입 최소화, 자가 튜닝
단점: 초기 쿼리 성능 불확실, 구현 복잡, 동시성 제어 어려움
성능 특성: 첫 쿼리 O(n), 반복 쿼리 점진적 개선 → 최종 O(log n)
적용사례: MonetDB(Cracking), 연구용 DBMS, HTAP 시스템
기술요소: Database Cracking, Adaptive Merging, Self-Tuning, 지연 인덱싱
비교: Adaptive(점진적/자동) vs Traditional(선행생성/수동) vs Partial Index(조건부)
연관: 인덱스, 쿼리 최적화, 자가 튜닝 DB, MonetDB, HTAP