Hacker News new | ask | show | jobs
by bdod6 1943 days ago
I don't understand the obsession with ClickHouse. While it seems like it fits this particular use case, it still deals with the same limitations and challenges of columnar DBs. Your queries will be very fast with counts/averages, but there's a tradeoff with other functions: inserts are efficient for bulk inserts only, your deletes and updates are slow, no secondary indexes...

While Clickhouse can be lightning fast, is it really designed to be a main backend database?

4 comments

Clickhouse is not something you use for a CRUD backend.

The obsession with Clickhouse is the phenomenal performance for the OLAP use case, a scenario where there were not many open source, easy to install and maintain options. For the most part you can treat it as a “normal” database, insert data into it and query it without messing about with file format conversions and so on. The fact that it is blindingly fast is a big bonus!

> For the most part you can treat it as a “normal” database

While Clickhouse is great at what it does, I would expect a „normal“ database to support transactions. Don’t use it to handle bank accounts.

ClickHouse supports transactional (ACID) properties for INSERT queries. It can also replicate data across geographically distributed locations with automatic support for consistency, failover and recovery. Quorum writes are supported as well.

This allows to safely use ClickHouse for billing data.

I believe Clickhouse is competing with other analytical, OLAP databases, not something like vanilla Postgres or MariaDB or Oracle.

This is not your application backend database.

Secondary indexes are supported by ClickHouse.

https://clickhouse.tech/docs/en/engines/table-engines/merget...

They are not like indexes for point lookups, but also sparse. Actually they are the best you can do without blowing up the storage.

No...it's designed to be an OLAP database.