Multi tenancy using multiple database patter

0
Hi, I was going through the mendix documentation for supporting multitenancy and what i understand was that mendix supports multitenancy using same DB. Actually we want to migrate from our legacy system to mendix .But our legacy system using multi tenancy using multiple DB. Which implies, that for each customer , we have a Database under a DB instance . Also the data in each database is huge and growth rate of DB is also high. so i was wondering , if we try to keep all the customers in the same DB like in mendix , so i see a risk of having volume of data going high and customers will face performance problems. So i wanted to know if there is a better way to deal with this problem.
asked
2 answers
1

Anirban,

Currently, there is no capability to have a single Mendix application interact with multiple database instances.  I think you can proceed in one of two ways:

  • Create a separate Mendix application instance for each customer.  You can use the same application and create copies of it for each customer.  I believe that Daywize uses this approach so perhaps @RonaldCatersels or someone else from the Daywize team can comment.
  • Build a multi tenant application with a single database containing all customers.  Regarding performance concerns, this is not a simple question to answer as it depends on a number of factors like absolute size, growth rate, usages characteristics (how many users update data vs. only viewing data, etc.), available server resources, number of users, etc.  Perhaps a bit more info would help the community give you some ideas about how your app might perform.

Hope this helps,

Mike

answered
0

I think the greatest problem is the size of the database (50GB per customer).  That is the main reason why I would not suggest a multi tenancy app. Our application is used by multiple clients, but all use the same model. But the model is also multi tenant build. Larger customers get their own environment and the smaller clients use the multitenant environment. And indeed it would increase the total cost.

Transferring the data to Mendix can be done with the database replication module (https://appstore.home.mendix.com/link/app/160/Mendix/Database-replication).

Once you have your data transferred (including the UUID, I would transfer that also to a text string or something) you can rebuild the application again.

Good luck,

Ronald

answered