ClickHouse March 2024 Release – v24.3 LTS

Pic Courtesy – Pexels

24.3 LTS

ClickHouse has released the latest Long Term Support release (version 24.3). Unsurprisingly, the ClickHouse community has come up with another rocking release laden with many new features, bug fixes, and enhancements. Let us look at the important ones in this article.

New Features

Tar file support for Backup/Restore

ClickHouse has supported Zip file format to save and restore the table backups. Starting from 24.3 LTS, Clickhouse supports Tar file format for backups and restoring backups.

BACKUP TABLE <table_name> TO Disk('<disk_name>', '<backup_file_name>.tar')

RESTORE TABLE <table_name> FROM Disk('<disk_name>', '<backup_file_name>.tar')

Support for AWS S3 Express On Zone buckets

AWS S3 express one zone is a special class of storage bucket that promises higher reads per second, lower latency, and lower availability at a higher cost compared to the S3 standard. So the existing libraries for S3 support are updated to extend for this new storage class.

Attach parts from another Disk

While ClickHouse has supported attaching new tables from a remote server, a new feature to attach data parts/partition from another disk is added. This enables us to directly attach the data parts from another source instead of doing an INSERT INTO … SELECT … This can save a lot of time since the data need not be processed again to store it on the disk.

Limit on the number of waiting queries

A new setting called max_waiting_queries is introduced to limit the maximum number of queries in the queue due to async_load_databases.

New table for Keywords

A new table is introduced called system.keywords, which contains the keywords from the SQL parser. However, keywords are not reserved in ClickHouse.

Performance Improvements

  • 256-bit integers can be printed faster
  • Reusable HTTP/HTTPs connections with external services like AWS S3
  • Aggregate functions improvements – argMin() , argMax() , any() , anyLast() , anyHeavy()
  • Drain multiple connections in parallel when a distributed query finishes
  • Memory optimization on array joins and other joins

Other Enhancements

  • output_format_pretty_row_numbers is enabled by default
  • Enable processors profiling
  • MergeTree is now the default table engine
  • File format names are case insensitive. (CSV, Csv, cSV etc are all valid now)
  • Virtual columns can be used PREWHERE clause
  • ClickHouse Keeper will abort startup if an invalid snapshot is detected instead of dropping the snapshot