네이버 검색, 12.5억 시계열 무중단 관리 비법 공개!

by DD
1개월 전
조회수 18

네이버 검색VictoriaMetrics를 도입하여 12.5억 개의 시계열과 555조 개의 데이터포인트를 관리하며 대규모 시계열 데이터베이스(TSDB) 운영

Hot/Warm 2계층 아키텍처(Hot/Warm 2-tier Architecture)를 통해 성능과 비용의 균형을 달성하고, SSD 기반 Hot Tier는 빠른 조회, HDD 기반 Warm Tier는 장기 보관 담당

Hot Tier랑데부 해싱(Rendezvous Hashing) 기반의 역순 추가 전략으로, 무중단 장비 교체(Zero-downtime Equipment Replacement)를 성공적으로 수행

Warm Tiervmbackup과 vmrestore를 활용한 세트 단위 점진적 전환으로 데이터 손실 없이(Without Data Loss) 장비 교체 완료

결과: 서비스 중단 시간 0분, 메트릭 수집 누락 0건, p99 응답 시간 300ms 이내로 안정적인 성능 유지

VictoriaMetrics 아키텍처 개요

네이버 검색은 VictoriaMetrics를 활용하여 대규모 시계열 데이터를 효율적으로 관리한다. vminsert, vmstorage, vmselect로 구성된 수평 확장 가능한 아키텍처는 각 컴포넌트의 독립적인 확장을 가능하게 한다.

vminsert: 데이터 수집 및 저장 담당

vmstorage: 데이터 저장 및 관리

vmselect: 데이터 조회

이러한 구조는 높은 압축 효율(High Compression Efficiency)Prometheus 호환성(Prometheus Compatibility)을 제공하며, 12.5억 개의 활성 시계열과 555조 개의 데이터포인트를 안정적으로 처리한다.

Hot/Warm 2계층 아키텍처 심층 분석

네이버 검색은 Hot/Warm 2계층 아키텍처(Hot/Warm 2-tier Architecture)를 통해 성능과 비용 효율성을 동시에 확보했다. Hot Tier는 SSD 기반으로, 최근 12개월 이내의 데이터를 저장하여 빠른 조회를 지원하며, Warm Tier는 HDD 기반으로, 36개월 데이터를 보관하여 장기 보존 및 이력 분석에 활용된다.

vmagent의 이중 쓰기(Dual Write): Hot과 Warm 클러스터에 동시에 데이터 전송

시간 범위 기반 분기(Time Range-based Branching): 쿼리 요청 시간에 따라 적절한 계층으로 라우팅

이러한 구조는 장애 격리(Fault Isolation)독립적인 리소스 관리(Independent Resource Management)를 가능하게 한다.

Hot Tier 무중단 장비 교체 전략: 랑데부 해싱(Rendezvous Hashing)

Hot Tier의 무중단 장비 교체는 랑데부 해싱(Rendezvous Hashing)을 활용한 역순 추가 전략으로 진행되었다. 기존 128GB 장비에 512GB 신규 장비를 추가하고, 데이터 만료 시 기존 장비를 제거하는 방식으로 진행되었다.

vminsert 설정 변경: -storageNode 설정 목록에 신규 장비를 점진적으로 추가

역순 추가: 신규 장비를 역순으로 추가하여 기존 장비의 부하를 최소화

복제(Replication) 고려: replicationFactor=3 환경에서 복제본 전파 경로를 고려하여 부하 분산

이 전략은 시계열 교체율(Churn Rate) 증가를 억제하고, 수집 파이프라인의 안정성(Collection Pipeline Stability)을 유지하는 데 기여했다.

vminsert의 데이터 샤딩(Sharding) 및 복제(Replication) 메커니즘

vminsert는 랑데부 해싱(Rendezvous Hashing)을 사용하여 시계열을 vmstorage 노드에 분산 저장한다. 각 시계열의 메트릭 이름과 레이블 조합을 기준으로 노드를 선택하며, 노드 추가/제거 시 일부 키만 재배치된다.

샤딩(Sharding): 메트릭 이름과 레이블 조합 기반으로 저장 노드 결정

복제(Replication): -replicationFactor 설정에 따라 복제본 생성

복제본 전파: primary 노드 외에 설정 목록의 N-1개 노드에 복제

이러한 구조는 데이터 유실 방지(Data Loss Prevention)고가용성(High Availability)을 보장한다.

Warm Tier 무중단 마이그레이션: vmbackup & vmrestore

Warm Tier는 vmbackup과 vmrestore를 활용한 세트 단위 점진적 전환 방식으로 무중단 마이그레이션을 수행했다. 36개월의 데이터를 다루는 Warm Tier의 특성상, 전체 마이그레이션에 오랜 시간이 소요되므로, 효율적인 데이터 이전 전략이 필요했다.

사전 데이터 복제(Pre-data Replication): vmbackup으로 스냅샷을 생성하고, vmrestore로 신규 장비에 복원

세트 단위 점진 전환(Set-based Gradual Transition): vminsert에서 기존 장비 제외, 증분 vmbackup/vmrestore, vmselect 전환, vminsert 재시작

증분 백업(Incremental Backup): 변경분만 전송하여 전환 시간 단축

이 방식은 서비스 중단 없는(Zero Downtime) 대규모 데이터 이전을 가능하게 했다.

무중단 장비 교체 과정에서 얻은 교훈

네이버 검색의 VictoriaMetrics 운영 사례는 대규모 시계열 데이터베이스(TSDB) 운영의 어려움과 해결책을 제시한다. 특히, 무중단 장비 교체 과정에서 얻은 교훈은 다음과 같다.

랑데부 해싱(Rendezvous Hashing) 이해: vminsert의 동작 방식을 정확히 이해해야 안전한 전환 전략 설계 가능

복제(Replication) 고려: 복제본 전파 경로를 고려하여 부하 분산

모니터링의 중요성: 시계열 교체율, 지연 삽입 비율 등 주요 지표를 지속적으로 모니터링

이러한 경험은 대규모 분산 시스템(Large-scale Distributed System)메트릭 인프라(Metrics Infrastructure)를 운영하는 엔지니어에게 유용한 인사이트를 제공한다.

12.5억 개의 시계열과 555조 개의 데이터포인트를 다루는 VictoriaMetrics 아키텍처와 무중단 장비 전환