Pergunto isso especificamente para o SQL Server, as vantagens que vejo para vários bancos de dados são:
- Os logs são menores (portanto, uma transação descontrolada não pode causar a interrupção de outras (replicação, etc.)
- Uma corrupção de página não afeta vários aplicativos (isso pode ser isolado usando grupos de arquivos?)
Não consigo encontrar nenhum benefício em uma única arquitetura de banco de dados (talvez o gerenciamento de código seja mais simples).
Qual arquitetura você escolheu e por quê?
Concordo com mrdenny ter 1 banco de dados por aplicativo . Existem muitos bons motivos para fazer isso:
Acima estão apenas algumas vantagens de usar 1 banco de dados por aplicativo. Há mais, como ter diferentes requisitos de modelos de recuperação de banco de dados, agendamentos de backup, agrupamento, etc.
Além disso, você pode pensar em separar logicamente dentro do banco de dados usando esquemas diferentes.
Eu sempre colocaria um aplicativo por banco de dados. Dessa forma, à medida que os aplicativos crescem, posso mover aplicativos ocupados para novos servidores sem ter que derramar os bancos de dados. Além disso, ter vários bancos de dados cria uma parede de segurança entre os bancos de dados.
Os dados são transacionalmente consistentes em todos os aplicativos?