Arquitetura sistema para vários clientes

Olá pessoal, tenho uma dúvida de arquitetura. Imaginem que tenho um sistema Web acessando uma base de dados para um cliente, ok. Se eu vender esse mesmo sistema para um segundo cliente, ou mais, qual seria o correto? Uma base de dados para cada cliente? Colocar tudo na mesma base de dados?
Usarei data source, existe algo como utilizar mais que um datasource para acessar bases de dados diferentes pela mesma aplicação? Como funciona isso? Desde já agradeço. flw

Uma base de dados por cliente.

Ola Motavn,

pode fazer como o colega acima falou ou uma única base e criando regras para diferenciar os registros dos usuários ou utilizar uma arquitetura bem definida com Multi-tenancy.

Sim, existe como utilizar várias datasources, se for um container enterprise fica fácil a a configuração mas se for uma aplicação web-profile que rode em um servlet container por exemplo precisara tratar isso no java, mas tudo é possivel.

Entendi, obrigado pela resposta.