Data Isolation Approaches in Multi-Tenant Applications

Luis Soares
2 min readJan 30, 2023
Image credits: AWS

A multi-tenant application is a software designed to serve multiple customers (tenants) using a single instance of the application. This approach allows for more efficient use of resources and a lower cost of ownership, but it also poses a challenge regarding data isolation.

Data isolation is the practice of separating each tenant’s data so that the data of one tenant is not accessible or visible to other tenants. This is important to maintain the security and privacy of each tenant’s data and ensure that each tenant can only access their data.

There are several approaches to data isolation in multi-tenant applications. These approaches vary in complexity, performance, and cost, and the appropriate approach depends on the specific requirements of each application.

  1. Database-level isolation: In this approach, each tenant has its database, and the application is configured to connect to the appropriate database based on the tenant’s identity. This approach provides a high degree of data isolation but also requires a separate database for each tenant, which can result in a higher cost and increased maintenance.
  2. Schema-level isolation: In this approach, each tenant’s data is stored in a separate schema within the same database. The application is configured to connect to the…

--

--

Luis Soares

Lead Software Engineer | Blockchain & ZKP Protocol Engineer | 🦀 Rust | Web3 | Solidity | Golang | Cryptography | Author