# Luft's Road to Elasticity - Part 2: Auto-Scaling with Query History

> Clean Markdown view of GeekNews topic #19803. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=19803](https://news.hada.io/topic?id=19803)
- GeekNews Markdown: [https://news.hada.io/topic/19803.md](https://news.hada.io/topic/19803.md)
- Type: news
- Author: [kimmachinegun](https://news.hada.io/@kimmachinegun)
- Published: 2025-03-17T11:49:01+09:00
- Updated: 2025-03-17T11:49:01+09:00
- Original source: [engineering.ab180.co](https://engineering.ab180.co/stories/luft-autoscaling-with-query-history)
- Points: 5
- Comments: 0

## Summary

Luft 데이터베이스의 탄력성을 개선하기 위해 쿼리 히스토리를 활용한 비용 기반 오토스케일러를 구현하여, Shared Storage 아키텍처 전환 후 효율적인 오토스케일링 시스템을 구축했습니다. AWS SDK를 활용한 Self-managed 클러스터 방식으로 전환하여 스케일링 시간을 10초대로 단축하고, 쿼리 정규화를 통해 유사 쿼리를 식별하여 비용 예측 모델을 개발했습니다. 이를 통해 오버프로비저닝 없이 필요할 때만 리소스를 할당하여 인스턴스 비용을 약 40% 절감하고, 무거운 쿼리도 처리 가능한 탄력적 시스템을 구축했습니다.

## Topic Body

> 자체 제작 데이터베이스인 Luft의 탄력성(elasticity)을 개선하기 위해, 쿼리 히스토리를 활용한 비용 기반 오토스케일러를 구현한 경험을 공유합니다.  
  
- 이전 작업에서 Shared Storage 아키텍처로 전환했으나, 실질적인 효과를 얻기 위해선 효율적인 오토스케일링 시스템이 필요했음.  
- Kubernetes를 벗어나 AWS SDK를 활용한 Self-managed 클러스터 방식으로 전환하고, 중지된 인스턴스를 재개하는 방식을 구현하여 스케일링 시간을 10초대로 단축함.  
- 후행적 메트릭(CPU/메모리 사용량)에 의존하는 기존 오토스케일링 접근법 대신, 쿼리 히스토리를 활용한 비용 예측 모델을 개발함.  
- 쿼리 정규화(canonicalization)를 통해 유사 쿼리를 식별하고, 쿼리의 히스토리를 사용하여 비용을 계산하는 비용 함수를 구현하여 정확한 리소스 예측이 가능해짐.  
- 오버프로비저닝 없이 필요할 때만 리소스를 할당하여 인스턴스 비용을 약 40% 절감하고, 무거운 쿼리도 처리 가능한 탄력적 시스템을 구축함.

## Comments



_No public comments on this page._
