ORMDB
The database that speaks ORM natively
What is ORMDB? ORMDB is an open-source, Rust-native relational database that understands your entities and relations, so a single query returns a whole object graph instead of the N+1 round-trips a traditional ORM generates.
cargo install ormdb-server ORMDB is an open-source relational database written in Rust that speaks ORM natively. It fetches object graphs in one round-trip, supports native relations, ACID transactions, safe online migrations, change streams (CDC), plus vector, geo, and full-text search. It drops into Prisma, Drizzle, TypeORM, and SQLAlchemy.
Highlights
- Graph fetches in a single query
- Native one-to-one, one-to-many, many-to-many relations
- Safe online migrations with automatic safety grading
- Change streams for cache invalidation and real-time
- Vector, geo, and full-text search built in
- Drop-in adapters for Prisma, Drizzle, TypeORM, SQLAlchemy
How ORMDB works
You declare your model graph — entities, relations, and constraints — and ORMDB stores it as first-class metadata rather than inferring it after the fact. Because the database already knows how User relates to Post relates to Comment, it can plan a single traversal that returns the whole shape you asked for.
When your application requests an object graph, ORMDB resolves it server-side in one round-trip. There is no N+1 explosion and no impedance mismatch to hand-tune, because the join planning happens where the data lives instead of in an application-layer ORM stitching rows together.
On top of the relational core, ORMDB ships ACID transactions, safe online migrations with automatic safety grading, change streams (CDC) for cache invalidation and real-time features, and built-in vector, geo, and full-text search — so AI features like semantic search sit next to your relational data instead of in a separate system.
Example
// Fetch a full object graph in one round-trip — no N+1
const user = await db.user.get(id, {
posts: { comments: true, tags: true },
profile: true,
}); When to use ORMDB
- Application backends where the ORM is generating N+1 queries and you want graph fetches without hand-writing joins
- Products that need relational data and semantic (vector) search in one engine instead of syncing two databases
- Teams running frequent schema migrations who want automatic safety grading before shipping a change
- Real-time features and cache invalidation driven by change streams (CDC) rather than polling
Who it's for: Backend and full-stack engineers who already reach for Prisma, Drizzle, TypeORM, or SQLAlchemy and want the database itself to speak ORM — plus teams adding AI/vector features to an existing relational app.
ORMDB vs. Postgres + a traditional ORM
A traditional stack pairs a relational database with an application-layer ORM that translates object graphs into SQL — the source of N+1 queries and object-relational impedance mismatch. ORMDB moves that graph awareness into the database, so relations, safe migrations, and vector/geo/full-text search are native rather than bolted on with extensions and extra services.
ORMDB FAQ
- What is ORMDB?
- ORMDB is an open-source, Rust-native relational database that understands your entities and relations, so a single query returns a whole object graph instead of the N+1 round-trips a traditional ORM generates.
- Who is ORMDB for?
- Backend and full-stack engineers who already reach for Prisma, Drizzle, TypeORM, or SQLAlchemy and want the database itself to speak ORM — plus teams adding AI/vector features to an existing relational app.
- Is ORMDB open source?
- Yes. ORMDB is open source under the MIT License and developed in the open at https://github.com/incredlabs/ormdb. There is no license fee.
- How do I install ORMDB?
- Install ORMDB with `cargo install ormdb-server`. Full setup instructions live in the documentation at https://docs.incredlabs.com/ormdb.
More from the incredlabs data platform
- Liath — The SQLite for AI agents
- Read the incredlabs FAQ — licensing, languages, and how the products fit together