Frequently Asked Questions
Everything you need to know about ormDB — the relational database engine that speaks ORM natively.
General
Frequently Asked Questions
What is ormDB?
ormDB is a relational database engine written in Rust that replaces PostgreSQL, MySQL, or SQLite in your stack. It speaks ORM natively — its query language is entity/relation/graph-fetch instead of SQL. You keep your ORM (Prisma, Django, etc.), swap the database.
Is ormDB an ORM?
No. ormDB is the database itself, not an ORM library. It is a complete relational database engine with ACID transactions, constraints, and indexes. ORMs connect to ormDB through drop-in adapters, just like they connect to PostgreSQL.
Does ormDB replace PostgreSQL?
Yes. ormDB is designed to replace PostgreSQL (or MySQL/SQLite) as the database in your stack. It provides the same relational guarantees — ACID transactions, foreign keys, constraints — but with a native understanding of ORM query patterns.
What language is ormDB written in?
Rust. The entire database engine — storage, query planner, wire protocol, CLI — is written in Rust (Edition 2021). This gives us memory safety without garbage collection and zero-cost abstractions for performance-critical code.
Is ormDB production-ready?
ormDB is currently in Alpha (v0.1.0). It is functional and installable, but not yet recommended for production workloads. We are actively developing the storage engine, query optimizer, and ORM adapters.
What license is ormDB under?
MIT. ormDB is fully open source. You can use it, modify it, and distribute it freely.
Technical
Frequently Asked Questions
How does ormDB eliminate N+1 queries?
ormDB supports graph fetches — you declare a root entity and an include graph of relations, and ormDB returns the entire object graph in a single round-trip. The database compiles this into optimized relational plans internally. Your ORM never needs to issue separate queries per relation.
What are graph fetches?
Graph fetches are ormDB's primary query primitive. You specify a root entity type, filters, and an include graph of relations to load. ormDB returns structured entity blocks and edge blocks that clients assemble into nested objects. No N+1, no ambiguous join rows.
Does ormDB support SQL?
ormDB does not use SQL as its query language. Its native query language is a typed, structured IR (intermediate representation) that represents entity/relation/graph-fetch operations. ORM adapters translate ORM query patterns into this IR. Raw SQL passthrough is not supported.
How do safe migrations work?
Every schema migration in ormDB receives a safety grade: A (online, no blocking), B (online, brief blocking), C (requires careful timing), or D (destructive). You see the grade before you run the migration, so you never accidentally take down your database with a risky ALTER.
What are change streams?
Change streams are ormDB's built-in CDC (Change Data Capture) mechanism. When entities or relations change, ormDB emits structured delta events with version tokens. You subscribe to these events for real-time cache invalidation, event-driven architectures, or downstream data syncing.
Does ormDB support vector search?
Yes. ormDB includes HNSW-indexed k-nearest neighbor search for AI embeddings. You can store vectors alongside your relational data and query them together — no need for a separate vector database.
What are query budgets?
Query budgets prevent runaway queries. You set limits on max depth (include nesting), max fanout per relation, max total rows/edges returned, and execution time. Queries that exceed budgets are rejected, preventing accidental full-table scans from ORM-generated queries.
ORM Compatibility
Frequently Asked Questions
Which ORMs does ormDB support?
ormDB has drop-in adapters for Prisma, Drizzle, TypeORM, Sequelize, Kysely (TypeScript/JavaScript), SQLAlchemy, and Django (Python). Adapters translate ORM query structures into ormDB's native graph fetch IR.
Do I need to rewrite my code to use ormDB?
No. ormDB adapters are drop-in replacements for your database driver. Your ORM models, queries, and business logic stay the same. You change the connection string and adapter configuration.
Can I use raw SQL with ormDB?
No. ormDB does not support raw SQL passthrough. Its query language is a typed IR optimized for ORM workloads. If your application relies heavily on raw SQL, complex stored procedures, or vendor-specific SQL extensions, ormDB may not be the right fit.
How do I migrate from PostgreSQL to ormDB?
The migration process involves: (1) Install ormDB and configure your ORM adapter. (2) Define your entity schema in ormDB format. (3) Migrate your data using ormDB's import tools. (4) Switch your connection string. See our migration guides for step-by-step instructions.
Business & Support
Frequently Asked Questions
Is ormDB free?
Yes. ormDB is MIT licensed and free to use. There are no paid tiers or feature gates.
Does incredlabs offer support?
incredlabs offers consulting services for database architecture, migration planning, and ormDB implementation. Contact [email protected] for details.
Who is behind ormDB?
ormDB is built by incredlabs, founded by Dipankar Sarkar. The project is open source and developed on GitHub.
Where can I find documentation?
Full documentation is at docs.incredlabs.com/ormdb. The source code and architecture docs are on GitHub at github.com/incredlabs/ormdb.