3 ms·
By segregating as much as you can. Definitely not by putting everything in a single table. At the very least separate databases/schemas with proper permissions
by doliveira 5y ago
By segregating as much as you can. Definitely not by putting everything in a single table. At the very least separate databases/schemas with proper permissions so there's not any chance of data intermiBy segregating as much as you can. Definitely not by putting everything in a single table. At the very least separate databases/schemas with proper permissions so there's no chance of data intermixing.
The best would be multiple separate database instances, which is not even hard to manage specially for qualified engineers like Atlassian surely has plenty of. The problem are business decisions of ignoring the tech debt, usually...
- akie 5y agoNow every time you run a database migration, you have to adjust N tables - and in Atlassian's case, N is 200000. Is that better? It depends. There is no "best" way of doing multitenancy.
- hnlmorg 5y agoThat’s just an automation issue. It’s not like you have to write a bespoke database migration script per DB.
- robertlagrant 5y agoThe bug we are mitigating was also just an automation issue.
- hnlmorg 5y agoIt’s also pretty easy to foobar up a single DB instance if you don’t have proper guardrails in place. Automation wasn’t the issue here. It’s the symptom not the cause.
- robertlagrant 5y agoNo, the symptom was the loss of customer data.
- doliveira 5y agoWay easier, actually.
- doliveira 5y agoThere is a worst way of doing multitenancy, and that is sharing a single big table.