Skip to content
Lightweight time-series storage
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
apidoc
common
data
demo
integration_tests
registry
rollups
sample_conf
scripts
vendor
web
.gitignore
.travis.yml
Dockerfile
LICENSE
NOTICE
README.md
config.go
docker-compose.test.yml
docker-compose.yml
go.mod
go.sum
init.go
main.go
router.go
service_registration.go

README.md

Historical Datastore

GoDoc Docker Pulls GitHub tag (latest pre-release) Build Status

LinkSmart Historical Datastore is a modular service for time-series data storage. It is designed to store timeseries data on low powered devices and single board computers. It uses Sensor Measurement Lists (SenML) as the data format for storage and retrieval. Metadata related to the series is stored in Historical Datastore's registry.

Run

Use -conf flag to set the config file path. If not set, ./conf/historical-datastore.json will be used.

./historical-datastore -conf historical-datastore.json

Docker

amd64 images are built and available on Dockerhub. To run the latest:

docker run -p 8085:8085 linksmart/hds

Images for other architectures (e.g. arm, arm64) can be build locally by running:

docker build -t linksmart/hds .

Demo mode

To run Historical Datastore in demo mode (with continuously growing dummy senml data)

docker run -p 8085:8085  linksmart/hds -demo -conf /conf/docker.json

Development

The dependencies of this package are managed by Go Modules.

Code structure

The code consists of four packages locate at:

  • / - implementation of a standalone service providing full API.
  • /registry - implementation of Registry API
  • /data - implementation of Data API

Compile from source

git clone https://github.com/linksmart/historical-datastore.git
cd historical-datastore
go build -mod=vendor -o historical-datastore
You can’t perform that action at this time.