Skip to content
This repository has been archived by the owner on Mar 24, 2020. It is now read-only.

sparcedge/turbinedb

Repository files navigation

Turbine DB

Scala code base for the turbine database, which is a low latency, time-series, event driven, columnar database.

Applications Powered by TurbineDB

  • Any Viz - A simple, query builder for TurbineDB written in Clojure.
  • Data Loader - A project to help load data into TurbineDB.
  • Hack Viz - A GitHub commit visualizer using TurbineDB.
  • OSX Usage Stats - MacOS X memory and application usage stats powered by TurbineDB and written in Python.
  • VMStats TurbineDB - A Scala app to logs data from the vm_stats command into TurbineDB.

If you would like to showcase your usage of TurbineDB please submit a pull request for inclusion.

Prerequisites

Getting Started

Download Project References

$ sbt update

Generate Eclipse Project

$ sbt eclipse

Compile

$ sbt compile

Test

$ sbt test

Run

$ sbt run

Package (Create Jar)

$ sbt one-jar

Run Benchmarks (Google Caliper)

$ sbt benchmark/run

Basic Use

Insert Event

POST: http://localhost:8080/db/mydatabase/mycollection 

{
	"timestamp": <timestamp>,
	"data": {
		"cpu": 43.2,
		"ram": 56.9
	}	
}

Queries

Only a reducer is required.

GET: http://localhost:8080/db/mydatabase/mycollection?q=<query>

{
	"start": <timestamp>, // Optional
	"end": <timestamp>, // Optional
	"extend": [
		{"ext-value": ["add", "segment1", ["mul", "segment2", "segment3"]]}
	], "match": [ // Optional
		{"ram": {"gt": 50}}
	], "group": [ // Optional
		{"duration": "hour"}
	], "reduce": [ // Required
		{"ram-avg": {"avg": "ram"}}
	]
}

Notifications

Query needs to be URI encoded [eg: encodeURIComponent(query) in node/js console]

GET: http://localhost:8080/db/mydatabase/mycollection?m=<query>

License

This project is Copyright (c) 2015 SPARC and open sourced under the GNU GPL v3.0.

About

turbineDB - Time Series Analytics Database

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages