Building a Multitenant system with Django – Part 1
Our Knowledge Base product has a Multitenant architecture.
What is a Multitenant system?
The Multitenant system refers to software that serves multiple users with a single database (instance). Each user’s data is separated from the other. Normally SAAS companies follow the tradition of assigning subdomains to each customer. Each subdomain points to a separate database instance. You can think in terms of one database is used to create many databases.
- Since each customer’s data lives in a separate database, data isolation is guaranteed.
- If one customer’s data grows bigger, you can easily migrate the data from a shared multitenant database to another database.
- Logic should be properly implemented so that we read and write only to the intended database. For example, if customer A makes a request, we should make sure that we read and write data from database A. We should make sure that we are not reading or writing from other databases that do not belong to customer A. This should be enforced at the code level very strictly.
Now that we have learned about the multitenant systems, we will learn about how to implement one using Django in the next part.
And, If you don’t want to miss a blog post, you can subscribe to our newsletter using the form at the end of this page. We promise there won’t be any spam.