Newbie understanding how data is stored in Mendix

I am going through the beginning course for Mendix and really enjoying it.  I am super excited to join the development team and ultimately will be building an application for my organization internally.   However, one item so far is not quite hitting the mark for me.  Where is the data stored by Mendix out of the box?  Is it an SQL database?  Is it really just in memory?  Where is it?   Ultimately, is the DB part of the licensing fee for a real production application or do I need to go to Azure for a SQL database or something like that?  How is the db schema maintained?  If I make changes in the designer will it ultimately upate my production DB?  Is sample test data automatically isolated?     just not quite sure how this all connects in the Mendix platform!   Thanks all!
3 answers

Hello Ivan,

Welcome to the community!

Data for MX projects is stored in an SQL relational database. Currently MX supports the following:

  • IBM DB2
  • Maria DB
  • Microsoft SQL Server
  • MySQL
  • Oracle Database
  • PostgreSQL
  • A Builtin DB (however this is purely for development purposes)


Mendix will connect to the database based on the credentials you provide in the project or on deployment runtime settings. When running in the MX cloud this is all arranged for you.

Once you start the runtime MX will validate your current modal against the modal stored in the DB if they differ MX will update the modal in the DB and then migrate any data if needed. Once ready the runtime will start.


Hope this helps.




Mendix can run on most popular relational databases, like MySQL, Postgres, Azure or Oracle.

If you run your app in a sandbox, it will run postgres which is hosted in the Mendix Cloud for you.

If you run it locally, it uses a minimal built-in database, but you can easily change this to f. ex. your own postgres running locally.

Regarding the pricing fee, a standard Mendix Cloud Node comes with its own database already supplied.

The databases schema is kept up to date by Mendix. If you run your app locally, you can see this yourself. Run it first, stop it, change your domain model, run it again and you will be prompted to Synchronize your database. This will update your db schema with your new changes. You can even check what queries will be executed for this.


So long term I can utilize the built in database and I do not need to go to 3rd party?  Just trying to plan that out.  I love but it is almost scary how little thought I need to give where is my data lol


And does it maintain isolated test data in the sandbox environment?