Skip to content

ClickHouse engineering resources


  • How to engineer cost-efficient open source observability with ClickHouse (ClickStack) - 2026 technical playbook

    A technical guide for engineers to build a cost-efficient observability stack. Learn how to use ZSTD codecs, Materialized Views, and Tiered Storage with ClickHouse to reduce observability data footprint by 10x.

    Last updated: Jan 7, 2026

  • Build a dashboard in Python with ClickHouse and Streamlit

    In this guide, you'll learn how to build a Python dashboard using ClickHouse and Streamlit. We'll create a real-world example that visualizes Bluesky social media data, walking through everything from basic setup to interactive visualizations. Perfect for data scientists and analysts who want to share their insights through custom dashboards.

    Last updated: Jun 2, 2025

  • Instrumenting OpenAI with OpenTelemetry (OTel)

    In this guide, we’ll learn how to instrument the OpenAI client with OpenTelemetry (OTel) so that we can generate and collect observability data about our LLM calls.

    Last updated: Aug 1, 2025

  • Real-time data visualization

    This guide is all about real-time data visualization. We'll explore how it differs from normal visualization, see some examples, and learn about the tools we can use.

    Last updated: Apr 11, 2025

  • What is a columnar database?

    A columnar database stores each column on disk separately to cut I/O and compress aggressively. Here is what that means in practice and when to use one.

    Last updated: May 25, 2026

  • Best AlloyDB alternatives in 2026 for enterprise PostgreSQL workloads

    AlloyDB alternatives compared for 2026: Aurora, RDS, Neon, Crunchy Bridge, and ClickHouse Managed Postgres with benchmarks, tradeoffs, and decision criteria.

  • ClickHouse concurrency: how to size for user-facing analytics

    How to size ClickHouse for high-concurrency, user-facing analytics: turn active users into query load, benchmark under production-like conditions, and configure per-query limits, admission controls, workload scheduling, and replicas.

    Last updated: Jul 2, 2026

  • When to denormalize, when to join: A ClickHouse guide

    Denormalization and normalization are both valid analytical data-modeling strategies. A decision framework for choosing where to denormalize, where to join, and which ClickHouse primitives bridge the gap.

    Last updated: Jun 26, 2026

  • How to scale vector search in Postgres (pgvector) for RAG and AI agents: memory limits, filtering, and when to go hybrid

    Scale vector search in Postgres with pgvector: avoid HNSW RAM limits, fix filtering recall, and know when to go hybrid. Read now.

    Last updated: Jun 18, 2026

  • How to query a REST API in Python

    Read a JSON API response into a DataFrame with chDB. Use the pandas API you already know to filter and aggregate the response, running on ClickHouse's engine with no server to start.

    Last updated: Jun 15, 2026

  • How to convert Parquet to ORC

    Convert a Parquet file to ORC with one clickhouse-local command. The schema is read from the Parquet footer and the types carry into ORC, with no server and no upload.

    Last updated: Jun 6, 2026

  • How to query a REST API with SQL

    Run SQL straight against a live JSON or CSV HTTP endpoint with clickhouse local — fetch, filter, aggregate and join the response in one statement, with no download step.

    Last updated: Jun 15, 2026

  • Parse url-encoded form data with SQL

    Turn an application/x-www-form-urlencoded body like a=1&b=hello into a queryable row with clickhouse local, with no parsing code and no import step.

    Last updated: Jun 15, 2026

  • What is Protobuf?

    Protobuf (Protocol Buffers) is a schema-first, compact binary serialization format. This page explains its structure, the .proto schema requirement, and proves it by writing and reading a real Protobuf file.

    Last updated: Jun 15, 2026

  • Run SQL across multiple CSV or Parquet files

    Query a whole directory of CSV or Parquet files as one table with clickhouse-local. A glob path reads them all, aggregates run across every file, and a virtual column tells you which file each row came from.

    Last updated: Jun 15, 2026