The year 2018 approaches the end. It has been a great year for ClickHouse and the ClickHouse community – a lot of events, new features and interesting projects. Now it is time to see what is next. ClickHouse development team lead by Alexey Milovidov unveiled some plans and allowed us to share them with you.

There is some time left before the New Year still, and new features can sill arrive. There were rumors that next release is going to be published on December 31st, though it may be ready earlier as well. The following features are planned there:

HDFS import/export via table functions

Parquet file format support for importing/exporting data. That makes it easier to integrate ClickHouse with Hadoop ecosystem.

Column level compression/encoding. The initial release will include lz4, zstd and delta encoding. Double delta, Gorilla and blosc algorithms are to be released later.

Ability to add new columns to MergeTree storage engine index. This is especially useful for Summing/Aggregating MergeTree tables that require all non-aggregated columns to be in the index

The first 2019 major releases will bring the following integration extensions.

Security and fine grained access control is a highly desirable feature by many companies, and ClickHouse will properly support it in Q1/2019:

Table, column and row level security

RBAC access control model

Pluggable external authentication (LDAP, Kerberos)

MergeTree is the core ClickHouse technology and it will be improved further for even better performance and usability. Q1-Q2/2019 plans include:

Adaptive index granularity for MergeTree tables

Secondary index structures (min/max, bloom filter)

Using index for better ORDER BY / GROUP BY performance

This year there was a lot of work done already on improving ClickHouse support of SQL joins. In Q2-Q3/2019 it is going to be continued, both in terms of SQL standard compliance and better performance. That includes:

Multi-table joins

Merge join for big tables

Bucket-shuffle algorithm for distributed joins

ASOF joins for time series data

Resource pools and support for multiple storage volumes were planned for 2018 but delayed in favor of other features. Those are still in the plan for Q2-Q3/2019 with resource pools coming first:

Resource pools (fine grained CPU, memory, network, RAM allocation)

Layered storage HDD/SDD for cold/hot data

JBOD storage support

ClickHouse has been being criticized sometimes for limited support of geospatial data structures. We can not expect it to be as feature rich as PostGIS, but some extensions for geospatial applications are planned for Q3/2019, though the priorities may be changed, and it may appear earlier:

Geohash support

Polygonal dictionaries

Amongst other things that ClickHouse development team has plans to work on, we would like to highlight two in particular:

Advanced algorithms for searching strings, making it more full-text-search-friendly

Machine learning algorithms as aggregate functions. That opens up a lot of possibilities so we are eager to see how it works.

This is just a list of projects that the core development team is going to work on. There are many community contributors who add significant features to ClickHouse as well. Altinity is going to be active there too – we have several ClickHouse projects and code contributions planned for 2019 that will make ClickHouse easier and safer to use.