Database consultancy: SaaS database considerations

There are three well-known types of SaaS database architectures.
1)Separate Databases;
2)Shared Database, Separate Schemas;
3)Shared Database, Shared Schema.

Some more details below.

Separate Databases

Utilizing given approach each client get his own database. In such case every client`s data stays isolated from others. It simplifies backing up the data, installing new clients but causes higher cost of maintenance.


Shared Database, Separate Schemas

This approach supposes having multiple clients who share the same database but have their own schemas. It shows good degree of data isolation but it is hard to recover the data after disaster.


Shared Database, Shared Schema

The last approach from the list is about sharing same database and same schema for all the customers. Causes high cost of security maintenance and implementation, lower performance cause of greater volume of data, disaster recovery procedure is quite complex and doesn`t allow to keep other customers online if the issues happened to only one. Also it may have issues when running some upgrades on large volumes of data. When upgrading one customer others will be also slowed down.


As we can see from the picture below LinkedIn network utilizes a kind of hybrid approach with multiple databases for some functions and common database for others.


We can also consider these ideas:
Option 1:
1. Multiple database for all customers and some single metadata database for common data.
Option 2:
1. Certain parts of application can try using different databases.
In conclusion, a kind of hybrid approach is better tending to further using of multiple databases.
Forrards database consultancy is able to provide any approach upon customera€™s request. Do not hesitate to contact us.