Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/wuttem/cattledb
Timeseries Store on BigTable
https://github.com/wuttem/cattledb
Last synced: about 2 months ago
JSON representation
Timeseries Store on BigTable
- Host: GitHub
- URL: https://github.com/wuttem/cattledb
- Owner: wuttem
- License: mit
- Created: 2018-03-19T21:47:16.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2022-11-24T07:04:33.000Z (about 2 years ago)
- Last Synced: 2024-08-04T00:02:40.128Z (5 months ago)
- Language: Python
- Size: 293 KB
- Stars: 1
- Watchers: 3
- Forks: 4
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: changelog.md
- License: LICENSE
Awesome Lists containing this project
- awesome-bigtable - Cattle DB - Timeseries store built on top of Bigtable. (Tools / Databases)
README
# Cattle DB #
[![Build Tests](https://github.com/wuttem/cattledb/actions/workflows/python-package.yml/badge.svg)](https://github.com/wuttem/cattledb/actions/workflows/python-package.yml)
[![Mentioned in Awesome Bigtable](https://awesome.re/mentioned-badge-flat.svg)](https://github.com/zrosenbauer/awesome-bigtable)Fast Time Series Database Implementation.
CattleDB can store timeseries data in typical cloud noSQL databases.
At the moment bigtable and dynamodb 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:wuttem/cattledb.git
pip install ./cattledb
```## Run Docker Emulator for Tests on Machine
```bash
docker run -it -p 8080:8080 spotify/bigtable-emulator:latest
export BIGTABLE_EMULATOR_HOST=localhost:8080
pytest tests
```## Build and Start Tests in docker
```
docker build . -t cattledb-test
docker run -it cattledb-test bash
service bigtable-server start
export BIGTABLE_EMULATOR_HOST="localhost:8080"
pytest tests
```## Compile python protobuf file
```bash
# RUN
python -m grpc.tools.protoc --python_out=./cattledb/grpcserver --grpc_python_out=./cattledb/grpcserver --proto_path=./protos cdb.proto
# cd to .\cattledb\grpcserver\cdb_pb2_grpc.py
# change line
import cdb_pb2 as cdb__pb2
# to
from . import cdb_pb2 as cdb__pb2
```## Build and Push cattledb docker
```bash
docker build . -t mths/cattledb:latest
docker tag mths/cattledb:latest mths/cattledb:0.1
docker push mths/cattledb
```## Development Build / Upload
```
python setup.py sdist
twine upload dist/*
```