/cattledb

Timeseries Store on BigTable

Primary LanguagePythonMIT LicenseMIT

Cattle DB

Code style: black

Fast Time Series Database Implementation.

CattleDB can store timeseries data in typical cloud NoSQL databases. At the moment Bigtable (GCP) and DynamoDB (AWS) storage backends are implemented. Data can be queried by time ranges very efficiently.

CattleDB can be used as a library in projects or as a standalone service with a REST/gRPC backend to put/get data.

Installation

Recursive option is needed to build the C speedups.

git clone --recursive https://github.com:smaxtec/cattledb.git
devenv shell

Run tests against bigtable-emulator container

devenv shell
run-cattledb-tests

Compile Python protobuf files

devenv shell
compile-protobuf-files

Build cattledb container

devenv shell
build-cattledb-container

Build container and run tests inside container manually

docker build . -t cattledb-test
docker run -it cattledb-test
service bigtable-server start
export BIGTABLE_EMULATOR_HOST="localhost:8080"
/app/.venv/bin/pytest tests -vv