The presentation gives an overview on how multitenant applications work and what are advantages, drawbacks to some of the possible approaches as well an overview on how to do it in Django
14. "... refers to a software
architecture in which a single
instance of software runs on a
server and serves multiple
tenants."
- Wikipedia
15. What we want to achieve?
Reduce infrastructure costs by sharing hardware resources
Simplify software maintenance by keeping a single code base
Simplify infrastructure maintenance by having fewer nodes
44. SELECT id, duration FROM ibm.spinner_spin
WHERE duration > 120
UNION
SELECT id, duration FROM vinta.spinner_spin
WHERE duration > 120;
Querying across schemas
45. SELECT uuid, duration FROM ibm.spinner_spin
WHERE duration > 120
UNION
SELECT uuid, duration FROM vinta.spinner_spin
WHERE duration > 120;
Querying across schemas
46. Upsides
Querying looks same as standard application
New schemas created automatically
Knows how to handle migrations
Simpler infrastructure
47. Drawbacks
Be carefull with too many schemas (maybe not more than 100's clients?)
Tests need some setup and might get slower
Harder to query across schemas