Criação de bases e datasources

Bom dia,

Eu tenho pouco conhecimento em web e estou com as seguintes duvidas:

Qual o melhor jeito de se fazer e por quê?

Antes de começar, vou especificar o que eu estou usando: JSF, JPA, JBoss e Maven. Não sei se vai influenciar na minha duvida.

Apenas para aprendizado, eu estou criando um sistema com vários subsistemas - Gerenciamento de seriados que eu assisto e Gerenciamento da minha coleção de canivetes, como eu disse puramente para aprendizado kkkkkkkkk - mas enfim, imaginei isso como se fossem clientes reais, eu poderia ter um sistema com os subsistemas que o cliente quiser, porém, fico imaginando que não seria o mais correto criar uma única base de dados misturando as tabelas dos subsistemas, então no caso eu criaria uma base para cada subsistema e consequentemente um datasource para cada.

Aqui esta a minha primeira duvida, este seria o jeito mais correto e com melhor performance de se fazer? Ou uma única base com todas as tabelas seria melhor? Por quê?

E no caso eu poderia ?mistura-los?, por exemplo, se eu tenho dois subsistemas que utilizam endereço, eu poderia fazer uma base somente com os endereços (Pais, Estado, Cidade, CEP, DDD, Logradouro, etc.) e utilizar essa base em conjunto com as outras duas bases dos outros subsistemas.

Aqui esta a minha segunda duvida, basicamente a mesma da primeira, em questão de performance, segurança, reutilização, disponibilidade das tecnologias para fazer isso, como seria o jeito mais correto de se fazer?