Joins that make sense
Read data the way your application uses it. Parents, children and nested relationships without rebuilding from flattened results.
The relational database, redesigned. Serverless OLTP backed by durable object storage. With a relational IR layer.
curl -fsSL https://radengine.dev/install.sh | shWhat is Rad?
Rad is a new relational database, unlike any other.
Firstly, it challenges the status-quo of SQL being the lingua franca of relational protocols. Instead, Rad exposes a relational intermediate representation as its interface. This IR can be targeted by SQL dialects, ORMs, or any other kind of frontend.
Secondly, it's backed by object storage rather than disks. This sacrifices speed for infrastructural simplicity. This means Rad can run in serverless environments with just an S3-compatible bucket and a stateless compute environment. You can think of Rad as a small relational query engine over a key-value store.
LIR + PIR
Rad's generated clients compile transactions into structured programs. Inspired by LLVM, the shared intermediate layer separates frontend syntax from structured machine-friendly commands.
development workflow
Rad's declarative schema is the source of truth for your database, migrations and type-safe clients. Change it, and everything else follows.
Describe tables, relations and indexes.
Review and apply the schema diff.
Generate schema-aware clients.
Use typed queries in application code.
Run against durable object storage.
Change the schema and regenerate.
what you get
The whole stack, from code to columns. Built for today, not 1973.
Generated directly from your schema. Typed queries, typed rows and typed relationships. More than just a layer on top, Rad defines and enforces a contract between your data and your code.
db.Tasks.Query().StatusEq("todo").OrderByPriority().All(ctx)Read data the way your application uses it. Parents, children and nested relationships without rebuilding from flattened results.
Change the schema. Rad computes and runs the migration. Stable IDs preserve rename intent without unnecessary rewrites.
rad schema migrateDatabase, toolchain and code generation in a single executable. Runs anywhere you need it to.
Built for object storage from day one. Stateless compute, durable data.
Rad's lower level intermediary format is structured so you can build queries without gluing strings.
"SELECT * FROM users " + whereClause + " ORDER BY " + ... 🙅A simple JSON-over-HTTP protocol. Designed for generated clients, not hand-written requests.
Grab the binary for Windows, macOS or Linux. This includes the database server itself and the CLI developer tools.
curl -fsSL https://radengine.dev/install.sh | sh