Top all-time · #9012
Aliaksandr Valialkin
Personal blog · valyala.medium.comprogrammingsystems
Aliaksandr Valialkin's personal blog at valyala.medium.com covers programming and systems. Since 2020, 9 different Hacker News readers have linked it 32 times, most often “Go Evolves in the Wrong Direction”. It is still writing: the last post was on 2025-04-17, and you can follow it by feed.
Too few sampled comments (7) to say how often HN recommends it.?
Why HN links it
HN readers link Aliaksandr Valialkin's posts on time series databases: high-cardinality TSDB benchmarks, a PromQL tutorial, and a critique of WAL durability claims in TimescaleDB and PostgreSQL.
Summarised by Claude from a sample of 7 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.
Most-linked posts?
- /high-cardinality-tsdb-benchmarks-victoriametrics-vs-timescaledb-vs-influxdb-13e6ee64dd6b4 people · 4 mentions · first linked 2020-12-05
- /measuring-vertical-scalability-for-time-series-databases-in-google-cloud-92550d78d8ae2 people · 4 mentions · first linked 2020-12-05
- /wal-usage-looks-broken-in-modern-time-series-databases-b62a627ab7042 people · 3 mentions · first linked 2024-07-01
- /promql-tutorial-for-beginners-9ab4551420852 people · 3 mentions · first linked 2020-11-11
- Go Evolves in the Wrong Direction2 people · 2 mentions · first linked 2024-06-11
What Hacker News says?
Very well written article! I remember the time when I was tuning Postgresql for achieving the maximum possible ingestion speed for ad analytics data. I end up with the following recommendations - https://gist.github.com/valyala/ae3cbfa4104f1a022a2af9b8656b... . After that I discovered ClickHouse and forgot about all this performance tuning, since ClickHouse could ingest the same as analytics data at 10x higher speed…
Comment linking /billy-how-victoriametrics-deals-with-more-than-500-billion-rows-e82ff8f725da
on “Loading a trillion rows of weather data into TimescaleDB”Submitted Go Evolves in the Wrong Direction as a story · 10 points
HN discussionVery good post! We at VictoriaMetrics try following similar practices: - Constantly think on how to simplify the code. - Keep external dependencies to the minimum - https://valyala.medium.com/stripping-dependency-bloat-in-vic... . We have public development goals, which outline these practices - https://docs.victoriametrics.com/goals/ Sometimes we have to complicate the code: - when this simplifies the usage of Vict…
Comment linking /stripping-dependency-bloat-in-victoriametrics-docker-image-983fb5912b0d
on “Long Term Software Development”Submitted Go Evolves in the Wrong Direction as a story · 2 points
HN discussionClickHouse is great OLAP database with outstanding performance! It can be used for collecting and querying observability data [1]. But it may be hard to properly design database schema for ClickHouse for storing general-purpose observability data. That's why we created VictoriaMetrics - purpose-built time series database, which is based on ClickHouse architecture ideas [2]. It just works out of the box without the n…
Comment linking /measuring-vertical-scalability-for-time-series-databases-in-google-cloud-92550d78d8ae
on “TimescaleDB vs. Amazon Timestream”Submitted Prometheus vs. VictoriaMetrics benchmark on node_exporter metrics as a story · 1 points
HN discussionSee also VictoriaMetrics vs TimescaleDB vs InfluxDB benchmarks: - https://valyala.medium.com/measuring-vertical-scalability-fo... - https://valyala.medium.com/when-size-matters-benchmarking-vi... - https://valyala.medium.com/high-cardinality-tsdb-benchmarks-...
Comment linking /high-cardinality-tsdb-benchmarks-victoriametrics-vs-timescaledb-vs-influxdb-13e6ee64dd6b
on “TimescaleDB vs. Amazon Timestream”What about comparing TimescaleDB to VictoriaMetrics? There are some old benchmarks [1], but it would be great to see updated benchmarks as well for the latest TimescaleDB and VictoriaMetrics versions. [1] https://valyala.medium.com/measuring-vertical-scalability-fo...
Comment linking /measuring-vertical-scalability-for-time-series-databases-in-google-cloud-92550d78d8ae
on “TimescaleDB vs. Amazon Timestream”Horizontally scalable systems are usually slower than single-node solutions because of overhead on passing data between nodes. We at VictoriaMetrics clearly see this - cluster version of VictoriaMetrics needs up to 2x more CPU and RAM resources comparing to a single-node version for achieving the same performance. Single-node VictoriaMetrics provides almost perfect vertical scalability though. Its' performance scale…
Comment linking /billy-how-victoriametrics-deals-with-more-than-500-billion-rows-e82ff8f725da
on “TimescaleDB vs. Amazon Timestream”It is extremely unbecoming to lie about who you are on this forum. Scalability is defined differently depending on context; in this context (a monitoring/time series solution) it is defined as being able to hold a dataset larger than a single machine that scales horizontally. Downsampling the data or transforming it does not meet that criteria, since that’s no longer the original data. The way Prometheus “scales” to…
Comment linking /measuring-vertical-scalability-for-time-series-databases-in-google-cloud-92550d78d8ae
on “Monarch: Google’s Planet-Scale In-Memory Time Series Database”At first, let's give the definition of `time series`. This is a series of (timestamp, value) pairs ordered by timestamp. The `value` may contain arbitrary data - a floating-point value, a text, a json, a data structure with many columns, etc. Each time series is uniquely identified by its name plus an optional set of {label="value"} labels. For example, temperature {city="London",country="UK"} or log_stream {host="f…
Comment linking /promscale-vs-victoriametrics-resource-usage-on-production-workload-91c8e3786c03
on “TimescaleDB vs ClickHouse”It looks like Influx-IOx and Apache Druid have many common base building blocks. The main difference is that Influx-IOx is optimized for time series workloads, while Apache Druid is optimized for analytical workloads. While time series workloads can be treated as analytical workloads in most cases, time series databases usually provide specialized query languages such as Flux, InfluxQL, PromQL [1] or MetricsQL [2] t…
Comment linking /promql-tutorial-for-beginners-9ab455142085
on “InfluxDB is betting on Rust and Apache Arrow for next-gen data store”There is more mature ClickHouse database [1]. This is column-based OLAP database, which provides outstanding query performance (it can scan billions of rows per second per CPU core) and outstanding on-disk data compression (up to 100x if proper table configs are used). ClickHouse also scales horizontally to multiple nodes. Comparing to QuestDB, ClickHouse consistently shows high performance on a wide range of query…
Comment linking /how-victoriametrics-makes-instant-snapshots-for-multi-terabyte-time-series-data-e1f3fb0e0282
on “InfluxDB is betting on Rust and Apache Arrow for next-gen data store”That’s its promise, e.g. https://valyala.medium.com/high-cardinality-tsdb-benchmarks-... FWIW, we are in the process of considering it as a single monitoring plane for multiple clusters with high cardinality metrics
Comment linking /high-cardinality-tsdb-benchmarks-victoriametrics-vs-timescaledb-vs-influxdb-13e6ee64dd6b
on “Fly’s Prometheus Metrics”I don't agree with your https://valyala.medium.com/wal-usage-looks-broken-in-modern-... article in at least a couple ways. One specific reason: > TimescaleDB relies on PostgreSQL’s WAL mechanism, which puts data into WAL buffers in RAM and periodically flushes them to WAL file. This means that the the data from unflushed WAL buffers is lost on power loss or on process crash. That links to the manpage which says "The…
Comment linking /wal-usage-looks-broken-in-modern-time-series-databases-b62a627ab704
on “A write-ahead log is not a universal part of durability”LSM trees do not need write-ahead log in general case: - When new data arrives, it is converted to SSTable, which is then stored to disk in an atomic manner before returning 'success' to the client, who writes the data. If computer crashes in the middle of write, no problems - the partially written SSTable will be dropped on database start, since it isn't registered in the database yet. - When computer crashes in th…
Comment linking /wal-usage-looks-broken-in-modern-time-series-databases-b62a627ab704
on “A write-ahead log is not a universal part of durability”A good example of database, which relies on LSM tree properties for protecting against data corruption on unclean shutdown is VictoriaMetrics [1]. [1] https://valyala.medium.com/wal-usage-looks-broken-in-modern-...
Comment linking /wal-usage-looks-broken-in-modern-time-series-databases-b62a627ab704
on “A write-ahead log is not a universal part of durability”Go applications can be built into static self-contained binaries, which don't need extra dependencies. These binaries can run inside `scratch` Docker container, which doesn't take additional space. So it is easy to create small Docker images (less than 10Mb) with such binaries. See, for example, the following article - https://valyala.medium.com/stripping-dependency-bloat-in-vic...
Comment linking /stripping-dependency-bloat-in-victoriametrics-docker-image-983fb5912b0d
on “Can I have a smaller Prometheus”Once I've read this, I never had to think twice on what to use. https://valyala.medium.com/high-cardinality-tsdb-benchmarks-...
Comment linking /high-cardinality-tsdb-benchmarks-victoriametrics-vs-timescaledb-vs-influxdb-13e6ee64dd6b
on “TimescaleDB 2.7 vs. PostgreSQL 14”It would be great conducting a benchmark between Promscale and VictoriaMetrics similar to this one - https://valyala.medium.com/prometheus-vs-victoriametrics-ben... . It differs from TSBS in the following aspects: * It is based on real-world data instead of synthetic data. * It measures resources usage (RAM, CPU, disk IO, disk space) during production-like load instead of measuring peak performance under the maximum…
Comment linking /prometheus-vs-victoriametrics-benchmark-on-node-exporter-metrics-4ca29c75590f
on “An Update on PromQL Compatibility Across Vendors”Hey! I recommend to check post from VictoriaMetrics CTO https://valyala.medium.com/promql-tutorial-for-beginners-9ab... and this guide https://docs.victoriametrics.com/guides/migrate-from-influx.... . Also there is nice post from Logz.io https://logz.io/blog/influxql-to-promql-grafana-dashboard-co... which contain a converter https://github.com/logzio/influxql-to-promql-converter
Comment linking /promql-tutorial-for-beginners-9ab455142085
on “Wikimedia's Public Grafana Instance”If you are looking for a good replacement for InfluxDB, then take a look at VictoriaMetrics. It accepts data in Influx line protocol [1] and it needs less RAM and disk space comparing to InfluxDB [2]. [1] https://docs.victoriametrics.com/#how-to-send-data-from-infl... [2] https://valyala.medium.com/insert-benchmarks-with-inch-influ...
Comment linking /insert-benchmarks-with-inch-influxdb-vs-victoriametrics-e31a41ae2893
on “Monitoring Microservices with Prometheus and Grafana”Agreed that PromQL and MetricsQL have limited querying capabilities comparing to SQL or InfluxQL. But they cover the most of use cases for analyzing time series measurements, and allow writing much simpler queries than InfluxQL or Flux for these particular cases [1]. [1] https://valyala.medium.com/promql-tutorial-for-beginners-9ab...
Comment linking /promql-tutorial-for-beginners-9ab455142085
on “InfluxDB Cloud shuts down in Belgium; some weren't notified before data deletion”It's unusual to read that InfluxDB is fast and efficient. Did you try VictoriaMetrics? It usually needs 10x less RAM than InfluxDB for the same workload, especially when the number of active time series is high. It also uses less CPU and disk space on the same production workload. [1] [1] https://valyala.medium.com/insert-benchmarks-with-inch-influ...
Comment linking /insert-benchmarks-with-inch-influxdb-vs-victoriametrics-e31a41ae2893
on “InfluxDB Cloud shuts down in Belgium; some weren't notified before data deletion”VictoriaMetrics core developer here. Intetesting paper! It mentions VictoriaMetrics, but doesn't compare its write and read performance and scalability to Mach. It would be great performing such a comparison, since VictoriaMetrics should scale better than both Prometheus and ImfluxDB (the systems used in performance comparisons) with the number of available CPU cores according to [1]. It looks like Mach maintains an…
Comment linking /measuring-vertical-scalability-for-time-series-databases-in-google-cloud-92550d78d8ae
on “Mach: A Pluggable Metrics Storage Engine for the Age of Observability [pdf]”> VictoriaMetrics is a layer on top of Prometheus from a quick read. Sorry, but you're wrong! VictoriaMetrics was built from scratch with own ideas [1][2] and never was build on top of Prometheus. Yes, it use some libs which are used in Prometheus/InfluxDB/othe open source projects but thats all. More over VictoriaMetrics team has created own query language, named MetricsQL which is inspired by PromQL [4]. > I manag…
Comment linking /open-sourcing-victoriametrics-f31e34485c2b
on “μMon: Stupid simple monitoring”From your link: > By default VictoriaMetrics doesn't limit the number of stored time series. They have put out some benchmarks showing VictoriaMetrics ingesting 40M time series: https://valyala.medium.com/high-cardinality-tsdb-benchmarks-...
Comment linking /high-cardinality-tsdb-benchmarks-victoriametrics-vs-timescaledb-vs-influxdb-13e6ee64dd6b
on “CERN swaps out databases to feed its petabyte-a-day habit”VictoriaMetrics has many users, who successfully migrated from InfluxDB. It supports data ingestion via Influx line protocol, so you can continue using Telegraf and sending the collected metrics to VictoriaMetrics instead of InfluxDB. You get the following benefits after the migration from InfluxDB to VictoriaMetrics: - Reduced memory usage by up to 10x [1]. - Reduced disk space usage. - Higher query performance. -…
Comment linking /insert-benchmarks-with-inch-influxdb-vs-victoriametrics-e31a41ae2893
on “Ingest OpenTelemetry metrics with Prometheus natively”