In the situation of a web application that organizations can sign up for and use to manage data, what are the pros and/or cons of the two following options?
One database per organization where the data for each organization is entirely separated into individual databases, with one (very small) centralized database that keeps a basic listing of the organizations and their database identifiers.
One database for the entire application where all the entities are stored in one large database and separated using an organization identifier column on each table.
Some other aspects to consider:
From your experience and/or knowledge, what is the right way to go about this design decision (or is there a "right" way at all?)
Here is an in-depth discussion on MSDN (Multi-Tenant Data Architecture).
I would add that there is no right/wrong way. It all depends on requirements, existing expertise and cost.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With