All Products
Search
Document Center

ApsaraDB for ClickHouse:Release notes for community-compatible edition 26.3

Last Updated:Aug 03, 2026

This topic describes the major changes in Alibaba Cloud ClickHouse community-compatible edition 26.3 LTS, including new features, performance optimizations, and improvements.

Overview

Alibaba Cloud ClickHouse community-compatible edition releases the new long-term support (LTS) version 26.3. As a major annual release following 25.3 LTS, version 26.3 focuses on unified batch-streaming data lake, native inverted index, high-concurrency write stability, complex query optimization, and open ecosystem extensibility.

Key highlights

Category

Key improvements

Business value

Data lake ecosystem

Native Apache Paimon support and DataLakeCatalog auto-mounting

Seamless lakehouse queries with instant access for Flink CDC ingestion scenarios

Native inverted index

Inverted index GA with 7x to 10x improvement in log and text search

Replace external search engines to reduce storage and O&M costs

Data lake and OSS acceleration

Parquet footer SLRU cache and Iceberg metadata prefetching

2x to 5x speedup for I/O-intensive queries and OSS external table scans

Complex query optimization

Materialized CTE and intelligent JOIN reordering for all JOIN types

Significant improvement in complex reporting and multi-dimensional analysis

High-dimensional data and wide table TTL

Sharded Map with 2x to 49x point lookup improvement and TTL vertical merge

Lower point query latency and reduced memory overhead for background cleanup

Open ecosystem

Compatibility with 31 SQL dialects

Migrate cross-engine SQL workloads without code changes

Data lake ecosystem: Apache Paimon and unified Catalog

From 25.3 to 26.3 LTS, ClickHouse data lake analytics capabilities have been significantly upgraded:

  • Native Apache Paimon support: Version 26.3 LTS provides the native paimon table function and Paimon table engine (including cluster-parallel query through paimonCluster). You can perform efficient read-only analytics on Paimon tables stored in OSS, S3, or HDFS, which is ideal for Flink CDC data lake ingestion scenarios.

  • DataLakeCatalog auto-mounting: External metastores such as Hive Metastore, AWS Glue, and Alibaba Cloud DLF can be mounted directly as ClickHouse databases. The engine automatically detects Iceberg, Paimon, Delta Lake, and Hudi tables in the catalog without manual table creation.

  • Multi-dimensional data lake query acceleration:

    • Parquet footer SLRU cache: Enabled by default with use_parquet_metadata_cache = 1. I/O read requests can be reduced by up to 50% for repeated queries on the same Parquet files.

    • Iceberg metadata async prefetching: The iceberg_metadata_async_prefetch_period_ms parameter keeps local metadata fresh in the background, eliminating remote catalog bottlenecks.

    • S3Queue incremental pull: Ordered mode now uses StartAfter semantics to reduce ListObjects frequency, lowering OSS API costs and latency.

Full-text search: Native inverted index GA

The native inverted index and full-text search capabilities in 26.3 LTS are now production-ready (GA).

  • Multi-fold performance improvement: In text fuzzy matching and keyword search scenarios, cold query performance improves by 7x to 10x with the inverted index enabled. In the GitHub Events log query benchmark, complex search latency drops from 193 seconds to 0.42 seconds.

  • Seamless SQL compatibility: No external Elasticsearch or third-party search plugins are required. Create an index by using INDEX idx_text content TYPE inverted to automatically accelerate HAS(), LIKE / ILIKE, and JSON field extraction queries.

  • Low storage and compute costs: Based on the column-store inverted index structure of ClickHouse, the index size is much smaller than that of traditional search engines, which significantly reduces storage costs for log, trace, and text analytics scenarios.

Compute and optimizer

Materialized CTE

Version 26.3 LTS introduces the materialized CTE syntax. By using the MATERIALIZED keyword, ClickHouse stores CTE results in a temporary in-memory table to avoid redundant computation and improve the execution efficiency of complex reporting and multi-dimensional analysis SQL queries.

Example:

SET enable_materialized_cte = 1;

WITH top_users AS MATERIALIZED (
    SELECT user_id, count() AS cnt
    FROM events
    GROUP BY user_id
    ORDER BY cnt DESC
    LIMIT 1000
)
SELECT *
FROM top_users
INNER JOIN (SELECT user_id FROM top_users WHERE ...) ON ...;

Intelligent JOIN reordering for all JOIN types

The cost-based optimizer (CBO) in 26.3 LTS now supports automatic Build/Probe side swapping for LEFT ANTI JOIN, SEMI JOIN, and FULL JOIN, in addition to standard INNER JOIN and LEFT/RIGHT JOIN. The optimizer automatically builds the hash table from the smaller side based on table statistics, preventing out-of-memory (OOM) errors caused by improper manual SQL ordering.

Storage engine and data types

Sharded Map

For scenarios where the Map type stores user profile tags and dynamic features, version 26.3 LTS introduces a bucketed physical serialization layout. Single-key lookups improve by 2x to 49x because data within the Map is hash-bucketed by key.

Example:

CREATE TABLE user_profiles (
    id UInt64,
    attributes Map(String, UInt64)
) ENGINE = MergeTree
ORDER BY id
SETTINGS map_serialization_version = 'with_buckets', max_buckets_in_map = 32;

Wide table TTL cleanup: Vertical merge

Version 26.3 LTS introduces a vertical merge algorithm for TTL DELETE operations. The merge prioritizes primary key and TTL column filtering without reading irrelevant wide columns, which significantly reduces I/O and memory overhead during background data cleanup.

Adaptive lossless floating-point codec (ALP)

A new lossless floating-point compression codec CODEC(ALP, ZSTD) is available. ALP (Adaptive Lossless floating-Point) is optimized for Float32 and Float64 data in industrial monitoring and time-series metrics scenarios, delivering better compression ratios and decompression speed than the classic Gorilla encoding.

Open ecosystem: Cross-engine SQL dialect compatibility (Polyglot)

By integrating the open source Polyglot parsing library, version 26.3 LTS natively supports 31 external database SQL dialects, including Snowflake, BigQuery, PostgreSQL, Spark, Presto, and DuckDB. You only need to configure the following settings:

SET dialect = 'polyglot', polyglot_dialect = 'snowflake';

After that, you can reuse your existing SQL workloads.

Key performance optimizations

Query execution and optimizer

  • Query condition cache, expression JIT compilation, and JOIN runtime filters are enabled by default to reduce repeated scans and large table JOIN overhead.

  • RIGHT JOIN and FULL JOIN use ConcurrentHashJoin, with up to 2x performance improvement in some scenarios. A new JOIN ordering optimization automatically reorders multi-table JOINs based on statistics.

  • Primary key and partition key index pruning is extended: primary keys support arbitrary deterministic expressions for data skipping, and partition keys wrapped in deterministic function chains can still be pruned.

  • ORDER BY ... LIMIT N queries can significantly reduce scanned rows through skip indexes and dynamic threshold filters.

Storage engine and data skipping

  • Parquet reader v3 is enabled by default with page-level filter pushdown and PREWHERE support. Data lake reads automatically adjust pipelines based on processing threads, achieving approximately 40x improvement on multi-core machines.

  • Streaming skip index filtering during reads is enabled by default. Text indexes support more predicate forms and can be used in PREWHERE.

  • In heavy partition pruning scenarios, SELECT queries on tables with 10,000+ parts are up to 8x faster. Iceberg tables support PREWHERE optimization and async metadata prefetching.

Distributed and parallel execution

  • Parallel distributed INSERT SELECT is enabled by default and executed independently on each shard. Distributed IN subqueries automatically add DISTINCT to reduce cross-shard temporary data transfer.

  • Distributed index analysis supports SharedMergeTree and shared storage scenarios. Parallel replicas support lazy materialization with improved load distribution to reduce long-tail latency.

Functions and indexes

  • LIKE and regular expressions are automatically rewritten to more efficient implementations and enabled by default. StringZilla accelerates case-sensitive string search, and SIMD dynamic dispatch accelerates logical functions and boolean column conversion.

Memory, observability, and networking

  • Mark, uncompressed, and page caches use independent jemalloc arenas to reduce fragmentation. jemalloc dirty pages are cleaned in independent threads. System log tables add minmax and bloom_filter indexes to accelerate troubleshooting.

  • Block serialization and compression in distributed queries can be offloaded to pipeline threads to improve large-volume data transfer efficiency.

Performance benchmark: ClickBench comparison

Based on the official ClickBench version benchmark (Cold Queries perspective), version 26.3 LTS achieves continuous performance improvement compared to the previous LTS version 25.3:

Metric

Improvement of 26.3 LTS over 25.3 LTS

Cold query overall latency

8% to 15% reduction in total time

Data lake and storage scan

2x to 5x speedup for I/O-intensive queries and OSS external table scans

Wide table TTL compaction

Peak memory usage reduced by more than 40%

Text and log search

Complex search latency reduced from 193 seconds to 0.42 seconds with inverted index

High-dimensional Map point lookup

2x to 49x improvement in single-key lookup with sharded Map

Utility features

Version 26.3 LTS also includes a set of features that improve the development and O&M experience:

  • Natural sort (naturalSortKey): Sorts strings containing numbers in human-intuitive order. For example, file2.txt is correctly sorted before file10.txt.

  • Tree-form EXPLAIN output: Run EXPLAIN pretty=1, compact=1 to obtain a well-structured, visual execution plan tree.

  • Unavailable shard fault tolerance: The max_skip_unavailable_shards_num and max_skip_unavailable_shards_ratio parameters provide bounded control over the ratio of fault nodes that can be skipped during large table queries in a cluster.

Upgrade recommendations

Pre-upgrade preparation

  1. Clone or test environment verification: Deploy the new version in a cloned or test environment first to evaluate the impact of version changes on existing configurations and queries.

  2. Check dependency compatibility: Confirm the compatibility of client drivers and third-party tools with the new version.

Important notes

  • Experimental feature validation: Materialized CTE and Polyglot dialects are marked as Experimental in this version. We recommend that you validate these features in a test cluster before using them in production.

  • Performance regression testing: After the upgrade, compare the execution time of key queries to ensure that optimizations such as Parquet cache, inverted index, and JOIN reordering take effect.

  • Monitoring and alerting adjustment: Adjust monitoring thresholds based on new metrics and changes.

Summary

ClickHouse 26.3 LTS is a release of both breadth and depth:

  • At the data lake and open ecosystem level, native Paimon support and compatibility with 31 SQL dialects bridge lakehouse integration and cross-engine reuse.

  • At the query and analytics level, GA inverted indexes, materialized CTEs, JOIN reordering, and sharded maps significantly expand ClickHouse capabilities in log search, complex analysis, and high-dimensional point lookups.

  • At the stability and cost level, TTL vertical merge and ALP Codec reduce operational complexity across data cleanup and storage compression.

The Alibaba Cloud ClickHouse team has completed cloud adaptation and full compatibility verification for the community 26.3 LTS release. You can quickly create a 26.3 LTS instance or upgrade your existing instance to the latest version in the Alibaba Cloud ClickHouse console to experience more efficient and stable real-time analytics.