본문 바로가기

server

(68)
[kafka] kafka connect to es mac(OS X, 특히 Apple Silicon) 환경에서 minikube 위에 Kafka 클러스터를 올려보려고 했는데,이미지 아키텍처 문제로 실행이 안되었다. docker-compose로 진행한다. Kafka 3노드(KRaft) 클러스터 구성먼저 Kafka 3대와 Connect 컨테이너를 올리는 compose 설정이다.version: '3.8'services: kafka-1: image: confluentinc/cp-kafka:7.5.1 platform: linux/arm64 container_name: kafka-1 ports: - "9092:9092" environment: CLUSTER_ID: "HhJtYRlRR5ujD1e5KuBL9Q" ..
[airflow] OpenTelemetry+clickhouse Apache Airflow 모니터링 이번글은 로컬에서 docker-compose 로 진행하였습니다. airflow environment에 다음 설정 추가 # Metrics -> OTLP/HTTP(4318) AIRFLOW__METRICS__OTEL_ON: "True" AIRFLOW__METRICS__OTEL_HOST: "otelcol" AIRFLOW__METRICS__OTEL_PORT: "4318" AIRFLOW__METRICS__OTEL_PREFIX: "airflow" AIRFLOW__METRICS__OTEL_SSL_ACTIVE: "False" # Traces -> OTLP/HTTP(4318) AIRFLOW__TRACES__OTEL_ON: "True" AIRFLOW__TRACES__OTEL..
[redash] 주말마다 죽는 서비스 관찰하기 매주 토/일요일마다 redash가 죽어서 airflow로 쿼리가 실행되는지 확인하는 만들었었다. (healthcheck로는 정상으로 나와서 쿼리 실행으로 확인했다)저번주말에도 서버가 다운되어 pod도 두배로 늘려줬었다. 하지만이번주말에도 사망..대체 왜?! 스케쥴과 큐에는 별다른 로그가 없어서, 또 알수 없는건가.. 하는 찰나redis 에 로그가 남아 있었다. 2025-11-08T18:52:39Z : k8s.node.name : gke-devops-prd-clust-devops-prd-node--c1f89cf3-uh422025-11-08T19:00:04Z : k8s.node.name : gke-devops-prd-clust-devops-prd-node--67b71628-y4z9??????? 노드의 ..
2. airflow + dbt 이 예제는 개발(로컬/경량)–운영(클라우드/규모) 분리를 전제로 한다.개발/속도: DuckDB 어댑터로 빠르게 모델을 검증하고, seed·단위테스트 중심으로 피드백 루프를 짧게 한다.운영/확장: BigQuery를 타깃으로 외부 테이블(원천: GCS) → staging → mart의 표준 3계층을 구축한다. 스토리지-컴퓨트 분리를 활용해 대용량에도 비용/성능 균형을 맞춘다. 디렉토리 구조 airflow-dbt-demo/├─ docker-compose.yml├─ .env ├─ airflow/│ ├─ Dockerfile│ ├─ requirements.txt│ ├─ dags/│ └─ dbt_duckdb_demo.py└─ dbt/ └─ demo_dbt/ ..
1. dbt tutorial 왜 dbt인가, 그리고 언제 써야 하나데이터 팀은 보통 원천 데이터를 웨어하우스로 옮긴 뒤 SQL로 정제하고, 지표를 만들어 대시보드·분석에 제공합니다. 이 과정이 커질수록 SQL 스크립트가 여기저기 흩어지고, 의존성·버전관리·테스트가 어려워집니다. dbt(Data Build Tool) 는 이 문제를 해결하기 위한 표준 도구입니다.SQL 변환을 코드로 관리하고, ref()로 의존 그래프를 안전하게 만들며, 테스트·문서화·라인리지를 자동화합니다. PR 기반 협업과 CI/CD도 용이합니다.다음을 기준으로 사용하면 좋습니다.웨어하우스(BigQuery/Snowflake/Redshift/DuckDB 등) 안에서 SQL 기반 변환을 할 때모델 수가 늘어나 의존성/품질 관리가 중요할 때대시보드 지표 정의를 코드로 명..
[논문] Lakehouse: A New Generation of Open Platforms that Unify Data Warehousing and Advanced Analytics https://www.cidrdb.org/cidr2021/papers/cidr2021_paper17.pdf 본 문서는 기존의 데이터 웨어하우스와 데이터 레이크의 한계를 극복하고자 레이크하우스(Lakehouse)라는 새로운 데이터 아키텍처를 제안합니다. 데이터 웨어하우스가 데이터 사일로, 높은 비용, 제한된 확장성 등의 문제를 겪는 반면, 데이터 레이크는 데이터 품질 및 거버넌스 부족, 분석 성능 저하와 같은 단점을 가진다고 지적합니다. 레이크하우스는 오픈 데이터 형식을 기반으로 하여 기계 학습 및 데이터 과학 워크로드를 지원하며, 데이터 웨어하우스의 성능 및 관리 기능을 통합하여 이러한 문제를 해결하며 복잡성을 줄이고, 데이터의 신뢰성, 최신성, 그리고 고급 분석 지원을 향상시키는 것을 목표로 합니다...
Kafka producer/consumer 튜닝 (acks, batch.size, linger.ms 등) resources: requests: cpu: 500m memory: 512Mi top - 05:43:42 up 1 day, 10:29, 0 users, load average: 0.64, 0.88, 1.29Tasks: 5 total, 1 running, 4 sleeping, 0 stopped, 0 zombie%Cpu(s): 6.8 us, 1.0 sy, 0.0 ni, 91.4 id, 0.2 wa, 0.0 hi, 0.6 si, 0.0 stMiB Mem : 7945.9 total, 805.2 free, 3249.5 used, 3891.1 buff/cacheMiB Swap: 0.0 total, 0.0 free, ..
로또 시스템 아키텍처 지금 회사에는 제품중 로또 시스템 있다. 실제 토요일 로또 추첨된 결과와 일치하는 로또를 가진 유저에게 현금을 주는 시스템이 있다. 최근 사용자가 증가하면서 일주일에 대략 8000만개의 로또가 생성되는데, 이를 추첨하는데만 12시간이 걸린다. (정확히는 데이터를 백업하고, 해당 유저를 정확히 뽑는데까지 걸리는 시간이다.) 하지만, 실제 로또 추첨을 보면 번호 추첨과 동시에 몇명이 뽑혔는지가 나온다. (거의 10초 내외로 나온다.)이게.....어떤 시스템이길래 가능한걸까? 라는 생각이 들어서, 우리 회사에 적용할수 있는 시스템일까? 하는 호기심이 들어서 테스트를 해보았다. 테스트는 맥북 에어 (m4) 에서 실행했다. 1. 번호 생성조건은 3억개의 로또 번호에서 특정 번호를 뽑는데, 얼마나 시간이 걸리는지 ..