Una volta ho avuto più siti web che sono diventati popolari nel tempo. Hanno utilizzato database separati, soprattutto perché il provider di hosting ha consentito solo uno spazio di archiviazione di 1 GB 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.
Quindi ho ottimizzato la struttura del database e ho spremuto le parti rilevanti in questo database centrale, ma ho lasciato tutto fuori.
La mia opinione è in qualche modo correlata ai paradigmi di OOP. Dati simili devono essere archiviati insieme, quindi se costruisci applicazioni diverse, dovresti usare diversi database per loro.
Nel caso precedente non è possibile evitare il db comune, ma ricorda che ho anche tenuto alcuni tavoli separati in un db separato, che non fa parte delle query comuni.
Inoltre, se li tenete separati, saranno più facili da eseguire 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 diventa incasinato, e fondamentalmente non vuoi esporre la tua app a questo pericolo.
Tutto sommato, puoi mantenere un database comune per le query comuni, ma anche mantenerne uno per ciascuna delle tue applicazioni.