-
Notifications
You must be signed in to change notification settings - Fork 8.3k
ClickHouse roadmap 2026 #93288
Copy link
Copy link
Open
Description
This is the ClickHouse roadmap 2026.
This roadmap does not cover the tasks related to infrastructure, orchestration, documentation, marketing, external integrations, drivers, etc.
See also:
Roadmap 2025: #74046
Roadmap 2024: #58392
Roadmap 2023: #44767
Roadmap 2022: #32513
Roadmap 2021: #17623
Roadmap 2020: link
Roadmap 2019: link
Roadmap 2018: link
Query Engine
- Parallel replicas for Merge tables Parallel replicas are not implemented for
Mergetables #67770 - Materialized CTE Materialized CTE #61086
- Optimization by combining aggregation with topK
- Optimization of aggregation with flat combining Speed up GROUP BY for large states #79428
- Cache for deserialized columns
- Cascades cost-based optimizer for JOINs
- Using partition key to optimize JOINs
- Using partition key to optimize DISTINCT, IN, GROUP BY, and LIMIT BY
- Runtime filters for JOINs by default
- Optimization of anti-joins: LEFT JOIN ... WHERE ... IS NULL to NOT IN
- Deriving index condition from the right-hand side of INNER JOIN
- Support for certain SQL functions without parentheses Allow certain functions without parentheses in SQL #52102
- Optimizations for a single dictionary in LowCardinality [RFC] Use global
LowCardinalitydictionary for optimizations if it is small enough #72717 - Block-level hints WIP Add Sorting Optimization with General Data Hints #48800
- Query cache for subqueries Can the features of Query Cache support subqueries? #51656
- Query cache for partial results Use query cache when a query shares most of the query pipeline. #57490
- On-disk query cache Allow using
cachedisk for query result cache. #52141 - Improvements for the query condition cache
- Streaming queries Streaming queries model with cursors #63312
- Enable JIT compilation on macOS
- Query plan caching [RFC] Query plan caching #93812
Resiliency
- Automatic external memory for DISTINCT and LIMIT BY
- Automatic external memory for IN
- Automatic external memory for JOIN Auto spilling join #97813
- Memory configuration in the workload scheduler Workload scheduling: Memory reservations #82414
- GROUP BY in order by default
- Automatic selection of max_insert_threads
- Tracking the space in external memory
- Spill to S3 in addition to spill to the cache
- Allow the cancellation of scalar subqueries
Data Storage
- Text index in GA
- Unique key constraint RFC: Unique key constraint #70589
- Automatic LowCardinality columns Automatic
LowCardinalityrepresentation of columns #69916 - Compact statistics storage
- Statistics by default automatically create minmax + uniq statistics for new columns #101275
- Virtual shards on top of shared storage ☁
- Automatic buckets in Map data type #99200
- Transactions for Replicated tables
- Scoring in the text index
Data Lakes
- Metadata caching for Parquet files
- Support arbitrary nesting in database and table names Support arbitrary nesting in database and table names. #71171
- Support for case-insensitive database, table, and column names A setting to allow case insensitive column, table and database names. #33935
- Support for deletion vectors in Iceberg v3
- Query Condition Cache for data lakes
- Lazy columns reading for data lakes
- Data Lake catalogs in GA
- Automatic cluster functions for subqueries
- Support for AWS S3 Tables
- Support for Google BigLake
- Plain Rewritable metadata storage to support hard links
- Materialized views on top of data lakes
- Background merges for data lakes ☁
Interfaces
- Allow interactive queries to finish in the background Allow interactive queries finish in the background #49683
- Configurable query rewrite rules Query rewrite rules (RFC) #80084
- PromQL dialect in GA
- Support for Arrow Flight SQL
- Kafka2 in GA
- Configuration of query handlers with SQL
- Remote and Cloud database engines
Remotedatabase engine #59304 - Drivers for UDFs Drivers for User-Defined Functions #71172
- WebAssembly UDFs
- API for query construction Add combining http parameters with queries, new handler for accessing tables as files #64336
- Even simpler data upload Even simpler data upload. #38775
- Passing input data to the url table function Support input data for reading from the
URLtable engine #45994 - Framing formats for query results
- Predictive autocomplete in the CLI Autocomplete #69641
Cleanups
- Remove old analyzer
- Remove old predicate pushdown mechanics
- Remove the hypotheses index
- Remove Parquet reader v1
- Remove or fix Kusto (KQL)
- Remove Window View in favor of streaming queries
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels