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.
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.
MoreSubject recursion is well covered in the literature, but, nevertheless, the problem of output “tree” does not mean the client and SQL Server many baffled. So, put the problem: there is a table with the name and record id field indicating the parent identifier. Immediately fill in this table, some sort of test data:
MoreIn our time of greatest prevalence of databases were relational databases, which are the main targets of the tables and the relationships between them. Tables can solve most problems for data storage and manipulation. But in the real world entity requiring storage is not always presented in a tabular form. One of these very common types of data structures other than the table is a tree structure, where each data element is the parent and the offspring. An example of such a structure may be the structure of state enterprises, which is headed by the director (the root of the tree), his deputies, heads of departments from which are subject to certain deputies, employees of departments, which are subject to the rulers.
MoreSubscribe to our blog
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.
Subject recursion is well covered in the literature, but, nevertheless, the problem of output “tree” does not mean the client and SQL Server many baffled. So, put the problem: there is a table with the name and record id field indicating the parent identifier. Immediately fill in this table, some sort of test data:
Discuss your project with us