I was asked to develop an application with multi tenancy architecture in the PHP language using MySQL as a database.
After reading various materials and posts online, I had a question. How to model the application itself?
I have two options, which are:
- Shared database and application In this case, I would only have one instance of the application and the database for all clients.
- Shared application and isolated databases In this case, you would only have one instance of the application and each client would have your database isolated.
The application will assist companies (beauty salons) that may only have the head office and / or the head office unit and the branch units. All of the two types will be multi-users and several modules, some of them being: Customer registrations, Supplier registration, Professional registration, Product and service registration, Agenda, Stock control, Financial, Sales and Purchasing.
Who has or had experience with this kind of multi tenancy architecture, what do you have to advise me on using the database? Because the very question is: Use the same database for all clients or build a new database for each new client?