Welcome to our ClickHouse knowledge base. Browse the articles below organized by topic, or use search to find what you need.
Guides
In-depth guides covering architecture, features, and operational best practices.
- ClickHouse Architecture: How the Fastest Analytics Database Works Under the Hood
- ClickHouse Cloud Pricing Guide: Understanding Costs, Tiers, and Self-Managed Alternatives
- Tour of the ClickHouse Cloud UI: Console, SQL Editor, and Monitoring
- Using Projections with ClickHouse: Pre-Aggregation and Alternative Sort Orders
- ClickHouse Approximate Methods: Trading Accuracy for Speed at Scale
- Using CASE Expressions in ClickHouse Queries
- ClickHouse Backup: Safeguarding Your Data
- ClickHouse System Tables: Monitoring and Introspection
- ClickHouse Documentation and Knowledge Base
Table Engines
MergeTree Family
The core engine family for production ClickHouse tables — sorted, partitioned, and optimized for analytical workloads.
- Understanding MergeTree in ClickHouse
- ReplacingMergeTree in ClickHouse: Efficient Data Deduplication
- SummingMergeTree in ClickHouse: Efficient Aggregation Engine
- AggregatingMergeTree in ClickHouse: Efficient Data Aggregation
- CollapsingMergeTree in ClickHouse: Efficient Data Deduplication
- VersionedCollapsingMergeTree in ClickHouse
- GraphiteMergeTree in ClickHouse: Efficient Time Series Data Storage
Replicated Engines
Replicated variants of the MergeTree family for high availability and fault tolerance.
- ReplicatedMergeTree in ClickHouse: A Comprehensive Guide
- ReplicatedReplacingMergeTree in ClickHouse
- ReplicatedSummingMergeTree in ClickHouse
- ReplicatedAggregatingMergeTree in ClickHouse
- ReplicatedCollapsingMergeTree in ClickHouse
- ReplicatedVersionedCollapsingMergeTree in ClickHouse
Integration Engines
Engines that connect ClickHouse to external systems.
- ClickHouse Kafka Engine: Integrating Streaming Data
- RabbitMQ Engine in ClickHouse
- MySQL Engine in ClickHouse: Integration and Usage
- ClickHouse JDBC Engine: Connecting to External Databases
- ClickHouse ODBC Engine: Connecting to External Databases
- S3 Engine in ClickHouse: Efficient Data Storage and Retrieval
- What is ClickHouse HDFS Engine?
- ClickHouse URL Engine: Accessing Remote Data Sources
Log Engines
Lightweight engines for small tables and write-once data.
- ClickHouse Log Engine: Efficient Storage for Write-Once Data
- ClickHouse StripeLog Engine: Efficient Storage for Write-Once Data
- TinyLog Engine in ClickHouse: A Lightweight Storage Solution
Special Engines
Purpose-built engines for specific use cases.
- ClickHouse Buffer Engine: Efficient Data Insertion and Processing
- ClickHouse File Engine: Efficient Data Storage and Retrieval
- ClickHouse Join Engine: Efficient Data Joining Mechanism
- ClickHouse Merge: Combining Data Efficiently
- ClickHouse Null Engine: Purpose and Usage
Concepts & Architecture
Core concepts, components, and architectural building blocks.
- ClickHouse Architecture: Understanding the Columnar Database Design
- What is a ClickHouse Cluster?
- ClickHouse Keeper: Distributed Coordination Service
- ClickHouse Server: The Core Component of ClickHouse DBMS
- ClickHouse Client: Command-Line Interface for ClickHouse
- ClickHouse Copier: Efficient Data Migration Tool
- Understanding and Optimizing ClickHouse Memory Usage
- ClickHouse Materialized View: Definition, Best Practices, and FAQs
- ClickHouse View: Definition, Best Practices, and FAQs
- ClickHouse Live View: Real-Time Data Monitoring
- ClickHouse Dictionary Data Structure
- ClickHouse External Dictionary
- ClickHouse Executable Dictionary: Dynamic Data Integration
- ClickHouse Executable Pool: Efficient Query Execution Management
System Logs
- ClickHouse Query Log: Tracking and Analyzing Query Performance
- ClickHouse part_log: Tracking Table Part Operations
- ClickHouse trace_log: Understanding System Tracing
Settings
Configuration settings for tuning performance, behavior, and resource limits.
Query Execution
- ClickHouse max_threads Setting
- ClickHouse max_execution_time Setting
- ClickHouse max_block_size Setting
- ClickHouse preferred_block_size_bytes Setting
- ClickHouse optimize_move_to_prewhere: Enhancing Query Performance
- ClickHouse optimize_throw_if_noop Setting
- ClickHouse optimize_skip_unused_shards Explained
- ClickHouse log_queries: Tracking and Analyzing Query Execution
- ClickHouse allow_experimental_analyzer Setting
Memory & Resources
- ClickHouse max_memory_usage Setting
- ClickHouse enable_memory_tracker Setting
- ClickHouse preferred_block_size_bytes Setting
Data Types & Ingestion
- ClickHouse allow_suspicious_low_cardinality_types Setting
- ClickHouse insert_deduplication_token Setting
- ClickHouse insert_quorum Setting
- ClickHouse dictionaries_lazy_load Setting
Joins
Profiles
Functions & Operators
Aggregate Functions
- count
- count(DISTINCT)
- countIf
- sum
- sumIf
- avg
- avgIf
- min
- minIf
- max
- maxIf
- any
- anyHeavy
- argMin
- argMax
- topK
- topKWeighted
- groupArray
- groupUniqArray
- windowFunnel
Unique Counting Functions
Statistical Functions
String Functions
Date & Time Functions
Conditional Functions
Window Functions
Errors & Troubleshooting
Connection & Authentication Errors
- DB::Exception: Connection refused
- DB::Exception: Access denied
- DB::Exception: User does not exist
- DB::Exception: Wrong password
- DB::Exception: Cannot read from socket
- DB::Exception: Too many simultaneous connections
Replication & Distributed Errors
- DB::Exception: Cannot create a new ZooKeeper session
- DB::Exception: Replica is lost
- DB::Exception: Unknown status of replica
- DB::Exception: No active replicas
- DB::Exception: Shard is unavailable
- DB::Exception: ZooKeeper node exists
- DB::Exception: Table is in readonly mode
- DB::Exception: Distributed query execution failed
Parts & Merge Errors
- DB::Exception: Too many parts
- DB::Exception: Too many parts (merge is lagging)
- DB::Exception: Cannot merge parts
- DB::Exception: Part is already merged into another part
- DB::Exception: Part is not in expected state
- DB::Exception: Merge is manually disabled
Data & Type Errors
- DB::Exception: Cannot convert
- DB::Exception: Type mismatch
- DB::Exception: Not found column
- DB::Exception: Data too large for column
- DB::Exception: Nested type mismatch
- DB::Exception: Table structure does not match
- DB::Exception: Cannot parse DateTime
- DB::Exception: Cannot parse JSON
- DB::Exception: Division by zero
Query & Function Errors
- DB::Exception: Unknown function
- DB::Exception: Aggregate function requires parameters
- DB::Exception: Invalid number of arguments
- DB::Exception: There is no query for id
- Syntax error: failed at position X