Don't Migrate. Just Connect.

Maree-DB speaks MySQL, PostgreSQL, and Redis natively. Change your connection string. Your application doesn't know the difference. It just works.

Zero-Migration Switch

Just Change Your Connection String

No driver changes. No ORM changes. No code changes.

Your MySQL app?Point to Maree-DB port 3306. Done. WordPress, Laravel, Drupal, phpMyAdmin - all work unchanged.
Your PostgreSQL app?Point to Maree-DB port 5432. Done. Django, Rails, psycopg2, pgAdmin - all work unchanged.
Your .NET / SQL Server?TDS endpoint in final development - migrate your data today via the export -> convert -> import workflow. Once TDS ships, SSMS and Entity Framework connect unchanged.
Your Redis cache?Point to Maree-DB port 6379. Done. redis-cli, Jedis, ioredis - all work unchanged (same-host in this release; the Redis listener binds loopback-only until wire auth ships).
Any HTTP client?Point to Maree-DB port 8080. Done. cURL, Postman, any REST client works.

No driver changes. No ORM changes. No code changes.

Bring Your Data

Import in One Command

Already have data in another database? Use the tools you already know.

From MySQL

mysqldump mydb | mysql -h mareedb -P 3306 mydb

From PostgreSQL

pg_dump mydb | psql -h mareedb -p 5432 mydb

From Redis

# Standard Redis tools work via RESP3 wire redis-cli --rdb dump.rdb

From cPanel (whole hosting account)

# Install the Maree-DB cPanel plugin # Existing sites switch automatically # No changes to WordPress or PHP apps

Oracle Escape

Escaping Oracle

The Oracle problem: $47,500 per processor. Plus $23,000 for RAC. Plus $11,500 for Partitioning. Plus $11,500 for Advanced Security. Plus 22% annual support on all of the above. Enterprise licences also commonly reserve audit rights and restrict publishing benchmark comparisons (the "DeWitt Clause"). Maree-DB is the opposite: transparent flat pricing, no licence audits, and a built-in benchmark you can run - and publish - yourself. (Oracle figures from publicly available vendor price lists; negotiated prices vary.)

Oracle → Maree-DB Migration

1

Free Assessment

We analyse your PL/SQL codebase. No obligation. Free.

2

Dry Run

Test the migration without touching production. Validate everything.

3

Export, Convert, Import

Export with expdp or CSV, convert each type with maree-db migrate map-type --source oracle --type "...", then load over the SQL wire.

4

Validate & Cutover

Validate, run report, cutover. Rollback available if needed.

Free Oracle Compatibility Assessment →

Schema Translation Reference

OracleMaree-DB SQL
PL/SQL packagesStored procedures (auto-translated)
ROWNUMLIMIT / FETCH FIRST
SYSDATECURRENT_TIMESTAMP
NVL()COALESCE()
DECODE()CASE WHEN
CONNECT BYRecursive CTE (WITH RECURSIVE)
VARCHAR2VARCHAR
NUMBER(p,s)DECIMAL(p,s)
SEQUENCESSEQUENCE / IDENTITY

95% of PL/SQL translates automatically. Complex packages reviewed manually during the free assessment.

MongoDB Escape

Escaping MongoDB

MongoDB's BSON documents become JSONB columns in Maree-DB - with GIN indexing, JSONPath queries, and full SQL JOIN support. You get real ACID transactions, real schema validation, and real foreign keys. Plus every other data model in the same binary.

# 1. Export the collection with Mongo's own tool (it stays online) mongoexport --uri mongodb://host/db --collection orders --out orders.json # 2. Load each exported document into a JSONB table via the REST /query API (:8080) curl -sS http://maree-db:8080/query -H "Content-Type: application/json" \ -d '{"sql": "INSERT INTO orders(doc) VALUES (...)"}' # MongoDB aggregation pipeline → SQL # db.orders.aggregate([{$lookup...}]) # becomes: SELECT o.*, c.name FROM orders o JOIN customers c ON o.customer_id = c._id;

What Changes (and What Doesn't)

MongoDBMaree-DB
BSON documentsJSONB columns (binary JSON)
$lookupSQL JOIN (faster, ACID)
$matchWHERE clause
$groupGROUP BY
db.collection.find()SELECT * FROM collection
ObjectIdUUID or BIGINT
SchemalessOptional schema validation

Consolidation

Multi-Source Consolidation

Running MySQL, Redis, MongoDB, and InfluxDB? Migrate each with its own native export, then load them into one Maree-DB instance.

# Export each source with its native tool (each stays online) mysqldump --single-transaction -h prod-db -u app -p myapp > mysql.sql redis-cli -h cache-server --scan > redis.keys mongoexport --uri mongodb://doc-server/content --collection c --out content.json # Load into ONE Maree-DB: SQL over the wire, documents/KV over REST mysql -h maree-db -P 3306 -u root -p myapp < mysql.sql
Result: One database. One backup. One monitoring dashboard. One support contract. One licence renewal. One point of failure instead of eight.

Migrate

Export, Convert, Import

Your source database stays online while you export. The built-in converter translates the schema and types; you import over the wire protocol or REST, then cut over when you are ready.

# 1. Export from your source (it stays running) mysqldump --single-transaction -h prod-db -u app -p myapp > dump.sql # 2. Check any column types you are unsure about (real, tested converter) maree-db migrate map-type --source mysql --type "TINYINT(1)" # -> BOOLEAN # 3. Import over the MySQL wire with the standard client mysql -h maree-db -P 3306 -u root -p myapp < dump.sql # 4. Cut over: point your app's connection string at Maree-DB
1

Export

Dump from your source with its own tools - it stays online the whole time.

2

Convert

The built-in converter translates schema and data types to Maree-DB.

3

Import

Load over the MySQL/PostgreSQL wire or the REST bulk loader; verify row counts and checksums.

4

Cutover

Update your connection string when ready. Fully-automated live change-capture (zero-downtime streaming) is on the roadmap.

Migration Estimator

How Long Will It Take?

Migration Effort Estimator

Loading estimate...
cPanel / WordPress: because Maree-DB speaks the MySQL wire protocol on port 3306, a typical WordPress or shared-hosting stack connects by changing the host - no application code changes. Test on one account, then cut over.
Oracle: request a free compatibility assessment and we will tell you exactly which tables and PL/SQL objects convert cleanly and which need a hand. Column types convert with the built-in converter; stored procedures are ported with SupportCALL's help.