- Reduced memory usage by up to 10x [1].
- Reduced disk space usage.
- Higher query performance.
- Better query language than InfluxQL and Flux for typical queries over collected metrics [2].
- Compatibility with Prometheus ecosystem.
See also InfluxDB -> VictoriaMetrics migration guide [3].
[1] https://valyala.medium.com/insert-benchmarks-with-inch-influ...
[2] https://docs.victoriametrics.com/MetricsQL.html
[3] https://docs.victoriametrics.com/guides/migrate-from-influx....
[0]: https://prometheus.io/docs/operating/integrations/#remote-en...
If you try to use Prometheus as a native push system and push directly, it'll work but you might not have the best experience. https://prometheus.io/docs/prometheus/latest/querying/api/#r...
VictoriaMetrics, Cortex, Mimir are centralised data stores that accept data from multiple Prometheus, but you could also run headless agents scraping and sending the data.
Note if you are on a version before 2.44, try upgrading. Prometheus slimmed down a bit.
[I am a Prometheus and Mimir maintainer]
VM won hands down on pretty much all counts. It's easy and simple to operate and monitor, it scales really well and you can plan around how you want to partition and scale each component, it's incredibly cheap to run as performace is superior to the others, even when backed by spinning HDDs vs the other solutions on SSDs.
It's especially easy to operate on Kubernetes using their CRDs and operators.
I am not associated with Victoria Metrics in any way, just a happy user and sysadmin who ran it for a few years.
Operational nightmare, expensive to run, various parts of the entirely-too-many moving pieces it contains broke all the time and the performance was…unimpressive.
I‘ve heard that some people manage to run this thing successfully, and power to them, but I want nothing more to do with it.
Just save yourself the pain and use Victoria Metrics. Added benefit: you get an implementation of a rate function that’s actually correct.