- What are time series?
Time series is where the pattern of values tracked over time are the metrics you are looking to track. A single value usually doesn't matter.
What happens when you want to track the humidity in the local region with 10,000 IoT devices taking measurements every 10 seconds over a period of 6 months?
This involves dealing with a huge amount of data. You can have tens of thousands or even millions of data points for a single time series.
- How to Model Time Series in RavenDB
RavenDB is a document database. See how it works when you want to store time series database as a document. You can absolutely store data points in documents.
- The structure of a time Stamp
A single entity that happens at a single time frame. RavenDB gives you millisecond precision. Tags - you have free text - small set of value expected. Values - IEEE double precision float, 1-32 items.
- Querying over Time Series:
First, select the document(s) that match: Then, project the time series using aggregation, time slicing, etc.
- From the Client API
Everything is transactional. In RavenDB you have support for Bulk Insert.
- Complex Server-Side Processing
You can do really interesting things on the server side. You can compare two different time series on the same document. Queries are always on a single time series.
- Rolling up Data
RavenDB has support for Automatic roll up policies. You get transparent queries across roll ups. Every X time, you can roll up totals for the last Y time. For example, every hour, you can automatically generate tallies for the last six hours, 12 hours, 24 hours. Every day, you can get totals for the last week, month, 365 days. Each range can keep your minimum, maximum, sum, and count values.
- Estimating the Storage Requirement for your Time Series Data
The storage requirements can depend on how predictable your data is. RavenDB does a great job at optimizing the space you have available.
- Time Series in a Distributed Environment
RavenDB is multi-master. You can read and write to multiple nodes so you can accept data from many locations to a single time series. You have automatic merge. Conflicts are resolved in favor of the highest value.
Look into the future with time series data. Uncover patterns, find detailed information for forecasting and analysis, create charts to visualize your data and make the best business decisions with the most precise information.
The unprecedented amounts of data going through time series analysis demands that your database handle indexes skillfully. Making indexes automatically and on the fly becomes critical for managing IoT and time series data.
RavenDB is well up to the task:
- In one example, RavenDB aggregated over 11.7 million heartrate details over a 6-year period at a weekly resolution in under 50 milliseconds
- In another, RavenDB was able to aggregate a Time Series data set of over 150 million entries in under three seconds
While dedicated time series databases can match this performance, they need an army of nodes to do it. That can cost you dearly on the cloud. RavenDB can save you time, complexity, and money in accomplishing the same goals.
RavenDB also enables you to visualize your time series data by turning it into charts.
In this webinar, RavenDB CEO Oren Eini takes you on a tour of the flagship feature for RavenDB 5.0.
You will learn:
- Monitoring your Time Series Data with RavenDB
- Recording multiple values for a single timestamp
- Reading high level and deep level details about a time series stamp in a RavenDB Document
- Using the RavenDB Management Studio GUI for Time Series operations and analysis
- Querying data to see patterns emerging
- Creating charts with RavenDB Time Series