The essentials
Convex replaces SQL with a proprietary document-relational model driven in TypeScript, with automatic real-time synchronization as soon as a query changes — with no subscription code to write. Aurabase keeps PostgreSQL 16 standard: SQL, RLS, pg_dump/pg_restore, and portability that Convex's proprietary model does not allow. Both engines are written in Rust. Since February 2026, Convex has offered an EU region (Ireland) but remains an American company; Aurabase SAS is a French company, hosted in Germany and Finland. The choice depends on your priority: turnkey responsiveness in TypeScript, or portable SQL with documented EU sovereignty.
Native Postgres SQL vs. proprietary TypeScript query builder
Aurabase is based on PostgreSQL 16 standard: SQL, classic migrations, RLS policies. Convex takes the opposite path. Its official documentation is explicit on this choice: “There is nothing to set up and no need to write any SQL. Just use JavaScript to express your app’s needs” (docs.convex.dev/database, accessed August 24, 2026). Convex tables store documents typed by an optional TypeScript schema, created at first insert, with no DDL to write.
Here's what a typical Convex query looks like, with an index declared in the schema:
Neither model is strictly superior. Convex's query builder eliminates an entire class of SQL injection bugs by construction. It also locks you into its own query language. No standard BI tool, no existing Postgres ORM, no SQL extension like pgvector or pg_graphql without complete rewriting of the data layer.
Automatic synchronization against CDC opt-in per channel
At Convex, any query is responsive by default. The client opens a WebSocket connection to the deployment, and the engine retains all the lines read by each request (its “read-set”). As soon as a mutation affects this read-set, the function is replayed on the server side. The updated result is pushed to the client, with no subscription code to write (stack.convex.dev/how-convex-works, accessed August 24, 2026).
Aurabase realtime works in the opposite way, in opt-in. NATS JetStream broadcasts the PostgreSQL change stream (CDC); you explicitly subscribe to a channel via channel().on('postgres_changes', …), with possible filtering by column. This is more code to write for a live view, but a standard protocol backed by Postgres logical replication — not a proprietary mechanism coupled with a specific query builder.
Rust on both sides, MIT versus FSL
A common point that we don't expect to find here: both engines are written in Rust. The Convex open source repository (get-convex/convex-backend) is mainly composed of Rust crates. TypeScript is only used for the execution environment of developer functions, via the V8 engine (stack.convex.dev/how-convex-works, accessed August 24, 2026). Against Supabase — Elixir/Go/TypeScript/Node stack — the Rust core remains a real Aurabase differentiator. Against Convex, no: both made this bet, each to build a reliable transactional engine without unpredictable garbage collection pauses.
The difference comes down to the license. The Convex engine code (get-convex/convex-backend) is released under FSL-1.1-Apache-2.0, a fair source license. It authorizes any use except creating a product competing with Convex Cloud. Each version switches to pure Apache 2.0 two years after it is made available — clause verified directly in the LICENSE.md file in the repository (github.com/get-convex/convex-backend, accessed August 24, 2026). The Rust workspace and the Aurabase JavaScript SDK are published under the MIT license, open source without delay or usage restrictions.
Convex offers an official Docker image for self-hosting (ghcr.io/get-convex/convex-backend). It stores on SQLite by default, but can rely on Postgres or MySQL in configuration — without ever exposing SQL to the application. Aurabase provides an official Helm chart and a local k3d bench (./start.sh) in its repository, without license restrictions, but managed cloud remains the recommended primary route for production.
RAG on both sides, NL2SQL specific to Aurabase
Convex is not left out on AI. Its native vector search is accessible from actions, with a vector index declared in the schema. With its @convex-dev/agent and rag.search()framework, it forms a RAG capability comparable, on paper, to the native RAG of Aurabase (docs.convex.dev/search/vector-search, accessed August 24, 2026).
The real difference is therefore not “RAG versus no RAG”. Aurabase also integrates an NL2SQL engine — translation of a question in natural language into an SQL query, validated then limited before execution. Convex cannot structurally offer an equivalent: without SQL to translate, there is nothing to generate. This is a direct consequence of the choice of architecture documented above, not a product delay.
An EU region at Convex, an American company behind
Convex offers a EU West (Ireland)region, deployed since February 6, 2026, in addition to its default US East region (docs.convex.dev/production/regions and news.convex.dev, accessed August 24, 2026). A real option that deserves to be recognized. But Convex Inc. remains a company under American law. Its founder and CEO, Jamie Turner, says he is based in San Francisco (news.convex.dev, raising of $57 million in Series B led by Insight Partners, August 4, 2026). Choosing the Ireland region does not change the jurisdiction of the company hosting your data.
This is exactly the same mechanism as that documented with Supabase. A European region checked in an administration panel is not enough to exit the legal regime of the CLOUD Act as long as the parent company remains American. Aurabase SAS, a company incorporated under French law, operates a verified production infrastructure in Germany (Nuremberg, Falkenstein) and Finland (Helsinki).
Convex has taken a public position against the race for marketing benchmarks. The title of his post is not nuanced: “I don’t care about your database benchmarks (and neither should you)” (stack.convex.dev/on-competitive-benchmarks, accessed August 24, 2026). An assumed choice of posture, not a targeted attack – the post does not name any particular competitor.
Aurabase's position is based on the same observation but takes the opposite direction: publishing a reproducible and dated benchmark methodology rather than giving up publishing figures. This is still a work in progress — no performance figures are highlighted in this article until they are accompanied by its full methodology.
End-to-end TypeScript vs. Multi-Language SDK
Convex makes a radical choice: a single language, from the schema to the server function to the React client, with end-to-end typing without manual generation. This is a real productivity boost for a team that is already 100% TypeScript.
The Aurabase JavaScript SDK is distributed in 10 npm packages labeled @aurabase/*, all published and installable. Python, Dart and Rust SDKs also exist in the repository. None of the three is yet published on their respective registry (PyPI, pub.dev, crates.io): they are only installable in dependency on a Git repository for the moment. Wider multi-language coverage on paper, with a real execution gap to fill before fully claiming it.
standard pg_dump versus proprietary model
Aurabase is based on PostgreSQL 16 standard and a PostgREST compatible API. A schema and data export is done with classic pg_dump/pg_restore — to Aurabase, or to any other Postgres.
Convex does not rely on SQL: there is no direct equivalent to exporting to a standard relational format. Migrating a Convex application to a SQL backend involves remodeling the schema into relational tables and rewriting the data access layer — not just converting an export file.
When Convex remains the right choice
If your team is already 100% TypeScript, building a responsive React app, and doesn't have a heavy reliance on SQL or Postgres extensions, Convex has a real product advantage. Two concrete advantages: automatic responsiveness without configuration, and end-to-end typing which reduces an entire class of frontend/backend integration bugs.
The compromise appears when SQL, RLS Postgres, data portability or a hosting region in Germany/Finland with a French parent company become decision criteria. This is where Aurabase builds its differentiator.
What distinguishes the two platforms
| Data Model | PostgreSQL 16 standard, SQL, native RLS | Proprietary document-relational, TypeScript query builder, no SQL |
|---|---|---|
| Engine | Rust (unified workspace, 12 services) | Rust (engine) + V8 (running TS functions) |
| Responsiveness | NATS JetStream CDC, opt-in subscription per channel | Automatic subscription per request (WebSocket + read-set) |
| License | MIT, open source without delay | FSL-1.1-Apache-2.0 (Pure Apache 2 years after each release) |
| Native AI | NL2SQL + RAG (pgvector, HNSW search) | RAG + vector search (actions), no NL2SQL possible |
| Accommodation | Germany + Finland, French company (Paris) | Ireland region since 2026, American company |
| Portability | pg_dump/pg_restore standard, PostgREST compatible | No standard SQL export, proprietary model |
Want a comparison focused on open source and self-hosting? See Aurabase vs Appwrite. For the Postgres benchmark comparison and architecture, see Aurabase vs Supabase.