Skip to content
/ unitdb Public
forked from unit-io/unitdb

Fast specialized time-series database for IoT, real-time internet connected devices and AI analytics.

License

Notifications You must be signed in to change notification settings

qrpike/unitdb

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

281 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

unitdb GoDoc Go Report Card Build Status Coverage Status

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.

About unitdb

Key characteristics

  • 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

Quick Start

To build unitdb from source code use go get command.

go get -u github.com/unit-io/unitdb

Usage

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.

Projects Using Unitdb

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.

Contributing

If you'd like to contribute, please fork the repository and use a feature branch. Pull requests are welcome.

Licensing

This project is licensed under Apache-2.0 License.

About

Fast specialized time-series database for IoT, real-time internet connected devices and AI analytics.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 100.0%