NetbaDBNetbaIoT

A typed relational database.
A database-free IoT gateway.

NetbaDB stores typed tables in-process or over Protocol v2. NetbaIoT accepts MQTT, TCP, and UDP device traffic and forwards events to your business system. They are independent programs.

Characteristics

What each product does.

Use NetbaDB when you need a local or remote SQL database. Use NetbaIoT when devices must publish events and receive live commands without the gateway owning business data.

NetbaDB

A strongly typed relational database core. Embed it in a Rust process, or run netbadbd and connect with Protocol v2.

  • Typed SQL subset: SELECT, INNER JOIN, INSERT/UPDATE/DELETE, Heap CREATE/ALTER/DROP TABLE and INDEX
  • Heap MVCC, LSM, WAL crash recovery, Read Committed and Repeatable Read
  • Native Protocol v2 only; PostgreSQL wire is not available

NetbaDB tutorial · Architecture

NetbaIoT

A memory-first IoT gateway. Devices publish over MQTT, TCP, or UDP; business systems consume events and send commands to live sessions.

  • Embedded MQTT 3.1.1 and a bounded MQTT 5.0 profile, framed TCP, and authenticated UDP
  • MQTT QoS1 PUBACK means EventAccepted, not that a business database stored the event
  • Commands go only to a connected local session; offline devices return DeviceOffline

NetbaIoT tutorial · Overview

Tutorials

How to run them.

NetbaDB

  1. Add netbadb-sdk to a Rust crate.
  2. Call Database::create, insert rows, then query with SQL.
  3. To serve another process, write a manifest v11 file and start netbadbd.

NetbaDB tutorial

NetbaIoT

  1. Run the local demo with cargo run --locked -p netbaiot-cli -- demo --once.
  2. The demo publishes an MQTT heartbeat and waits for the business sink ACK.
  3. Initialize a configuration for your own gateway and connect a business sink.

NetbaIoT tutorial

Questions

Are NetbaDB and NetbaIoT the same program?

No. NetbaDB is a relational database. NetbaIoT is an IoT event gateway. They do not share a runtime, wire protocol, or on-disk format.

How do I use NetbaDB?

Add netbadb-sdk, call Database::create, then insert and query in-process. To serve another process, start netbadbd with a deployment manifest v11 file and connect over Native Protocol v2.

How do I use NetbaIoT?

Run the CLI demo, then configure MQTT, TCP, or UDP devices and a confirmed business sink. ACK after application processing. Commands require a live device session.

What license do they use?

NetbaDB is AGPL-3.0-or-later. Current NetbaIoT versions use a commercial license with a 30-day internal, non-production evaluation; production and redistribution require a written grant.