Unitdb is blazing fast specialized time-series database for microservices, IoT, and realtime internet connected devices. The unitdb satisfy the requirements for low latency and binary messaging, it is a perfect time-series database for applications such as internet of things and internet connected devices.
- 100% Go
- Can store larger-than-memory data sets
- Optimized for fast lookups and writes
- Supports writing billions of messages (or metrics) per hour with very low memory usages
- Supports opening database with immutable flag
- Supports database encryption
- Supports time-to-live on message entries
- Supports writing to wildcard topics
- Data is safely written to disk with accuracy and high performant block sync technique
To build unitdb from source code use go get command.
go get -u github.com/unit-io/unitdb
Detailed API documentation is available using the go.dev service.
Make use of the client by importing it in your Go client source code. For example,
import "github.com/unit-io/unitdb"
The in-memory key-value data store persist entries into a WAL for immediate durability. The Write Ahead Log (WAL) retains memdb data when the db restarts. The WAL ensures data is durable in case of an unexpected failure. Make use of the client by importing in your Go client source code. For example,
import "github.com/unit-io/unitdb/memdb"
The unitdb supports Get, Put, Delete operations. It also supports encryption, batch operations, and writing to wildcard topics. See usage guide.
Samples are available in the cmd directory for reference.
Below is a list of projects that use unitdb.
- Unite Lightweight, high performance messaging system for microservices, and internet connected devices.
- Unite-Go Lightweight and high performance publish-subscribe messaging system - Go client library.
- Unite-Dart Lightweight and high performance publish-subscribe messaging system - Flutter and Dart client.
If you'd like to contribute, please fork the repository and use a feature branch. Pull requests are welcome.
This project is licensed under Apache-2.0 License.