We are planning a SAAS application.
Now we are at the database point. A single relational database with all our client or a multiple database for each client?
I think a single database would be ok but taking the proper design and securtity.
What about performance?
It is a payroll SAAS so each client need to do his employee administration based on his company.
It depends if you will maintain application for every client independently. If it is “classic” SAAS application, where you will have many clients and you are not ready to change your application until most of the clients require some change, then one database is what you should do. On the other hand, if you are just hosting solution for 5 clients, and might happen that client 3 wants something different (which is very likely with payroll applications) and you want to fulfill his requirements, then go with separate databases.
Regarding performance (if you have SaaS and one database), there are many ways to do partitioning, and other performance improvement techniques (replication for example) which you can implement if you end up with performance issues…and in that case, you will have to maintain only one database.