-- ClickHouse Initialization Script for Telecom CDR Ingestion Pipeline -- Database: telecom -- Table: telecom.cdr_records CREATE DATABASE IF NOT EXISTS telecom; CREATE TABLE IF NOT EXISTS telecom.cdr_records ( -- Identifiers cdr_id UUID, raw_id String, -- Subscriber msisdn String, imsi String, -- Session metadata service_type LowCardinality(String), radio_access_type LowCardinality(String), cell_id LowCardinality(String), -- Traffic bytes_uploaded UInt64, bytes_downloaded UInt64, total_bytes UInt64, duration_seconds UInt32, -- Timing session_start_time DateTime, session_end_time DateTime, -- Network source_ip IPv4, -- Audit processed_at DateTime64(3) DEFAULT now() ) ENGINE = ReplacingMergeTree(processed_at) PARTITION BY toYYYYMM(session_start_time) ORDER BY (service_type, radio_access_type, cell_id, session_start_time, msisdn) TTL session_start_time + INTERVAL 90 DAY SETTINGS index_granularity = 8192;