Boa tarde ! Estou desenvolvendo um projeto de aplicativo financeiro com ASP.NET MVC utilizando Banco SQL Server e estou na fase de definição da arquitetura dos dados. O aplicativo tem a pretenção de servir vários clientes e ai preciso decidir como vou armazenar os dados.
Opção A - Uma única base de dados onde os dados são identificados com um código de cliente que é testado nas SQLs.
Opção B - Uma base de dados contendo os logins e cada cliente tendo a sua base de dados específica para guardar os dados. Sendo que a base de dados específica deve ser criada em tempo de execução quando o usuário se cadastra para utilizar o sistema. Avaliando os prós e contras, estou inclinado a utilizar a opção "B" por conta dos quesitos segurança, performance e escalabilidade, mas a pretenção é levar o banco de dados para a Azure SQL Database e ai surgiram algumas dúvidas:
a-) Em relação a custos no Azure: a decisão pela opção "B" vai implicar em aumento dos custos ?
b-) Estou pensando em contratar o plano em DTUs com pool elastic e ir crescendo na medida da necessidade, alguém tem alguma experiência ? Se encaixa na minha necessidade ?
c-) Quanto a criação das bases de dados dos clientes em tempo de execução, será que vou ter alguma dificuldade. Em banco local funciona bem, mas no Azure não testei ainda.
d-) Se algum professor ou colega puder contribuir para essa minha decisão, agradeço.