NetbaDBNetbaIoT

类型化关系型数据库。
无数据库 IoT 网关。

NetbaDB 在进程内或通过 Protocol v2 存储类型化表。NetbaIoT 接收 MQTT、TCP 与 UDP 设备流量,并把事件转发给你的业务系统。它们是彼此独立的程序。

特点

各自做什么。

需要本地或远程 SQL 数据库时用 NetbaDB。需要设备上报事件并接收在线命令、且网关不持有业务数据时用 NetbaIoT。

NetbaDB

强类型关系型数据库核心。可嵌入 Rust 进程,或运行 netbadbd 后通过 Protocol v2 连接。

  • 类型化 SQL 子集:SELECT、INNER JOIN、INSERT/UPDATE/DELETE,以及 Heap CREATE/ALTER/DROP TABLE 与 INDEX
  • 堆 MVCC、LSM、WAL 崩溃恢复,读已提交与可重复读
  • 仅 Native Protocol v2;不提供 PostgreSQL 协议

NetbaDB 教程 · 架构

NetbaIoT

内存优先的 IoT 网关。设备通过 MQTT、TCP 或 UDP 上报;业务系统消费事件,并向在线会话下发命令。

  • 内嵌 MQTT 3.1.1 与有限 MQTT 5.0 配置、分帧 TCP 和已认证 UDP
  • MQTT QoS1 PUBACK 表示 EventAccepted,不表示业务库已落盘
  • 命令只发往已连接的本地会话;离线设备返回 DeviceOffline

NetbaIoT 教程 · 产品概览

教程

怎么跑起来。

NetbaDB

  1. 在 Rust crate 中加入 netbadb-sdk。
  2. 调用 Database::create,插入行,再用 SQL 查询。
  3. 若要给另一进程提供服务,编写清单 v11 并启动 netbadbd。

NetbaDB 教程

NetbaIoT

  1. 运行 cargo run --locked -p netbaiot-cli -- demo --once。
  2. 演示会发布 MQTT heartbeat 并等待业务 sink ACK。
  3. 初始化自己的网关配置并连接业务 sink。

NetbaIoT 教程

常见问题

NetbaDB 和 NetbaIoT 是同一个程序吗?

不是。NetbaDB 是关系型数据库。NetbaIoT 是 IoT 事件网关。它们不共享运行时、线协议或磁盘格式。

怎么用 NetbaDB?

添加 netbadb-sdk,调用 Database::create,然后在进程内插入与查询。若要给另一进程提供服务,用部署清单 v11 启动 netbadbd,再通过 Native Protocol v2 连接。

怎么用 NetbaIoT?

先运行 CLI 演示,再配置 MQTT、TCP 或 UDP 设备与确认型业务 sink。应用处理完成后再 ACK。命令要求设备在线。

使用什么许可证?

NetbaDB 采用 AGPL-3.0-or-later。当前 NetbaIoT 使用商业许可,允许 30 天内部非生产评估;生产使用和再分发需取得书面授权。