Hacker News new | ask | show | jobs
by manishsharan 637 days ago
I have been meaning to ask the observability experts this question:

Why not dump all metrics , events and logs into Clickhouse ? and purge data as necessary? For small to medium sized businesses/solution ecosystem, will this be be enough ?

2 comments

Very different tools, applications almost don't intersect actually.

ClickHouse is an analytical database (for events). Yes, you can do metrics in there (or PostgreSQL for that matter). Observability has their own needs, so specialized solutions work better, more integrations and out-of-the box tooling already provided.

With generic databases it's more like a constructor that you'd need to develop a lot to become workable. For example, let's say you have 50m active time series, with 1%/hour churn rate. What would be the database structure in ClickHouse? (my answer is that I don't know. I know mostly VictoriaMetrics, and there's no such question there, the structure is already implemented).

It'll work. Clickhouse has even experimental support for storing prometheus metrics natively. A big missing piece is alerting.
ClickHouse is great for logs and traces, however, for metrics, it is still in the early phase. ClickHouse is also a general purpose, real time analytics database. See clickhouse.com. Whereas Oodle is specifically built for end-to-end metrics observability.
Curious to know what you mean by "early phase" here.
ClickHouse recently got the support of TimeSeries table Engine [1]. It is marked as experimental, so yes - early stage. This engine is quite interesting, the data can be ingested via Prometheus remote write protocol. And read back via Prometheus remote read protocol. But reading back is the weakest part here, because Prometheus remote read requires sending blocks of data back to Prometheus, where Prometheus will unpack those blocks and do the filtering&transformations on its own. As you see, this doesn't allow leveraging the true power of ClickHouse - query performance.

Yes, you can use SQL to read metrics directly from ClickHouse tables. However, many people prefer the simplicity of PromQL compared to the flexibility of SQL. So until ClickHouse gets native PromQL support, it is in the early stages.

[1] https://clickhouse.com/docs/en/engines/table-engines/special...

Not a fan of bad mouthing other offerings. As @iampims is saying, alerts is a big missing piece. Clickhouse is also a general purpose database for many use cases including analytics, financial servers, ML& Gen AI, fraud, and observability.