RavenDB Time Series Webinar recording (and benchmark results)

time to read 3 min | 455 words

The RavenDB Time Series webinar is now available, and as usual, I would love your feedback. This webinar had the most questions yet, including a few curve balls that I had to field midway through. It was fun.

I also gave some bad information during the webinar, and I want to apologize for that. I mentioned some benchmark results and it appear that I didn’t wait for the complete work to be done.

Using the time series benchmark set, RavenDB can get some really nice numbers. All the numbers were run on i3.xlarge machine:

image

The first benchmark was for a single value, across 100 different time series. RavenDB is actually faster here than the other two contenders combined. This is the most common scenario that we envisioned, and it was heavily optimized.

For the other scenarios (100 time series, with 10 measurements on each tick and 4,000 time series with 10 measurements with each tick) RavenDB does very nicely. It is significantly faster than InfluxDB, but not as fast as TimescaleDB in this scenario.

That said, when it comes to queries, we have a whole different ballgame. Here we have the following scenarios:

single-groupby-1-1-1

Simple aggregate (MAX) on one metric for 1 host, every 5 mins for 1 hour

single-groupby-1-1-12

Simple aggregate (MAX) on one metric for 1 host, every 5 mins for 12 hours

single-groupby-1-8-1

Simple aggregate (MAX) on one metric for 8 hosts, every 5 mins for 1 hour

image

Here we are running this on a small data set, with 100 time series with a single measurement. You see it properly, RavenDB is able to run this fast enough that we cannot measure the speed of the query.

image

When we have 10 measurements per time series, we put a little more effort of RavenDB, but it is still either the fastest or very nearly so.

When we increase the size of the data to 4,000 time series each with 10 measurements per tick, we see that RavenDB’s performance is effectively constant.

image

This is because RavenDB is being smart about how it runs queries and is able to do a lot of work upfront, significantly improving query time.

And this is before we gotten to the fact that you can run your indexes on time series data as well. Take a look at the webinar recording, I think you’ll be impressed.