Getting started

Nibble consists of three components:
nibbledb - the database
nibblegw - a gateway for scaling the database
nibbleql - a REPL that provides an alternative to the Rest API for interacting with the database and gateway
All components run as Docker containers, therefore having this software installed is the only prerequisite for using the technology. Future work will make use of Kubernetes to help orchestrate the platform including how to restrict access to the database.
The tutorial will cover in more depth how to use Nibble but in its simplest form we can start a database as follows:
docker run -p 8000:8000 -it jptmoore/nibbledb
we can POST and GET data from it using the Rest API as follows:
curl --request POST --data '[{"value": 1}, {"value": 2}, {"value": 3}]' http://localhost:8000/ts/foo
In the above call we can see that we are posting some JSON values to a specific URL which has the format /ts/foo which means we are writing the values to a time series called foo.
curl http://localhost:8000/ts/foo/last/3
The data returned from the above query looks like:
[
{
"timestamp": 1598973056750453,
"value": 3
},
{
"timestamp": 1598973056750444,
"value": 2
},
{
"timestamp": 1598973056750443,
"value": 1
}
]
Note, that because we did not supply a timestamp with our values one was automatically generated to microsecond accuracy.