---
title: "Multi-tenant Architecture — Definition & Engineering Context"
description: "Multi-tenant architecture is a software architecture pattern where a single physical instance of an application serves multiple distinct client organizations (tenants), while ensuring complete logical separation of user profiles and data."
canonical: https://erpstack.io/glossary/multi-tenant
markdown_url: https://erpstack.io/glossary/multi-tenant.md
publisher: ERPStack
---

# Multi-tenant Architecture

> **Definition:** Multi-tenant architecture is a software architecture pattern where a single physical instance of an application serves multiple distinct client organizations (tenants), while ensuring complete logical separation of user profiles and data.

## In depth

Multi-tenant architectures allow a single codebase and application server to serve multiple client organizations (tenants). In a multi-tenant system, tenants share compute infrastructure, but their data is isolated. This isolation is typically implemented in one of three ways: database-per-tenant, schema-per-tenant, or shared database with column-level isolation.

## How ERPStack applies this

We implement Schema-per-Tenant and Database-per-Tenant isolation patterns using Drizzle ORM and PostgreSQL. This guarantees complete data isolation for corporate clients while maintaining the scaling benefits of a shared codebase.

## Related reading

- [Headless ERP](https://erpstack.io/glossary/headless-erp)
- [B2B Software](https://erpstack.io/glossary/b2b-software)
