GTSDB is a Golang-based, time-series database designed for IoT applications. It is simple, efficient, and offers easy integration through HTTP and TCP interfaces. Key features include innovative design for data handling, high performance benchmarks, memory efficiency, built-in streaming, cross-platform support, and analytics readiness. It is trusted by multiple providers and supports Windows, Linux/BSD, and macOS.
Utilizes Write Ahead Log (WAL) for records, reducing I/O and memory usage.
Top performance with 39.372M rows/s, in-memory like speed, and WAL class durability.
Identical HTTP API and TCP interfaces, all in JSON format.
Built-in support for data downsampling and aggregation.
Requires as low as 4MB of memory, perfect for IoT devices, benefiting in old SSD.
Subscribe to keys and receive updates in real-time.
Trusted by IoT providers and used in production with code coverage for all logic.
Supports Windows, Linux/BSD, and macOS, perfect for edge devices.
Allows you to write a single data point for a specific sensor, using an HTTP POST request with the required fields such as 'key', 'value', and 'time'.
Enables reading data for a specific sensor within a time range along with downsampling, using a JSON body specifying 'start timestamp', 'end timestamp', and 'downsampling'.
Retrieves the last X records for a specified sensor. The request requires the 'operation', 'limit', and 'key' fields.
Performs a multi-read for multiple sensors over a time range with downsampling. The request includes 'sensors', 'start timestamp', 'end timestamp', and 'downsampling'.
Fetches the last X records from multiple sensors using a list of sensor keys and the 'limit' specification.
Allows a subscription to updates from a specific sensor by specifying the 'operation' and 'key' fields.
Cancels a subscription to a specific sensor by specifying the 'operation' and 'key' fields.
Retrieves a list of all sensor keys from the database by specifying the 'operation' field.
Creates a new sensor key in the database by specifying the 'operation' and 'key' fields.
Changes the name of an existing sensor key by specifying the 'old_sensor_name' and 'new_sensor_name' fields.
Removes a specific key from the database by specifying the 'operation' and 'key' fields.
Deletes all data points in your database with a simple 'flush' operation.
Allows updating or inserting multiple data points for a specific sensor. It involves specifying the 'key' and 'values' fields, where 'values' is a list of timestamps with corresponding data points.