Una volta avevo più siti Web che sono diventati popolari nel tempo. Hanno usato database separati, principalmente perché il provider di hosting ha concesso solo 1 GB di spazio di archiviazione ciascuno. Ma! Non appena ho rilasciato un servizio che includeva tutti questi siti Web, ho iniziato a dover effettuare transazioni tra questi siti Web e il modo più conveniente per farlo è sicuramente spostare tutto in un unico grande database.
Così ho ottimizzato la struttura del database e ho compresso le parti rilevanti in questo database centrale, ma ho lasciato fuori tutto il resto.
La mia opinione è in qualche modo collegata ai paradigmi di OOP. Dati simili devono essere archiviati insieme, quindi se si creano applicazioni diverse, è necessario utilizzare database diversi per esse.
Nel caso precedente non è possibile evitare l'uso del db comune, ma ricordare che ho anche tenuto alcuni tavoli separati in un db separato, che non fanno parte delle query comuni.
Inoltre, se li mantieni separati, sarà più facile il backup, ci saranno meno possibilità di perdita di dati. Se qualcosa va storto e le applicazioni interferiscono l'una con l'altra, il database viene incasinato e sostanzialmente non vuoi esporre la tua app a questo pericolo.
Tutto sommato, è possibile mantenere un database comune per le query comuni, ma conservarne anche uno per ciascuna delle applicazioni.