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
Set T · 6 sheets
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
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
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
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
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
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
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