우버의 데이터 혁신: 우선순위 기반 시스템으로 스토리지 성능 극대화하기

우버의 분산 스토리지 혁신: 정적 한계에서 우선순위 인식으로

안녕하세요, 여러분! 오늘은 데이터 기술의 진화에 대해 이야기하려고 합니다. 특히, 우버의 스토리지 플랫폼 혁신을 살펴보겠습니다. 익히 알고 계시겠지만, 데이터는 현대 비즈니스의 핵심 자산입니다. 그 데이터를 얼마나 효율적으로 관리하느냐가 기업의 경쟁력을 좌우하죠. 이번 글에서는 우버가 어떻게 기존의 정적인 제한을 넘어 우선순위 인식 기반의 로드 제어 시스템으로 나아갔는지, 그리고 그로 인해 어떤 변화가 있었는지를 소개하겠습니다.

우버의 분산 스토리지에서의 도전

우버는 다양한 사용자와 서비스를 지원하는 대규모의 스토리지 플랫폼 운영에서 몇 가지 도전에 직면했습니다. 특히, 기존에 사용하던 초당 질의 수(QPS) 기반의 한계 설정은 실제 부하를 반영하지 못해 ‘노이즈 이웃’ 문제를 야기했고, 꼬리 지연(tail latency) 보호에도 한계가 있었습니다.

이 문제를 해결하기 위해 우버는 DocstoreSchemaless 같은 내부 데이터베이스를 보호하는 데 있어 정적 한계를 피하고 실시간 부하에 민감한 관리 시스템을 도입했습니다. 이 시스템은 중요한 트래픽에 우선순위를 부여하고, 시스템 상황에 맞게 동적으로 적응함으로써 과부하를 방지하고 성능을 유지할 수 있도록 설계되었습니다.

새로운 시스템의 탄생: 시나몬

우버는 초기 할당량 기반 접근 방식에서 벗어나, 새로운 시나몬(Cinnamon) 시스템을 개발했습니다. 이 시스템은 트래픽을 우선순위에 따라 계층화하고, 낮은 우선순위의 트래픽을 먼저 제거함으로써 지연에 민감한 작업이 영향을 받지 않도록 했습니다. 또한, 고백분위수(latency metrics)를 활용하여 동적으로 한계와 큐 타임아웃을 조정함으로써, 고정 한계에 의존하지 않고 부드러운 성능 저하를 실현했습니다.

통합된 제어 루프로의 진화

우버는 이후 로컬 및 분산 과부하 신호를 하나의 모듈식 제어 루프로 통합했습니다. 이를 통해 시스템의 모든 신호를 중앙 제어 경로에 플러그인할 수 있게 되었으며, 단편적인 제어 로직을 제거하고, 값싸게 기존의 시스템에서 결피였던 부하 해제 결정의 충돌을 피할 수 있었습니다.

이 혁신은 놀라운 성과를 가져왔습니다. 과부하 상태에서도 처리량은 약 80% 증가했고, P99 업서트(upsert) 작업의 지연은 약 70% 감소했습니다. 또한, 고루틴 수가 약 93% 감소하고 최고 힙 사용은 약 60% 낮아졌습니다. 이러한 성과는 시스템의 신뢰성과 효율성 개선에 크게 기여했습니다.

전략적 시사점

우버의 사례에서 배울 점은 분명합니다. 핵심 사용자 트래픽을 우선시하고, 동적으로 워크로드에 적응하며, 간단한 솔루션을 선호하여 일관된 성능을 유지하는 것이 중요합니다. 이 과정에서의 중요한 교훈은 우선순위 인식 기반의 시스템이 얼마나 효과적으로 복잡한 데이터 환경을 관리할 수 있는지를 잘 보여줍니다.

데이터 관리 혁신을 고민 중이신가요? 우버의 사례를 통해 여러분의 시스템에도 변화를 시도해보세요. 여러분의 데이터 관리 전략에 큰 도움이 될 것입니다. 다음 블로그 글에서 또 다른 흥미로운 주제로 돌아올 테니 기대해 주세요!

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

위로 스크롤