반응형

DataOptimization 2

[Looker] 4. 중급 테크닉: 파생 테이블(Derived Tables)의 마법

안녕하세요, IT 전문 블로거 팬돌프입니다.실무에서 데이터 분석을 하다 보면, 데이터베이스에 있는 원본 테이블(Raw Data)만으로는 해결되지 않는 복잡한 요구사항을 마주하게 됩니다."개발자님, 각 고객별로 '첫 구매일'과 '생애 총 구매액'을 구해서, 주문 테이블 옆에 붙여서 분석하고 싶어요."SQL이라면 GROUP BY를 사용해 서브 쿼리(Sub-query)나 CTE(Common Table Expression, WITH 절)를 만들어서 메인 쿼리와 조인하겠죠?루커에서는 이 역할을 파생 테이블(Derived Table)이 담당합니다. 이 기능을 잘 쓰면 복잡한 SQL 로직을 깔끔하게 정리할 수 있고, 무엇보다 대시보드 속도를 비약적으로 향상시킬 수 있습니다.1. 파생 테이블(Derived Table)..

[Prometheus & Grafana] 9. Prometheus가 느려졌다면? Cardinality 최적화와 성능 튜닝 전략

Prometheus를 운영하다 보면 어느 순간 쿼리 응답이 느려지거나, 메모리 사용량이 치솟으며 서버가 강제 종료(OOM)되는 상황을 맞이하게 됩니다. 이는 대부분 데이터의 '양'이 아닌 '구조'의 문제입니다. 오늘은 Prometheus 운영의 최대 난제인 카디널리티(Cardinality) 관리와 성능 최적화 비법을 공개합니다.1. Prometheus의 최대 적: High Cardinality 폭발'카디널리티'란 하나의 메트릭 이름 아래 생성되는 고유한 레이블 조합의 총개수를 의미합니다.위험한 레이블 사용의 예: * http_request_total{user_id="12345"}: 사용자 ID는 수백만 개가 될 수 있습니다.client_ip="1.2.3.4": 방문자 IP를 레이블로 넣는 순간 Prome..

반응형