SaaS database design - Multiple Databases? Split?

Vyrotek picture Vyrotek · Sep 16, 2008 · Viewed 19.2k times · Source

I've seen SaaS applications hosted in many different ways. Is it a good idea to split features and modules across multiple databases? For example, putting things like the User table on one DB and feature/app specific tables on another DB and perhaps other commonly shared tables in another DB?

Answer

Sergey Kornilov picture Sergey Kornilov · Sep 16, 2008

Start with one database. Split data/functionality when project requires it.

Here is what we can learn from LinkedIn:

  • A single database does not work
  • Referential integrity will not be possible
  • Any data loss is a problem
  • Caching is good even when it's modestly effective
  • Never underestimate growth trajectory

Source:

LinkedIn architecture

LinkedIn communication architecture