FendoDB timeseries database
Overview
FendoDB is a fork of the OGEMA timeseries database (SlotsDB), adding the following features:
- multiple database instances
- tagging time series / adding semantic information
- a full-fledged REST interface
- administrative shell commands
- query statistics about individual time series and groups of time series
- a visualization tool
- supports Java permissions
- besides the default one-file-per-day mode, other base intervals can be configured, such as hours, weeks or months
It is best used with OGEMA, but can be integrated in a standalone Java-application as well. Some features are only available when used with OGEMA (REST user permissions, visualization), or at least with OSGi (REST interface, shell commands). See Usage.
FendoDB requires Java 8 or higher.
Getting started
Using Docker
Using OSGi
Download the run configuration rundir-ogema-felix, and start it using one of the provided start scripts (see https://github.com/smartrplace/osgi-run-configs for more information on configuration options). The rundir contains the compiled FendoDB bundles in the folder init
.
Use the REST interface or the shell commands to create a database instance and to add data points, or open the visualization page at https://localhost:8443/org/smartrplace/slotsdb/visualisation/index.html in the Browser.
See the Wiki for more information.
API reference
There is a Java API and a REST interface, and in addition a set of shell commands for the Gogo OSGi shell.
Build
Prerequisites: git, Java and Maven installed.
- Clone this repository
- In a shell, navigate to the base folder and execute
mvn clean install -DskipTests