The Time Series Database is about Reducing Complexity
When we set out to build a time series database for our customers, we wanted to accomplish two design objectives:
- Simplify the data collection process
- Simplify dashboarding, reporting, and analytics
We’re now at a stage where the Axibase Time Series Database is able to deliver on both counts, and here’s an example.
Lets take a data source that is a) passive and b) non-standard. A data source that is passive cannot be instrumented to stream data into ATSD on its own. A data source that is non-standard provides data in neither CSV nor JSON format.
An HMTL file hosted by a SharePoint reporting server returning HTML text with an .xls extension will work well for this showcase.
Energinet.dk market data reporting service fits the bill well. Energinet is Denmark’s all in one energy regulator and operator. They perform research and development into sustainable energy, collect industry data, and participate in policy action. Publicly available datasets about Denmark’s energy industry can be downloaded at http://energinet.dk/EN/El/Engrosmarked/Udtraek-af-markedsdata/Sider/default.aspx
The recurring effort involved in analyzing this data and preparing a report would be quite substantial.
Enter the Axibase Time Series Database.
With ATSD you don’t have to stage a database, design table schema, provision an application server, and write programs to parse and digest this type of files. Instead, you can simply configure a scheduled job to fetch the file from a specified endpoint and have ATSD parse it according to pre-defined rules. Once you have raw data in ATSD, creating and sharing reports with built-in widgets is fairly trivial. The reports will be continuously updated as new data comes in.
The built-in visualization also allows you to combine wildcards, aggregators, and simple control functions to build a fairly complex report in less than 50 lines:
- for/endfor loop: create a set of similar widgets for different metrics
- inheritance: apply similar settings to all widgets
- group-statistics: merge multiple series
- group-period: aggregate data by month
- endtime: syntax to align start/end times to calendar units
- offset: setting to overlay data from previous comparable intervals onto one chart
- layout settings: arrange, style, and format graphs
Imagine how much time and effort it would take with traditional reporting tools!