Ask HN: State of Timeseries Databases in 2024
Our product stores a lot of (sensoric) time series data. We currently store it using InfluxDB. We started about a decade ago, and back then, InfluxDB was the simplest and best option out there. A big plus was their focus on open source.
However, since then InfluxData seems to have shifted their open source focus more and more to enterprise and cloud (v3 that they are currently working on still afaik does not have an open source version).
As we've been having trouble with InfluxDB randomly simply stalling and not accepting any writes or reads, and also taking into account the painful migration to v2, and now probably another painful migration to v3, we are looking around for alternatives.
Since we started, we've grown so now scalability is more important for us as well.
One option we've been looking at is VictoriaMetrics, which seems quite good.
HN, what time series databases should I certainly look at when trying to find an alternative for InfluxDB?
(
11 comments
| 7 points
| on HN
)
VictoriaMetrics is awesome. Clickhouse is another popular choice if you need more flexible model and would like SQL
Both victoria metrics and questdb are compatible (ingestion-wise) with the InfluxDB Line protocol, so migration would be smoother than with other databases. Just point the old ingestion script to the new server URL, and data will start flowing in.
Taking a broader view, the time series database landscape is split into three categories (sorry for adding complexity!):
1. Observability (metrics from your hardware): Prometheus, and other engines that work well with Prometheus such as Victoria Metrics. I think their language is tightly coupled with PromQL. InfluxDB 1.X and 2.X used to be in this camp and were the market-leading solution for observability before Prometheus came along and got incredible adoption. Chronosphere built with m3db is also a big name in this category.
2. General purpose: TimescaleDB is built on top of Postgres, and is now seen increasingly as a super postgres that can also deal with time series data, amongst other things (now focusing on vectors as well).
3. Specialized: kdb+, QuestDB, some OLAP databases that can also do time series (Clickhouse & Druid), and perhaps InfluxDB 3.0 even though it's not OSS yet. Here the focus is on performance, and the data loads tend to be more significant. Industries and use cases often paired with demanding data loads, such as financial services, often require such specialized databases. Some have their prop language (kdb+ with Q), some are closed source (kdb+), and others are OSS & use SQL (questdb, clickhouse, druid). InfluxDB 3.0 also uses SQL (from DataFusion's query engine) but is not OSS yet.
For us it seems VictoriaMetrics is the most logical replacement at the moment, as like you say it supports line protocol as well
From what I could find however deployment gets quite complex when you want sharding/replication, it really doesn't like deduplication of data and storage might be up to 3x larger than InfluxDB.
Other than that, it was in my top 3 (VictoriaMetrics, Clickhouse, QuestDB).
[1] https://benchmark.clickhouse.com/#eyJzeXN0ZW0iOnsiQWxsb3lEQi...
InfluxDB is a great project, but as you said, the v3 migration is painful and is still WIP. About the performance, We already did some benchmark GreptimeDB vs. InfluxDB v2, you can find it in our blog.