Archiboard

Set T · 6 sheets

Tenancy & Data

Who owns which rows, which schema, which database. The decisions you make in month one and live with in year six.

T-01 Tenancy & Data

Three ways to slice a tenant

Database, schema or row. The choice you make in month one is the one you live with in year six.

Drawn Mar 2010·Revised Oct 2025·6 min

T-02 Tenancy & Data

Tenant resolution in the middleware

The tenant must be known before anything else runs. Host, path or claim; pick one and make it boring.

Drawn Mar 2012·Revised Mar 2025·6 min

T-03 Tenancy & Data

EF Core global query filters as a tenant fence, and where they leak

HasQueryFilter is the best default a shared-row database can have. It is not a security boundary, and there are three doors around it.

Drawn Apr 2013·Revised Jan 2026·7 min

T-04 Tenancy & Data

Sharding Azure SQL with elastic pools and a catalog

A shard is a database, a pool is a budget, and the catalog is the only thing that knows which is which. Keep it small enough to understand at three in the morning.

Drawn Feb 2017·Revised Jun 2025·6 min

T-05 Tenancy & Data

Per-tenant configuration and entitlements

A feature flag says whether the code path is switched on. An entitlement says whether this tenant paid for it. Confuse the two and support will confuse them for you.

Drawn May 2019·Revised Sep 2025·6 min

T-06 Tenancy & Data

Onboarding a tenant is a saga

Six steps across five systems that share no transaction. Treat it as a saga with compensations, make every step idempotent, and send the mail last.

Drawn Feb 2021·Revised Apr 2026·6 min