반응형

TimeSeriesData 3

[Apache Flink] 6. [분석] 배치를 스트리밍처럼, 스트리밍을 배치처럼: Flink SQL & Table API

안녕하세요!지난 5편까지 우리는 시간(Time), 상태(State), 윈도우(Window), 그리고 장애 복구(Checkpoint)까지 Flink의 핵심 내부 엔진을 모두 분해하고 조립해 보았습니다. 진정한 하드코어 데이터 엔지니어링의 세계였죠.그런데 지금까지 배운 내용들을 Java나 Scala 코드로 직접 구현하려면 코드가 꽤 길고 복잡해집니다. "스트리밍 데이터도 그냥 RDB 다루듯이 SELECT, JOIN, GROUP BY 같은 표준 SQL로 처리할 순 없을까?"당연히 있습니다! Flink는 복잡한 하위 레벨 API(DataStream API)를 몰라도, 누구나 쉽게 실시간 파이프라인을 구축할 수 있도록 강력한 Table API & Flink SQL을 제공합니다. 오늘은 스트림을 테이블처럼 다루는 ..

[Prometheus & Grafana] 4. SQL과는 다르다! 실무 예제로 배우는 PromQL 쿼리 마스터 가이드

Prometheus에 데이터가 쌓이고 있다면 이제 그 데이터들 사이에서 의미 있는 '인사이트'를 추출해야 합니다. 단순히 숫자만 보는 것이 아니라, 데이터의 흐름을 읽는 언어 PromQL의 핵심을 파헤쳐 봅니다.1. PromQL의 철학: 시계열 데이터란 무엇인가?관계형 DB(MySQL 등)가 테이블의 행과 열을 다룬다면, PromQL은 시간의 흐름에 따른 값의 변화(Time Series)를 다룹니다.Metric Name: http_requests_total (무엇을 측정하는가?)Labels: {method="GET", status="200"} (어떤 조건인가?)Sample: (timestamp, value) (언제, 얼마였는가?)2. 셀렉터(Selector)와 필터링: 원하는 데이터만 골라내기가장 먼저 ..

[Prometheus & Grafana] 2. 왜 Pull 방식일까? Prometheus 내부 구조와 동작 원리 파헤치기

Prometheus는 단순한 소프트웨어가 아니라 하나의 정교한 기계 장치와 같습니다. 내부를 열어보면 크게 세 가지 파트가 유기적으로 맞물려 돌아갑니다. 오늘 그 속을 낱낱이 파헤쳐 보겠습니다.1. Prometheus의 3대 심장부① Retrieval Engine (데이터 수집기)Prometheus의 가장 활발한 부분입니다. 설정 파일(prometheus.yml)에 정의된 타겟이나 서비스 디커버리(Service Discovery)를 통해 알아낸 대상에게 주기적으로 HTTP 요청을 보내 메트릭을 긁어옵니다(Scraping).Service Discovery: 쿠버네티스처럼 서버가 수시로 생성/삭제되는 환경에서 일일이 IP를 적지 않아도 자동으로 대상을 찾아내는 똑똑한 레이더 역할을 합니다.② TSDB (Ti..

반응형