
Explore ClickHouse, a fast open-source analytical dbms, covering installation, ClickHouse SQL, table engines, cluster setup with replication and sharding, and integrations with Kafka and data lakes.
Explore ClickHouse, a fast open-source OLAP DBMS built as a columnar store for mega datasets; learn its SQL interface, replication, distributed processing, and integration with Kafka, S3, and MySQL/PostgreSQL.
Install Clickhouse on your personal computer or server, or use managed options, and set up a client-server architecture; use the quick install script for testing or pre-compiled deb/rpm for production.
Connect to a ClickHouse server via the web UI on http port 8123 or the ClickHouse client on tcp port 9000, and run interactive or batch queries with multi-line input.
Learn to run Clickhouse on Kubernetes using the Altinity operator to deploy a single-node cluster with persistent storage and access via the Clickhouse client and play UI.
Install the DBeaver community edition as an optional tool to connect to a ClickHouse database, test the connection, and run SQL queries in the editor.
Connect to the ClickHouse server, create a demo database and sample table using the merge table engine, insert data, and run simple select queries, then drop the table or database.
Discover why ClickHouse is fast: the merge tree storage engine with columnar data and primary indexing enables rapid reads; explore projections, data skipping indexes, compression, and vectorized, distributed query processing.
Download and extract the opencellid dataset, 40 million rows, create a sample_underscore_dataset database and a cell_underscore_towers table with 14 columns, and load data in batch mode to run queries.
Install and connect ClickHouse via command line and GUI, interact with loaded data, and master ClickHouse SQL, including data types, operators, DQL, DDL, DML, joins, and materialized views.
Explore ClickHouse SQL, its ANSI-like dialect, and how keywords, identifiers, clauses, and expressions form queries. Learn to run examples with the ClickHouse client and understand dql, ddl, and dml.
Explore ClickHouse data query language by constructing select statements with from, where, group by, and order by clauses, and practice with limit and distinct examples.
Understand ClickHouse views, including regular, parameterized, and materialized types, how to create them with ddl statements, and how each stores and queries data differently.
Explore ClickHouse joins and unions, including inner, left, right, full, and cross joins, with on clauses and related columns, plus union all and distinct results.
Explore the supported data types in Clickhouse, including numeric types (integers, unsigned integers, floating point, decimals), strings, dates and date times, plus arrays, tuples, and nested schemas.
Explore clickhouse string data types, including string and fixed string, with fixed strings limited by a predefined byte length. See how insertion handles encoding and padding with null bytes.
Learn how ClickHouse stores calendar dates with date and date32, and timestamps with date_time and date_time64, including time zone handling and precision.
Explore arrays and tuples in ClickHouse, create arrays with the array function or square brackets, support multidimensional arrays and nulls, and declare tuples with the tuple function.
Explore the nested data type in Clickhouse, storing semi-structured data in a structured table with a nested column and subcolumns, and reading with the dot operator.
Explore ClickHouse geo data types, including point, ring, polygon, and multipolygon, stored as 64-bit coordinates and arrays, then see a table example inserting these values.
Learn how the map data type in Clickhouse stores key value pairs in a table, with keys as string, integer, date, or enum, and how to read values by key.
Design a ClickHouse table for wearable metrics by choosing data types for fields like device id, owner, gender, timestamp, heart rate, oxygen saturation, distance, steps, calories, position, altitude, and unit.
Explore how the merge table engine family in ClickHouse organizes data on disk, enabling replication, sharding, and data skipping for workloads, including collapsing and aggregating merge trees and replicas.
Explore why the merge tree names the ClickHouse table engine, and how data parts are created in a data path and merged over time into a hierarchical structure.
Explore how the merge tree engine merges data parts by sorting on the primary key, creating new data paths and discarding old parts, guided by index granularity and granule concepts.
Explore how ClickHouse organizes merge tree data in the data directory, including primary index, binary and Mach files, and wide versus compact formats determined by min bytes for wide part.
Review how the primary index file stores the first row of each granule in ClickHouse, with data sorted by the primary key ID and fixed versus adaptive index granularity.
Explore how primary key and order by keys shape sorting and the primary index file in merge table engines, including cases where primary keys are prefixes of sorting keys.
Master the syntax to create a merge tree table, including optional if not exists, database, on cluster options, column definitions, ttl rules, and order by and sample by.
Explore the non replicated plain merge table engines in ClickHouse. Compare aggregating merge tree, collapsing merge tree, and versioned engines with practical examples.
Explore replacing merge tree engine in ClickHouse, learn how deduplication uses sorting keys and the final keyword to keep the latest row for each key, with version and is_deleted options.
Explore the summing merge tree engine in ClickHouse, which consolidates rows sharing a sorting key into a single row by summing numeric columns during background merge.
Understand aggregating merge tree engine, which reduces rows with the same sorting key into a single row storing aggregating states, and uses state and merge combinators for insertions and reads.
Explore how the collapsing merge tree engine uses a sign column with values minus one or plus one to collapse state and cancelled rows, enabling updates and deletes in ClickHouse.
Explore the version collapsing merge Streetable engine in Clickhouse, a versioned variant for continuously changing data using a version and sign column with background merges.
Discover how data skipping indexes in ClickHouse boost performance by skipping granules. Learn types like min max, set, and bloom filter indexes, and how to configure granularity and index expressions.
Explore clickhouse's four engine categories, focusing on log engines and special table engines that solve specific problems, enabling RAM storage and web-server file access with various formats.
Learn how the merge table engine in ClickHouse enables parallel reading from multiple similar tables, with no inserts, and view data sources via the virtual _table column.
Explore the set table engine in ClickHouse, storing data in RAM with optional disk persistence and enabling reads via the in clause rather than select.
Explore the memory table engine in ClickHouse, where data lives in RAM and is lost on restart, ideal for testing but limited for large datasets.
Learn how the generate random table engine in ClickHouse creates on-the-fly random data for a simple schema, supports select queries, and enables inserting random rows into other tables for testing.
Explore the url table engine in ClickHouse, which reads from a remote http(s) server and translates select to get and insert to post, with url, file type, compression, and auto-detect.
Explore clickhouse dictionaries as in-memory key-value structures that replace joins for faster lookups. Load them from external sources, refresh automatically, and define them via SQL for efficient querying.
Learn how the log family in ClickHouse enables lightweight, append-only tables with three engines—tiny log, log, and stripe log—each lacking replication and mutations, emphasizing multi-thread reading through mark files.
Describe data replication in ClickHouse using Zookeeper-based replicated tables, with leader-follower dynamics, macros for replica identity, and how inserts propagate to replicas to ensure consistency.
Explore how to shard a Clickhouse table with the distributed table engine, splitting data across multiple nodes for parallel queries and scalable storage, using shard keys, weights, and hashing.
Learn to replicate a sharded two-shard, two-replica ClickHouse cluster using zookeeper, replicated merge tree, and distributed tables; configure, deploy, and verify data distribution.
Explore how to set up a Docker-based MySQL instance and connect it with ClickHouse using the MySQL table engine to read and write data seamlessly.
Explore how the PostgreSQL table engine in Clickhouse enables seamless read and write operations to a Postgres database, using docker compose to set up and access data.
Explore how ClickHouse uses the Apache Kafka table engine to publish and pull messages from Kafka topics via materialized views in a docker-based demonstration.
ClickHouse integrates with cloud storage like AWS S3 to store, read, and analyze data, enabling data archival, ingestion, and cloud-based queries via S3 table and queue engines.
Create and manage Clickhouse users and roles using create, alter, drop, grant, and revoke statements, with a default user, role-based access control, and the ability to list users.
Explore how ClickHouse roles act as containers for privileges and assign permissions to users, including creating, granting, revoking, altering, and dropping roles with practical examples.
Create and assign a settings profile to roles and users in ClickHouse, customize settings such as max threads, view existing profiles, and drop profiles.
Explore a real-world clickhouse rbac scenario with admin, data owner, and dashboard roles, including permissions, quotas, and async insert settings on a fresh server.
Configure a ClickHouse server by managing global and query level settings in config.xml and users.xml, using XML or YAML formats, and test custom SQL underscore settings with get setting function.
Explore how the system database in ClickHouse hosts read-only system tables stored in RAM to monitor, troubleshoot, and configure the server.
Discover how to back up and restore clickhouse tables with full and incremental backups, stored locally or on AWS S3 or Azure Blob, with optional compression and encryption.
Explore Clickhouse local, a lightweight tool that runs without a full server to query local files using the file engine across multiple formats for development and testing.
Learn how the Clickhouse benchmark tool connects to a server, repeatedly runs queries, and reports metrics like queries per second, rows per second, and execution time percentiles.
Learn ClickHouse®, the fastest and the most powerful database that can easily handle Petabytes of data! ClickHouse is an Open-Source columnar data store developed by ClickHouse Inc. Some of the highlights of this course are
All lectures have been designed from the ground up to make the complex topics easy to understand
300+ SQL examples demonstrated in the video lectures
Precise and informative video lectures
200 + Quiz questions and counting
Assignments
Covers a wide range of topics in ClickHouse
After completing this course, you will be able to
Install and work with ClickHouse
Query the data using ClickHouse SQL
Understand the internals of the MergeTree family of table engines and variants of this engine
Know the different special engines and Integrations with external data sources
Learn about Data replication and Sharding in ClickHouse
Administer and manage a ClickHouse server
This course will provide you with solid practical Skills in ClickHouse and it can be used as learning material for the ClickHouse® certifications. The instructor is an experienced ClickHouse professional and has authored a book on ClickHouse and conducted multiple live training sessions in ClickHouse.
This course will be updated periodically and enroll now to get lifelong access to this course!
Course Update History
17-01-2025 - Added new videos on ClickHouse Quick Start and Why ClickHouse is fast. Replaced the old videos for ClickHouse integration engines with new/updated ones. Added new video on S3 & S3 Queue engine
27-11-2024 - Removed the Optional Chapter on SQL functions
06-10-2024 - Cleaned up the old videos on Log table engine. Added a new video on choosing the MergeTree table engine.
02-10-2024 - Added a new video on ClickHouse on Kubernetes (using Altinity ClickHouse Operator). Updated the video lectures on the first chapter
01-07-2024 - Replaced the old video lectures on Special table engines. Added a new video for Dictionaries in ClickHouse. Combined the sections on Log engines and special table engines into a single section.
22-06-2024 - Replaced the video lectures on Data replication and Sharding with updated content
25-05-2024 - Added a separate section for RBAC. Updated the videos on RBAC and the section on ClickHouse Administration.
04-05-2024 - Replaced the old video lectures on the MergeTree engine family with the new ones
11-02-2024 - Added a new section on ClickHouse SQL. Replaced the old videos for ClickHouse data types.
14-01-2024 - Added a brand new section on MergeTree table engine basics. Contains ~44 minutes of new course content with 11 Video lectures.
12-09-2023 - Brand new videos in Section 1 (Installation, CH in Docker, connecting to CH server, DBeaver, Loading a dataset, and conclusion)
03-08-2023 - New course promo video and a new video on Course intro and ClickHouse Intro (Section 1)
01-08-2023 - Added an assignment on ClickHouse MergeTree engines
16-07-2023 - Added an assignment on ClickHouse SQL functions
04-07-2023 - Added an assignment on ClickHouse SQL - Part 1
25-06-2023 - Split the MergeTree table engine video lecture into three parts
11-06-2023 - Added quiz on Geo data types, map data type, and data skipping indexes
08-05-2023 - Added video lectures on Geo and Map data types. Added an exercise on designing a table.
Disclaimer: All trademarks, logos, and brand names are the property of their respective owners. All company, product, and service names used in this course are for identification purposes only. Use of these names, trademarks, and brands does not imply endorsement. Golden Clover Education and the instructors of this course are not affiliated with ClickHouse Inc.