ClickHouse May 2024 Release – v24.6

We explore how the data is migrated from Kafka to ClickHouse database using Vector tool. We can also use the same tool for Nginx and K8s.

Introduction

Every new release includes new features, enhancements, and numerous bug fixes, and the ChistaDATA team always stays on top of the latest releases. On July, 2024, ClickHouse version 24.6 was released, and this version contains the following;

  • 23 new features,
  • 24 performance optimizations,
  • 59 bug fixes.

For further details, please see the official ClickHouse docs here.

This article will look at the critical features of the ClickHouse 24.6 release.

Comparison of IPv4 and IPv6

Add support for comparing IPv4 and IPv6 types using the = operator.

:) SELECT toIPv4('127.0.0.1') == toIPv6('::ffff:127.0.0.1')

1

:) SELECT toIPv4('127.0.0.1') == toIPv6('::1')

0

:) SELECT toIPv4('127.0.0.1') == toIPv6('::127.0.0.1')

0

Hilbert Curves

Added Hilbert Curve encode and decode functions.

CREATE TABLE t (x UInt32, y UInt32, ...)
ORDER BY hilbertEncode(x, y);

Inline Documentation For System Tables

Now you can read description of system parameters of ClickHouse.

:) SELECT table, comment FROM system.tables WHERE database = 'system'

Row 1:
──────
table:   aggregate_function_combinators
comment: Contains a list of all available aggregate function combinators,
which could be applied to aggregate functions and change the way they work.

Row 2:
──────
table:   asynchronous_insert_log
comment: Contains a history for all asynchronous inserts executed on
the current server.

Limits On The Number Of Tables

A new server settings:

  • max_database_num_to_warn, max_table_num_to_warn: The user will receive a warning in the client.
  • max_database_num_to_throw, max_table_num_to_throw: The user will receive an exception when attempting to create a new database or table beyond the limit.

An Option To Skip Secondary Indices On Insert

Accelerate INSERT operations and defer the computation of secondary indices to background merging processes.

SET materialize_skip_indexes_on_insert = 0;
SET materialize_statistics_on_insert = 0;
  • Beneficial when dealing with numerous indices.
  • Does not notably impact the efficiency of SELECT queries.

Conclusion

In summary, these updates, implemented by the ClickHouse database, represent a substantial stride forward in optimizing performance, scalability, and resource efficiency. By focusing on improving parallelism, cache locality, and reducing memory usage, ClickHouse has demonstrated a commitment to enhancing the user experience and meeting the evolving demands of modern data management. The introduction of new modes for distributed DDL output handling further underscores ClickHouse’s dedication to providing flexibility and control to its users. These updates collectively reinforce ClickHouse’s position as a leading solution for high-performance analytical workloads.

These are the ClickHouse 24.4 features. To find out more details, please visit the official ClickHouse Docs.

About Can Sayn 41 Articles
Can Sayın is experienced Database Administrator in open source relational and NoSql databases, working in complicated infrastructures. Over 5 years industry experience, he gain managing database systems. He is working at ChistaDATA Inc. His areas of interest are generally on open source systems.
Contact: Website