Database (73) 썸네일형 리스트형 ClickHouse - Lightning Fast Analytics for Everyone https://www.vldb.org/pvldb/vol17/p3731-schulze.pdf 1 서론 (INTRODUCTION)ClickHouse는 수조 행·수백 개 컬럼 테이블에 고성능 분석 쿼리를 실행하기 위해 설계된 컬럼 지향 OLAP 데이터베이스다.1. 거대한 데이터와 높은 유입 속도로, 최신 데이터는 빠르게 적재하면서 과거 데이터는 백그라운드에서 집계·아카이브해 부담을 줄이는 것이다.2 많은 동시 쿼리와 낮은 지연 시간으로, 프루닝 등으로 자주 쓰는 쿼리를 최적화하면서 CPU·메모리·디스크·네트워크 I/O를 공정하거나 우선순위 기반으로 나누는 것이다.3 다양한 저장소·위치·포맷과의 통합으로, 어떤 시스템·위치·포맷이든 외부 데이터를 읽고 쓸 수 있을 만큼 개방적인 구조를 갖는 것이다.4 쓰기 편.. [es] monitoring 설정 GET _cluster/settings?include_defaults=true&filter_path=**.xpack.monitoring.exporters** 결과가 {}(비어 있음)이면,→ Elasticsearch가 모니터링 데이터를 “어디로 보낼지(exporter)” 설정이 전혀 없는 상태입니다.즉, 수집은 켜져 있어도 (collection.enabled: true),데이터를 저장할 대상이 없어서 .monitoring-es-* 인덱스를 만들지 못하고 버리는 상황이에요. GET _cluster/settings?include_defaults=true&filter_path=**.xpack.monitoring.exporters**응답값{} xpack(X-Pack)은 Elasticsearch에 내장된 “부가.. [es] ILM + rollover 설정 1. 하루에 대략 20기가의 메트릭 정보가 쌓이고 있다. 그런데~~ ILM이 설정되어 있지 않았다.[깨끗한 설정값을 보라..]GET metricbeat-*/_settings?filter_path=**.index.lifecycle*응답{} 현재 ES 버전을 확인해보면GET /응답{ "name" : "data-es-coordination", "cluster_name" : "data-es-cluster", ........................... "version" : { "number" : "7.10.2", .................. }, "tagline" : "You Know, for Search"}지금 ES 버전이 7.10.2이기 때문에, ILM(라이프사이클 정책) 과.. 4. mysql to bigquery using dbt from datetime import datetimefrom airflow import DAGfrom airflow.operators.python import PythonOperatorfrom cosmos import DbtTaskGroup, ProjectConfig, ProfileConfig, ExecutionConfigimport osDBT_DIR = "/opt/airflow/dbt/demo_dbt" # 네 프로젝트 경로# Cosmos 설정project_config = ProjectConfig(dbt_project_path=DBT_DIR)profile_config = ProfileConfig( profile_name="demo_dbt", target_name="dev", profi.. 3. Airflow + Astronomer Cosmos + dbt airflow + dbt를 테스트한 dag의 모습입니다.dbt 초기엔 Airflow에서 BashOperator 하나로 dbt run/dbt test를 돌리며, GCS→BigQuery 적재는 staging/mart 두 계층으로 나눠 관리했습니다.문제는 빌드가 실패했을 때 어느 모델에서 깨졌는지 빠르게 추적하기 어렵고, retry도 잡 전체를 다시 돌려야 한다는 점이었습니다.Cosmos를 붙이면 Airflow 그래프에 dbt 모델이 각각의 태스크로 나타나니,실패 지점이 정확히 어느 모델인지 즉시 보이고,그 모델만 부분 재시도 / 부분 실행(select) 할 수 있어 운영이 쉬워집니다. 왜 Cosmos?Airflow에서 dbt 모델을 개별 태스크로 쪼개서 보이고, 의존성 그래프도 자동 생성 → 문제 지점 파악.. Trino로 서로 다른 DB 조인하기 (MySQL ↔ PostgreSQL) 이 글은 Trino를 이용해 서로 다른 데이터베이스(여기서는 MySQL과 PostgreSQL)를 하나의 쿼리로 조인하는 최소 예제를 그대로 따라 할 수 있도록 정리했습니다. trinoTrino는 여러 저장소(예: MySQL, PostgreSQL, Hive, BigQuery 등)에 흩어진 데이터를 단일 SQL로 다룰 수 있게 해 주는 분산 쿼리 엔진입니다. 이기종 조인: postgresql.sales.orders와 mysql.crm.customers처럼 서로 다른 시스템의 테이블을 직접 조인할 수 있습니다.커넥터-카탈로그 모델: Trino는 커넥터를 통해 외부 시스템에 접속하며, 각 커넥터 인스턴스를 카탈로그로 노출합니다. 중요 제약: 트랜잭션을 시스템으로 보장하지 않습니다. 또한 조인 시 네트워크 I.. MySQL id 범위 조건 하나로 10분 → 2분 시간대 필터만 있는 쿼리와 id 조건을 함께 건 쿼리의 실행 시간이 극적으로 달랐습니다. 같은 테이블에서 같은 시간 범위를 조회했지만, 전자는 10분이 넘었고 후자는 2분도 걸리지 않았습니다. 문제 상황두 쿼리는 선택 컬럼과 시간 범위가 동일합니다. 차이는 id 조건의 유무입니다.-- A 조건explainSELECT id, user_id, lotto_round_id, lottery_numbers, created_atFROM lotto_lotteriesWHERE created_at >= '2025-05-22 00:00:00' AND created_at -- B 조건explainSELECT id, user_id, lotto_round_id, lottery_numbers, created_atFRO.. elastic search ingest 이 글은 Elasticsearch에서 Ingest Pipeline을 이용해 색인 전에 로그를 전처리하고, 이를 단건 색인과 벌크 색인에 적용하는 예시이다. Ingest 파이프라인 정의Logstash 없이도 간단한 파싱과 정규화를 클러스터 내부에서 처리해, 인덱스 스키마를 안정적으로 유지 할 수 있다.수집한 로그를 색인 전에 일관된 스키마로 가공한다. 예제 파이프라인은 다음을 수행한다.message가 JSON이면 루트로 펼친다(json).색인 시각을 ingested_at에 기록한다(set).문자열 log_time을 @timestamp로 변환한다(date).user_agent를 구조화한다(user_agent).client_ip로 GeoIP 정보를 붙인다(geoip).숫자형이 필요한 필드를 변환한다(con.. 이전 1 2 3 4 ··· 10 다음