AimDB
A portable Rust-based async typed dataplane for microcontrollers, edge devices, and cloud systems that enables unified data contracts across all tiers.
AimDB is a portable, asynchronous typed dataplane designed specifically for distributed systems, bridging the gap from microcontrollers to the cloud. By utilizing Rust as its core language, it allows developers to define data contracts once and deploy them seamlessly across various environments, including microcontrollers using the Embassy runtime, edge gateways running Linux with Tokio, Kubernetes-based cloud deployments, and browser-based applications via WebAssembly. AimDB simplifies the complexities of distributed systems by eliminating the need for intermediary translation layers, schema registries, or complex IDLs.
Some of the key features are:
- Portable Data Contracts: Define schemas once and run identical Rust code across MCU, edge, and cloud tiers.
- no_std Support: Compatible with embedded no_std and allocation environments, including support for Embassy's heap allocator.
- Type-Safe Dataplane: Ensures typed records move through the system without untyped boundaries or manual conversion logic.
- Built-in Schema Evolution: Supports typed migrations for evolving data contracts that are validated at compile time.
- Flexible Transport Connectors: Includes support for protocols like MQTT, KNX, and WebSockets, with the ability to implement custom transports using a thin, three-method trait interface.
- Remote Introspection: Provides MCP-compatible server support to expose internal system data to AI assistants for real-time monitoring and interaction.
- Reactive Execution Model: Based on a source, transform, and tap pipeline architecture for processing data streams.
AimDB functions by allowing developers to define Rust structures that serve as both the internal data model and the wire format for transmission. By using a data-first approach, it treats data streams as first-class citizens in the architecture. It provides a session engine for remote access, which handles connection management, fan-out, and security policies, allowing external peers to introspect or interact with the database as a service. This architecture treats the entire system as a graph of records, where connectors are the edges bridging the system to external protocols or transports.
Some common use cases include:
- IoT and Sensor Networks: Streaming real-time telemetry data from embedded microcontrollers through edge gateways directly to cloud-based monitoring dashboards.
- Physical AI Agents: Acting as a real-time world model for embodied AI agents, allowing them to read current system states and perform actions without intermediary tool-calling glue.
- Distributed System Observability: Exposing a running distributed system to AI assistants via MCP to enable real-time introspection and architectural diagnostics.
- Edge-to-Cloud Synchronization: Maintaining a consistent, typed state across geographically dispersed devices and central infrastructure without complex manual data mapping.