실시간 분석을 위한 관측 가능성(Observability) 중심의 데이터 파이프라인 설계

실시간 분석을 제공하는 데이터 파이프라인을 구축하고자 합니다. 이를 위해서는 고속으로 발생하는 이벤트를 처리하고, 낮은 지연 시간(low latency)으로 프로세싱하며, 운영자에게 실행 가능한 인사이트(actionable insights)를 제공할 수 있는 시스템을 설계해야 합니다.

주요 구성 요소는 다음과 같습니다:

  • 수집 계층(Ingest layer): Kafka 또는 Kinesis와 같은 스트리밍 소스 어댑터
  • 처리 계층(Processing layer): 집계 및 데이터 보강(enrichment)을 위한 스트림 프로세싱
  • 저장 계층(Storage layer): 재실행(replayability)을 위한 불변 이벤트 저장소(immutable event store) 및 분석을 위한 읽기 최적화 저장소
  • 서빙/쿼리 계층(Serving/query layer): 구체화된 뷰(materialized views) 및 사전 집계된 테이블
  • 관측 가능성 계층(Observability layer): 트레이싱(tracing), 메트릭(metrics), 로그(logs), 대시보드 및 알림(alerting)

시작하기에 앞서, 요구 사항을 정의하십시오:

  • 수집 속도: 초당 10만 건의 이벤트
  • 엔드 투 엔드(End-to-end) 지연 시간: ≤ 300 ms
  • 쿼리 패턴: 시간 제한 집계 및 꼬리 지연 시간(tail latency)에 대한 SLO

관측 가능성을 통해 얻고자 하는 결과를 선택하십시오:

  • 지연 시간 및 데이터 왜곡(data skew)을 진단할 수 있는 충분한 텔레메트리(telemetry)
  • 장애 발생 시 신속한 근본 원인 분석(root-cause analysis)

출처: https://dev.to/therizwansaleem/designing-an-observability-driven-data-pipeline-for-real-time-analytics-4n8d