Nell'app che sto scrivendo ho separato l'utente e il database principale molto tempo fa per "ragioni di sicurezza". Tuttavia sta diventando sempre più difficile giustificare il sovraccarico e la difficoltà di gestire tale impostazione.
Per alcuni dettagli rapidi questa è un'app web PHP. Ci sono 2 connessioni mysqli separate, una per ogni database. Ogni database ha il proprio utente con le proprie credenziali. Ciò significa che non è possibile accedere al database principale con le credenziali del database utente
In teoria ciò previene il danno da SQL injection, la separazione di preoccupazioni, la sicurezza attraverso l'oscurità, ecc. Tuttavia, in termini di costi e benefici, perdo facilmente l'interoperabilità con la tabella utente e il resto del database, ad esempio joins.
Ci sono ragioni più concrete per cui una tale impostazione del database ha senso? È comune?