time-series-database

4 개의 포스트

netflix4분 읽기큐레이션 요약

시계열 워크로드를 위한 동적 재파티셔닝

Netflix의 TimeSeries Abstraction은 Cassandra를 이용해 페타바이트 규모의 시계열 데이터를 밀리초 단위로 처리하지만, 시간이 지날수록 커지는 광범위한 파티션이 지연시간과 타임아웃을 유발했다. 기존의 테이블 단위 재파티셔닝은 전체 데이터가 비슷한 문제를 보일 때는 효과적이지만, 일부 ID만 비정상적으로 커지는 경우에는 적합하지 않았다. 이를 해결하기 위해 Netflix는 읽기 경로에서 넓은 파티션을 감지하고, 해당 TimeSeries ID 단위로 비동기 분할한 뒤 읽기 요청을 자동으로 재라우팅하는 동적 파티셔닝 시스템을 구축했다. ## Cassandra와 넓은 파티션의 문제 - Cassandra는 높은 처리량, 낮은 지연시간, 비용 효율성, 운영 성숙도를 이유로 Netflix의 시계열 저장소로 사용된다. - 그러나 이벤트가 시간에 따라 누적되면 하나의 파티션이 지나치게 커질 수 있다. - 일반적인 읽기 지연은 수 밀리초 수준이지만, 넓은 파티션에서는 특히 데이터 끝부분에서 지연시간이 수 초까지 증가한다. - 이로 인해 요청 타임아웃, 높은 CPU 사용률, 가비지 컬렉션 일시정지, 스레드 큐 대기 등이 발생할 수 있다. - 단순히 Cassandra 클러스터를 확장하는 방식은 비용 문제를 해결하지 못하므로 데이터 배치 자체를 개선해야 한다. ## 기존 TimeSeries 파티셔닝 전략 - 데이터를 일정한 시간 단위의 개별 Time Slice로 나누어 파티션 크기를 제한한다. - 시간 기준으로 데이터를 효율적으로 조회하거나 삭제할 수 있으며, 대량의 tombstone을 처리해야 하는 부담도 줄어든다. - 데이터셋 생성 시 사용자가 예상 트래픽과 이벤트 특성을 입력한다. - 프로비저닝 파이프라인은 해당 입력을 바탕으로 Monte Carlo 시뮬레이션을 수행해 인프라와 파티션 설정을 결정한다. ## 사전 설정 방식의 한계 - 초기 단계에서는 실제 운영 트래픽을 정확히 예측하기 어렵다. - 시간이 지나면서 트래픽 패턴, 클라이언트 동작, 제품 요구사항이 변할 수 있다. - 일부 TimeSeries ID만 다른 ID보다 훨씬 많은 이벤트를 받는 데이터 이상치가 존재할 수 있다. - Time Slice마다 다른 파티션 전략을 적용할 수 있지만, 수천 개 데이터셋의 설정을 사람이 직접 조정하는 것은 지속 가능하지 않다. - 따라서 파티션 상태를 관찰하고 자동으로 조정하는 시스템이 필요하다. ## Time Slice 단위 재파티셔닝 - Cassandra의 `nodetool tablehistograms` 등 introspection API를 활용해 파티션 크기 분포를 관찰한다. - 너무 작은 파티션이 많은 과도한 분할(over-partitioning)과 지나치게 큰 파티션을 모두 탐지할 수 있다. - 예를 들어 파티션 크기가 10KB보다 작으면 읽기 증폭과 스레드 큐잉이 커질 수 있다. - 백그라운드 워커가 애플리케이션에 연결된 Time Slice의 파티션 히스토그램을 감시한다. - 파티션 크기가 설정된 목표 밀도에 미달하면 조정 계수를 계산하고, 이후 생성될 Time Slice의 `time_bucket` 간격을 변경한다. - 목표 파티션 크기는 워크로드에 따라 보통 2MiB~10MiB로 설정된다. - 이 방식은 읽기 지연시간과 타임아웃을 줄이는 데 효과가 있었지만, 테이블 전체가 비슷한 문제를 보일 때만 적합하다. - 특정 ID 몇 개만 넓은 경우에는 전체 테이블의 파티션 전략을 바꾸는 것이 불필요하거나 효과적이지 않다. ## 일부 ID만 문제가 될 때의 대응 - **아무것도 하지 않기** - 애플리케이션의 전체 지표에 영향이 없다면 문제를 감수하는 것이 합리적일 수 있다. - **부분 결과 반환** - 요청이 설정된 지연시간 SLO를 넘으면 진행 중인 요청을 중단한다. - 그때까지 수집한 데이터만 반환해, 전체 결과보다 빠른 응답을 우선하는 클라이언트에 적합하다. - **문제 ID 차단** - 테스트나 스팸 데이터처럼 시스템을 불안정하게 만드는 ID를 차단한다. - 다만 정상적이고 중요한 ID가 큰 경우에는 데이터 전체를 처리해야 하므로 이 방법을 사용할 수 없다. ## ID별 동적 파티셔닝 - 동적 파티셔닝은 테이블 전체가 아니라 특정 TimeSeries ID의 넓은 파티션만 자동으로 분할한다. - 비동기 파이프라인은 다음 세 단계로 구성된다. - **감지:** 읽기 경로에서 특정 파티션의 읽기 바이트 수를 추적하고, 임계치를 넘으면 넓은 파티션으로 판단한다. - **계획 및 분할:** 적절한 크기가 되도록 파티션 분할 작업을 계획하고 비동기적으로 실행한다. - **읽기 제공:** 분할이 완료되면 기존 요청 경로를 투명하게 새 파티션으로 재라우팅한다. - 읽기 작업 중 파티션에서 읽은 바이트가 설정된 한도를 초과하면 Kafka로 감지 이벤트를 발행한다. - 이벤트에는 데이터가 속한 Time Slice 테이블, 문제가 된 `time_series_id`, 기존 `time_bucket`, `event_bucket`, 해당 파티션의 쓰기 종료 여부(`immutable`), 버전 등의 정보가 포함된다. - 이 구조를 통해 정상적인 ID에는 영향을 주지 않으면서, 데이터량이 큰 특정 ID만 선택적으로 재구성할 수 있다. ## 실용적인 결론 - 데이터 전체의 분포가 바뀌었다면 Time Slice 단위 자동 재파티셔닝을 적용하는 것이 효율적이다. - 일부 ID만 비대해지는 경우에는 ID별 동적 파티셔닝이 더 적합하다. - 읽기량, 파티션 크기, 지연시간 SLO를 지속적으로 관찰하고 자동화된 감지·분할·재라우팅 체계를 마련하는 것이 핵심이다.

원문 읽기(새 탭에서 열림)
line원문

Scaling to Infinity: 한계를 넘어서는 LY Corporation의 관측 가능성 플랫폼 진화기 (새 탭에서 열림)

LY Corporation은 수만 대의 서버와 컨테이너 환경에서 발생하는 일간 수조 건의 지표를 효율적으로 처리하기 위해 독자적인 시계열 데이터베이스(TSDB)를 개발하여 운영하고 있습니다. 초기 MySQL과 OpenTSDB의 한계를 극복하고자 인메모리(IMDB), Cassandra, S3를 결합한 다중 계층 저장소 아키텍처를 구축함으로써 데이터 폭증에 유연하게 대응하고 있습니다. 이를 통해 개발자와 운영자가 인프라 관리 부담 없이 서비스의 건강 상태를 즉각적으로 파악하고, 향후 AI 기반의 지능형 관찰가능성 플랫폼으로 진화하는 것을 목표로 합니다. **시계열 데이터의 규모와 저장소의 중요성** * **기하급수적인 데이터 증가:** 서버 1대의 CPU 지표(15초 주기)는 연간 약 562 MiB를 차지하며, 수천 대 규모의 인프라에서는 연간 테비바이트(TiB) 단위의 저장 공간이 필요합니다. * **고해상도 데이터의 필요성:** 장애 징후를 사전에 포착하고 정밀하게 모니터링하기 위해 1분 미만의 고해상도 지표 수집이 필수적이지만, 이는 범용 데이터베이스에 엄청난 쓰기 부하를 줍니다. * **클라우드 네이티브의 복잡성:** 쿠버네티스 환경에서는 파드(pod)의 잦은 생성과 소멸로 인해 관리해야 할 대상(Cardinality)이 폭증하며, 이를 수용할 유연한 스키마 구조가 요구됩니다. **자체 시계열 데이터베이스 엔진 개발 과정** * **기존 솔루션의 한계:** MySQL은 쓰기 성능과 경직된 스키마 문제로, OpenTSDB는 태그 개수 제한 및 문자열 제약, 쿼리 전 웜업(warm-up) 필요성 등의 운영상 한계가 있었습니다. * **Gorilla 논문 기반 최적화:** 데이터 조회의 85%가 최근 26시간 이내에 집중된다는 점에 착안하여, 최근 데이터는 IMDB에 저장하고 과거 데이터는 디스크 기반 저장소로 보내는 전략을 수립했습니다. * **사용자 편의성 유지:** 백엔드 아키텍처를 근본적으로 교체하면서도 기존 API와의 호환성을 완벽히 유지하여, 사용자가 코드 수정 없이도 성능 향상의 혜택을 누리게 했습니다. **데이터 홍수에 대응하는 계층형 저장 구조** * **가중치 기반 부하 분산:** 서로 다른 스펙의 노드가 혼재된 환경에서도 성능을 극대화할 수 있도록 IMDB의 부하 분산 알고리즘을 개선했습니다. * **S3 기반의 하이브리드 저장소:** 고성능 처리가 필요한 최근 14일치 데이터는 Cassandra에, 그 이전의 방대한 데이터는 비용 효율적인 S3 호환 저장소에 적재하는 3단계 계층 구조를 도입했습니다. * **데이터 파이프라인 최적화:** IMDB의 데이터를 슬롯 단위로 읽어 블록화하여 S3에 저장하는 '덤퍼(Dumper)'와, 읽기 성능을 위해 디스크 캐싱을 수행하는 'Storage Gateway'를 구축했습니다. **기술적 난관 극복과 협업의 성과** * **메모리 고갈 문제 해결:** 스토리지 게이트웨이의 I/O 과정에서 페이지 캐시 점유율이 급증하는 문제를 발견하고, 직접 I/O(Direct I/O) 대신 커널 페이지 캐시를 효율적으로 쓰는 B+ 트리 기반 캐시로 전환했습니다. * **부서 간 협업:** 직접 I/O 적용 시 발생할 수 있는 클라우드 스토리지 대역폭 문제를 유관 부서와 긴밀히 소통하여 조기에 파악하고 최적의 해답을 도출했습니다. 대규모 시스템의 관찰가능성을 확보하기 위해서는 데이터의 접근 패턴에 맞춘 계층형 저장소 설계가 필수적입니다. 단순한 저장소 확장을 넘어, 파편화된 데이터를 통합하고 AI를 활용한 예측 모델을 결합함으로써 시스템의 안정성을 선제적으로 관리하는 지능형 플랫폼으로 나아가야 합니다.

datadog2분 읽기큐레이션 요약

실시간 시계열 스토리지

Datadog이 Gartner의 2026년 Observability Platforms 매직 쿼드런트에서 ‘Leader’로 선정되었다는 내용이 제시되어 있습니다. 다만 제공된 본문에는 선정 근거와 평가 세부사항보다 Datadog 제품 메뉴와 링크 목록이 대부분 포함되어 있어, 기술 블로그의 구체적인 주장이나 결론을 충분히 확인하기는 어렵습니다. ## Gartner 매직 쿼드런트에서의 리더 선정 - Datadog은 Gartner® Magic Quadrant™ for Observability Platforms 2026에서 리더로 소개됩니다. - 연결된 리소스는 Datadog의 관측성 플랫폼 역량을 강조하기 위한 홍보 자료로 보입니다. - 제공된 내용만으로는 평가 기준, 경쟁사 비교, 실행 능력(Ability to Execute), 비전 완성도(Completeness of Vision) 점수는 확인할 수 없습니다. ## Datadog의 통합 관측성 범위 제공된 제품 목록은 Datadog이 단일 모니터링 도구를 넘어 여러 운영 영역을 통합하는 플랫폼임을 보여줍니다. - **인프라 관측성** - 인프라·메트릭·컨테이너·Kubernetes 모니터링 - 네트워크, 서버리스, GPU, 스토리지 및 클라우드 비용 관리 - **애플리케이션 성능 관리** - APM, 분산 추적, Continuous Profiler - 동적 계측(Dynamic Instrumentation), 서비스 모니터링, AI 에이전트 관측성 - **로그 및 데이터 관측성** - 로그 관리, 민감 데이터 탐지, 감사 추적 - 데이터베이스, 데이터 스트림, 데이터 품질 및 작업 모니터링 - **보안** - 코드 보안, SAST, IAST, 소프트웨어 구성 분석 - 클라우드 보안, SIEM, 워크로드 보호, 애플리케이션·API 보호 - **디지털 경험** - 브라우저·모바일 RUM - 세션 리플레이, 신시틱 모니터링, 오류 추적, 제품 분석 - **소프트웨어 제공 및 서비스 관리** - CI 가시성, 테스트 최적화, 코드 커버리지, 기능 플래그 - 인시던트 대응, SLO, 이벤트 관리, 워크플로 자동화 ## AI와 자동화 기능 - AI 에이전트 관측성, GPU 모니터링, AI 통합 기능을 제공하는 것으로 나열되어 있습니다. - Bits 계열 기능을 통해 조사, 채팅, 보안 분석, 코드 작업을 지원합니다. - MCP 서버와 에이전트 디렉터리 등 외부 도구 및 AI 에이전트와의 연계를 지원합니다. - Watchdog과 자동화 기능은 이상 탐지와 운영 대응을 자동화하는 방향을 보여줍니다. ## 제공된 글의 한계 - 실제 본문이 Datadog의 사이트 내비게이션 목록에서 중간에 잘린 형태로 제공되었습니다. - Gartner의 평가 이유, 제품별 강점과 약점, 고객 사례, 수치와 결론은 포함되어 있지 않습니다. - 따라서 현재 내용만으로는 “Datadog이 관측성 전 영역을 포괄하는 통합 플랫폼으로 평가받았다”는 수준까지만 요약할 수 있습니다. 실제 기술적 평가와 Gartner 선정 근거를 정확히 요약하려면 글 본문 전체나 원문 링크의 내용을 추가로 제공해야 합니다.

원문 읽기(새 탭에서 열림)
datadog2분 읽기큐레이션 요약

Husky: Datadog 규모에서의

Datadog이 Gartner의 2026년 Observability Platforms 매직 쿼드런트에서 Leader로 선정되었다는 내용이 핵심입니다. 다만 제공된 본문에는 선정 근거와 평가 세부 내용보다 Datadog 제품 메뉴와 링크가 대부분 포함되어 있어, 기술적 분석이나 구체적인 비교 내용은 확인하기 어렵습니다. ### Gartner 매직 쿼드런트 선정 - Datadog은 Gartner의 Observability Platforms 부문에서 Leader로 소개되었습니다. - 이는 인프라, 애플리케이션, 로그, 사용자 경험 등 여러 관측성 영역을 하나의 플랫폼에서 제공하는 역량과 관련된 것으로 볼 수 있습니다. - 단, 제공된 내용만으로는 Gartner의 평가 기준, Datadog의 구체적인 점수, 경쟁사 대비 강점은 알 수 없습니다. ### Datadog의 관측성 제품 범위 - **인프라 모니터링** - 메트릭, 호스트·컨테이너·Kubernetes 모니터링 - 네트워크, 서버리스, GPU, 클라우드 비용 및 스토리지 관리 - **애플리케이션 성능 관리** - APM, 분산 추적, Continuous Profiler - 동적 계측과 서비스 모니터링 - **로그 및 데이터 관측성** - 로그 관리, Observability Pipelines - 데이터베이스, 데이터 스트림, 데이터 품질 및 작업 모니터링 - **디지털 경험** - Browser·Mobile RUM - 세션 리플레이, Synthetic Monitoring, 오류 추적 및 제품 분석 - **소프트웨어 개발·운영** - CI Visibility, 테스트 최적화, 코드 커버리지 - 서비스 카탈로그, SLO, 인시던트 대응, 워크플로 자동화 - **보안** - 클라우드 보안, 취약점 관리, SIEM - 코드 보안, SAST, IAST, IaC 보안 및 워크로드 보호 - **AI 및 자동화** - Bits AI 에이전트, 조사·보안 분석 도구 - AI 에이전트 관측성, MCP Server, GPU 모니터링 ### 제공된 내용의 한계 - 본문에는 실제 기술 블로그의 상세 설명이나 구현 방식이 포함되어 있지 않습니다. - 링크 경로에는 `husky-storage-compaction`이 표시되지만, Husky 스토리지 압축(compaction)에 관한 본문은 제공되지 않았습니다. - 따라서 스토리지 압축 전략, 데이터 보존 정책, 성능 개선 수치 등의 기술적 결론은 도출할 수 없습니다. 실제 글의 본문을 추가로 제공하면 Gartner 선정 내용이나 Husky 스토리지 컴팩션 설계를 섹션별로 구체적으로 요약할 수 있습니다.

원문 읽기(새 탭에서 열림)