21. Edition comparison
The edition comparison is a side-by-side view of the four Miraj editions: Express, Developer, Enterprise and Cluster. All four share the same code, SQL and data files. They differ in how work is spread across cores, the limits of Express and Developer, MCP endpoint availability and replication, which is specific to Cluster.
Miraj is distributed in four editions (Express, Developer, Enterprise and Cluster), built from the same code. They speak the same SQL and read the same data files; only the distribution of work across cores, the limits of the Express and Developer editions, the MCP endpoint and replication differ. This page puts them side by side; the general overview is in 1.3.
21.1 Overview#
| Express | Developer | Enterprise | Cluster | |
|---|---|---|---|---|
| Price | Free | Free | Paid | Paid |
| Intended use | Lightweight applications, development, testing, small workloads | Developing and testing, including with AI assistants | Workloads where the speed of large queries matters | Read availability and read load balancing |
| SQL language and file format | Identical | Identical | Identical | Identical |
21.2 Execution and limits#
| Express | Developer | Enterprise | Cluster | |
|---|---|---|---|---|
| Intra-query parallelism | No: one thread per query | One core | Yes: several cores | Yes: several cores |
| Data volume | At most 20 GB | At most 20 GB | No edition limit | No edition limit |
| Session duration | No edition limit | At most 24 hours | No edition limit | No edition limit |
--parallel-threads setting | No effect (warning) | Not applicable (one core) | Active | Active |
| Vector index build | Single thread | One core | Batches in parallel | Batches in parallel |
Beyond 20 GB, statements that grow the data (INSERT, REPLACE, LOAD DATA, UPDATE, CREATE TABLE, ALTER TABLE) fail with error 9005 in Express; DELETE, TRUNCATE and DROP remain allowed (see chapter 15).
21.3 Features#
| Express | Developer | Enterprise | Cluster | |
|---|---|---|---|---|
| MCP server (chapter 20) | No (error 9001) | Yes | Yes | Yes |
| Multi-node replication (chapter 12) | No | No | No | Yes: one primary, read-only secondaries |
Effective partitioning (segments, pruning, PARTITION (p)) | No: definition kept, unpartitioned storage (error 9002) | No (error 9002) | No: definition kept, unpartitioned storage (error 9002) | Yes |
| Vector search (chapter 19) | Yes | Yes | Yes | Yes, with one graph per partition |
Tables stored in segments by the Cluster edition cannot be read from another edition (error 1194).
21.4 Which edition should I choose?#
- Discover or develop on no budget: Express, or Developer if you want to connect AI assistants through the MCP server.
- Speed up large queries (filters, aggregation, sorting, joins) on a multi-core server: Enterprise.
- Replicate to secondaries for read availability and load: Cluster.
Moving from one edition to another requires no data migration, except for the segment-partitioned tables specific to the Cluster edition.
21.5 How do I find out which edition I am using?#
SELECT @@miraj_edition;
-- 'Enterprise', 'Express', 'Developer' or 'Cluster'See 1.3 for @@version_comment and SHOW ENGINES.