# AimDB > Distributed by design. Data-driven by default. ## What is AimDB? AimDB is a distributed dataflow runtime written in Rust. It lets you define portable data contracts (records) once and deploy them across the full hardware spectrum — from STM32 microcontrollers running `no_std + alloc` to Linux edge gateways, Kubernetes clusters, and browser-based SPAs via WebAssembly. The same Rust API works everywhere, eliminating the serialization mismatches and glue code that plague traditional IoT architectures. AimDB is **not** a traditional database. It is a reactive, in-memory engine where data flows through typed records, buffers, and transforms — enabling real-time sync, automatic observability, and declarative data pipelines without external message brokers. ## Key Concepts - **Portable Data Contracts**: Schema definitions that compile for `no_std + alloc` embedded targets, standard Rust, and `wasm32`. Define once, use on MCU, edge, cloud, and browser. - **Edge-first Architecture**: Process data where it makes sense — at the sensor, gateway, cloud, or browser — reducing latency and bandwidth costs. - **Unified API**: Same code runs on STM32 (Embassy), Linux gateways (Tokio), Kubernetes pods, and browsers (WASM). - **Dataflow Primitives**: Three core operations — `.source()` (push data in), `.tap()` (subscribe read-only), `.transform()` (derive new records) — wired into a build-time DAG. - **Buffer Semantics**: Three universal buffer types — SPMC Ring (ordered history), Single Latest (last-value wins), Mailbox (consume-once) — that map to any transport (MQTT, gRPC, shared memory). - **Long-term Record History**: Optional per-record persistence with a pluggable backend trait, enabling time-range queries without changing producers or consumers. ## Use Cases - **IoT Fleet Monitoring**: Stream sensor telemetry (temperature, humidity, GPS) from thousands of MCUs through edge gateways to a cloud dashboard. - **Industrial Edge Computing**: Run transforms and validations at the factory gateway, only forwarding anomalies to the cloud. - **Building Automation**: Coordinate HVAC, lighting, and occupancy sensors with sub-millisecond local reactions and cloud-level analytics. - **Robotics & Autonomous Systems**: Share typed records between perception, planning, and actuation modules across heterogeneous hardware. - **Digital Twins**: Mirror physical device state in real-time using the same data contracts on both sides. ## Documentation - Getting Started: https://aimdb.dev/docs/01-getting-started - Data Contracts: https://aimdb.dev/docs/02-data-contracts - Connectors: https://aimdb.dev/docs/03-connectors - Deployment: https://aimdb.dev/docs/04-deployment ## Latest Blog Posts - Portable Async Rust: Targeting Embassy, Tokio and WASM from One Codebase (2026-03-27): https://aimdb.dev/blog/building-aimdb-one-async-api - AI-Assisted System Introspection: AimDB Meets the Model Context Protocol (2026-03-22): https://aimdb.dev/blog/ai-introspection-with-mcp - Schema Migration Without Ceremony (2026-03-08): https://aimdb.dev/blog/schema-migration-without-ceremony - Streamable: One Trait to Cross Every Boundary (2026-03-03): https://aimdb.dev/blog/streamable-crossing-boundaries - AimDB Meets the Browser: Full Dataflow Engine in WebAssembly (2026-02-27): https://aimdb.dev/blog/aimdb-meets-the-browser - The Next Era of Software Architecture Is Data-First (2026-02-22): https://aimdb.dev/blog/data-driven-design - Two Ways In: AimDB's Sync and Async APIs (2026-02-15): https://aimdb.dev/blog/sync-vs-async - Long-Term Record History: Persistence Comes to AimDB (2026-02-21): https://aimdb.dev/blog/long-term-record-history - Source, Tap, Transform: How Data Flows Through AimDB's Rust Dataflow Engine (2026-02-09): https://aimdb.dev/blog/source-tap-transform - Data Contracts: A Deep Dive (2026-01-20): https://aimdb.dev/blog/data-contracts-deep-dive - Introducing AimDB: A Rust Dataflow Engine from MCU to Cloud (2026-01-15): https://aimdb.dev/blog/introducing-aimdb ## Resources - Live Demo: https://aimdb.dev/demo - Blog: https://aimdb.dev/blog - GitHub: https://github.com/aimdb-dev/aimdb ## Contact - Issues: https://github.com/aimdb-dev/aimdb/issues - Discussions: https://github.com/aimdb-dev/aimdb/discussions ## Full Content For complete documentation and blog content, see: https://aimdb.dev/llms-full.txt