Local version of TStorage - high-performance, distributed, time-series database optimsed for IoT.
270
TStorage is a high-performance time-series database, optimized for measurement data — especially from sources such as IoT devices. It's built to handle versioned, timestamped records and supports fine-grained queries. A unique characteristic of TStorage is a 5-dimensional key that is well-suited to meet the needs of measurement systems. The key's components are listed below:
TStorage provides consistency guarantees for GET and PUT requests. It might happen that GET requests wants to read data from the same key range in which some PUT request is writing data. In general, it is not obvious what user might expect as a result of these GET operations. TStorage provides following consistency guarantees to facilitate correct data processing in this case:
Please note that above statements apply only under normal system operation.
While TStorage is a distributed database, this Docker image contains single node version - free for both personal as well as commercial use. Currently we support only 64-bit architectures (x86-64 and ARM 64). If you find any bugs, have problems with running our instance or want to share your feedback feel free to contact us at: [email protected].
Additionally, you may also write to us if you are interested in a full, distributed version of TStorage with additional capabilities. Both variations are compatible with each other from the tooling perspective, so you may freely test our demo database for your use-case and make decision about switching to full version at a convenient time.
docker run --name tstorage -d -p 2025:2025 -v /etc/localtime:/etc/localtime tstorage:{tag}
Image is designed to run TStorage database as non-root user.
Therefore, when using data persistence, it is necessary to ensure appropriate permissions.
The best practice is to use a docker volume.
To make data persistant you need to mount volume to container /sacks pat
When using a directory, remember to set the owner permissions to UID 1000 for the specific persistence directory
docker volume create tstorage_data
docker run -d -v tstorage_data:/sacks tstorage:{tag}
Logs are written to /var/log/tstorage/ inside container. Binding volume while container creating can give possibility to easily access them:
docker volume create tstorage_logs
docker run -d -v tstorage_logs:/var/log/tstorage tstorage:{tag}
Using environment variables you can configure TStorage parameters
docker run -d -e tstorage_cid_log2_width=0 -v ./data:/sacks tstorage:{tag}
More about possible parameters can be found in documentation.
docker stop tstorage
docker rm tstorage
docker volume rm tstorage_data tstorage_logs
volumes:
tstorage_data:
tstorage_logs:
services:
tstorage:
container_name: tstorage_database
image: tstorage:{tag}
volumes:
- tstorage_data:/sacks
- tstorage_logs:/var/log/tstorage
- /etc/localtime:/etc/localtime
ports:
- 2025:2025
environment:
tstorage_cid_log2_width: 0
tstorage_timeout_ms: 350000
Content type
Image
Digest
sha256:f5afda334…
Size
59.1 MB
Last updated
9 months ago
docker pull atendeindustries/tstorage:stable