Freedom251 › Time-Series Databases
UnitDB

What UnitDB is
UnitDB is an open-source time-series database and publish-subscribe messaging server for microservices, IoT, and real-time connected devices. Written entirely in Go, it is available as a self-hosted service on Linux and through an API. The project describes fast lookups and writes, including capacity for billions of records per hour, while storing data sets larger than memory with block synchronization to disk. Get, Put, Delete, batch operations, PutEntry, and uTP PUBLISH messages provide ingestion and management. UQL supports topic patterns, JSON-field selection and filtering, grouping, counts, indexes, and deletion by ID or age. Messaging uses gRPC, TCP, or WebSocket. Records are encrypted at rest by default from v0.7.0, with keyrings and key rotation; inter-node encryption requires mutual TLS. Multiple nodes are supported, with at least three recommended for fault tolerance. Official Go and Dart clients are listed. UnitDB uses the Apache-2.0 license, remains under active development, and identifies replication and sharding as future work.
Who it suits
UnitDB suits developers building self-hosted microservices, IoT, and real-time device systems. It is intended for teams comfortable operating a Go-based database and configuring security between cluster nodes.
What it does well
- Open-source Apache-2.0 licensing
- Handles time-series data and pub-sub messaging
- Supports batch and multiple ingestion methods
- Encrypts stored records at rest by default
- Official Go and Dart client libraries
What to know first
- Distributed replication is future work
- Sharding is future work
- Inter-node encryption requires mutual TLS
- Project is under active development
Verdict
UnitDB combines time-series storage, messaging, querying, and client libraries for self-hosted real-time systems. Its roadmap still lists replication and sharding, and secure node traffic requires explicit TLS configuration.
Facts from UnitDB's own pages
- Access controls
- The server issues client IDs and topic keys, supports revocation, and reserves topics beginning with `$` for server use. · github.com, 11 Oct 2026
- Client libraries
- The project lists official Go and Dart client libraries, with the Dart client intended for Flutter/Dart projects. · github.com, 5 Oct 2026
- Clustering
- The server can run as a cluster with replication and term-election failover; the project recommends at least three nodes for fault tolerance. · github.com, 11 Oct 2026
- Development status
- The README says the project is under active development, is not seeking major changes or new features, and welcomes small bug fixes and contributions to tests and documentation. · github.com, 5 Oct 2026
- Durability
- The architecture description says writes pass through a write-ahead log and entries become queryable in memory before periodic writes to log files. · github.com, 5 Oct 2026
- Encryption
- The server encrypts stored records at rest by default from v0.7.0, and supports keyrings and key rotation. · github.com, 11 Oct 2026
- Features
- The project lists database encryption, message-entry time-to-live, immutable database opening, and writing to wildcard topics as supported features. · github.com, 5 Oct 2026
- Implementation
- The project describes itself as 100% Go and provides an embeddable storage engine and a server. · github.com, 11 Oct 2026
- Integrations
- The maker lists supported Go and Flutter/Dart client libraries for connecting to a UnitDB server. · github.com, 11 Oct 2026
- Intended users
- The maker describes UnitDB for microservices, IoT, and real-time internet-connected devices. · github.com, 11 Oct 2026
- License
- The repository states that UnitDB is licensed under Apache-2.0. · github.com, 5 Oct 2026
- License and price
- The repository identifies UnitDB as Apache-2.0 licensed and provides source installation instructions; it does not state a product price. · github.com, 11 Oct 2026
- Messaging
- UnitDB supports Get, Put, and Delete operations, batch operations, wildcard topics, and client-server messaging over gRPC, TCP, and WebSocket. · github.com, 11 Oct 2026
- Operations
- The README says UnitDB supports Get, Put, and Delete operations, as well as batch operations. · github.com, 5 Oct 2026
- Performance
- The project says it is optimized for fast lookups and writes and supports writing billions of records per hour. · github.com, 5 Oct 2026
- Product
- UnitDB is an open-source time-series database and publish-subscribe messaging server aimed at IoT and real-time connected devices. · github.com, 11 Oct 2026
- Purpose
- UnitDB is described as a specialized time-series database for microservices, IoT, and real-time internet-connected devices. · github.com, 5 Oct 2026
- Querying
- Its UQL query language supports topic patterns, JSON payload field selection and filtering, grouping, counts, indexes, and deletion by ID or age. · github.com, 11 Oct 2026
- Roadmap
- The README describes distributed replication and sharding as future work. · github.com, 5 Oct 2026
- Storage
- The engine supports larger-than-memory data sets, fast lookups and writes, TTLs on message entries, and immutable database opening. · github.com, 11 Oct 2026
- Transport security
- Cluster nodes can communicate over mutual TLS, but the documentation says inter-node traffic is not encrypted unless that TLS configuration is used. · github.com, 11 Oct 2026
Where UnitDB stands on Freedom251
- Time-Series Databases#28 of 36