# Luft's Road to Elasticity - Part 1: From Shared Nothing to Shared Storage

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

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=19666](https://news.hada.io/topic?id=19666)
- GeekNews Markdown: [https://news.hada.io/topic/19666.md](https://news.hada.io/topic/19666.md)
- Type: news
- Author: [kimmachinegun](https://news.hada.io/@kimmachinegun)
- Published: 2025-03-10T13:44:36+09:00
- Updated: 2025-03-10T13:44:36+09:00
- Original source: [engineering.ab180.co](https://engineering.ab180.co/stories/luft-shared-storage)
- Points: 11
- Comments: 1

## Summary

Luft는 대용량 데이터 처리 시 탄력성 부족 문제를 해결하기 위해 Shared Nothing 아키텍처에서 Shared Storage 아키텍처로 전환했습니다. FUSE를 활용한 S3 접근 방식에서 성능 문제가 발생하여, 애플리케이션 레벨에서 Buffer Pool Manager를 자체 구현했습니다. 이러한 개선으로 쿼리 성능이 최대 70% 이상 향상되어 Luft의 탄력성이 크게 개선되었습니다.

## Topic Body

> 자체 제작 데이터베이스인 Luft의 탄력성(elasticity)을 개선하기 위해, Shared Nothing 아키텍처에서 Shared Storage 아키텍처로 전환한 경험을 공유합니다.  
  
- 이전에는 각 노드가 독립적인 스토리지를 사용하여 데이터를 처리했으나, 대용량 데이터 처리 시 탄력성이 부족하여 스파이크성 워크로드 대응에 어려움을 겪음.  
- 컴퓨팅 자원과 스토리지를 분리하는 Compute-Storage Separation 개념을 적용하여, 스토리지를 공유하는 Shared Storage 아키텍처로 전환을 결정함.  
- S3에 접근하기 위해 FUSE를 활용하는 방식을 실험했으나, Go 런타임의 특성상 FUSE 사용 시 성능 문제가 발생하여 애플리케이션 레벨에서 Buffer Pool Manager를 자체 구현함.  
- 이러한 개선을 통해 직접 S3로 쿼리가 가능해졌고, 사전에 데이터가 분배되어있지 않은 경우의 쿼리 성능이 최대 70% 이상 향상되어 Luft의 탄력성이 크게 개선됨.

## Comments



### Comment 35664

- Author: outcast1542
- Created: 2025-03-10T17:51:18+09:00
- Points: 1

이거 진짜재미있는거 하셔서 저도 해보고싶네요
