-
Notifications
You must be signed in to change notification settings - Fork 7.9k
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
Resiliency
- Automatic external memory for DISTINCT and LIMIT BY
- Automatic external memory for IN
- Automatic external memory for JOIN
- Memory configuration in the workload scheduler [WIP] 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
- Virtual shards on top of shared storage ☁
- ShardedMap data type Add shards to data type
Map#47045 - 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
Metadata
Metadata
Assignees
Labels
No labels