|
|
|
|
|
by lmickh
1372 days ago
|
|
Interesting test, but I find some of these benchmarks kind of miss the point. Even Grafana's. The appeal of Thanos/Cortex/Mimir is the long term object storage. The value isn't that it is simpler or cheaper to run. The value is that I can compare data to months if not years ago. It can cost much more than the price of the instances to store good metrics over time even when the data is rolled up. Scaling the read/write path separately has a lot of benefits as well too, but I would guess that doesn't come up often for most folks. How much telemetry you can get in/out of your system over a day is important, but how much you can get in/out of it over years is overlooked. |
|
- Object storage space usually costs 2x-8x less than block storage space.
- Object storage has up to 100x highest latency for data access than block storage (hundreds of milliseconds for object storage vs milliseconds for block storage).
- Block storage usually has much lower network-related error rate comparing to object storagr. For example, it is quite common practice to retry reading data from object storage on network errors, while block storage-based filesystems are much more reliable for this aspect in major cloud providers.
- Cloud providers tend to charge every read operation for object storage, while reading from block storage is free. This point is usually overlooked when estimating costs for block storage vs object storage.
Given these differences, block storage usually provides better performance than object storage. Block storage also can cost less than object storage when the stored data is read frequently.
VictoriaMetrics is optimized for HDD-based block storage, so there is no need to use more expensive SSD-based block storage in most cases. Additionally, VictoriaMetrics compresses production metrics 2x-10x better than Prometheus-like solutions, which store data to object storage (Thanos, Cortex, Grafana Mimir). This also reduces long-term storage costs.
On top of this, enterprise version of VictoriaMetrics can be configured to downsample historical data, so it will take less disk space [1].
[1] https://docs.victoriametrics.com/#downsampling