WEBAPI NET CORE NF-E

 Tópico anterior Próximo tópico Novo tópico

WEBAPI NET CORE NF-E

C#

 Compartilhe  Compartilhe  Compartilhe
#485095 - 26/10/2018 10:39:25

GUIMORAES
ITAPETININGA
Cadast. em:Agosto/2009


Citação:
Você pode fornecer o nome dessa empresa?


Vivo


O que o nosso amigo lampião descreveu acima é o que vai acontecer em um futuro não muito distante, quando você tiver um quadro de clientes que utilizam sua aplicação a todo vapor, e não tem disponibilidade de recursos, este é o pior cenário possível, e que acontece se você não tiver controle total do seu servidor.

Sobre o banco de dados, vai depender muito da forma que você quer trabalhar, por exemplo, um banco de dados para todos os seus clientes ou um para cada.
Trabalho com SQL Server, Oracle, Mysql, Postgresql, Firebird, e todos eles tem seus prós e contras (mais prós), mas a integração .net e SQL Server é um fator a ser levado em consideração. É claro que isto não é só uma particularidade do SQL server, você pode utilizar o Entity Framework com qualquer um desses que citei acima, não da mesma forma como o SQL Server, mas com alguns ajustes você consegue tirar o mesmo proveito.
Todos os bancos de dados que citei acima, possuem disponibilidade no linux, o que é uma grande vantagem.
Hoje eu trabalho com um banco de dados por cliente, acho mais seguro. Mas leve em consideração que para cada banco de dados, você terá mais recursos sendo consumidos, como processamento e memória. Em contra partida, dificilmente um banco de dados passa de 5 gigabytes de tamanho (no meu caso), o que se enquadra no express do SQL Server.

Sobre a estrutura ideal, um servidor para aplicação e outro para banco de dados, este é o melhor cenário.
Além de tudo isso, você tem que se preocupar com o backup destas informações.
Você também terá que pensar em escalabilidade, hoje você atende 6 clientes, daqui um ano, você pode estar atendendo 100, 200, ou até 1000 clientes, pense na quantidade de informação. Aí você já entra em outro patamar, e é necessário distribuir esses serviços (computação distribuída).

Pois bem, você só vai entender tudo isso quando a sua aplicação estiver em produção.




#485098 - 26/10/2018 11:07:58

MRSILVA
MARINGA
Cadast. em:Julho/2015


Muito obrigado Guimoraes.

Queria tirar só mais uma dúvida para encerrar essa questão, as informações que vocês me passaram estão me ajudando muito.

Meus clientes na questão de quantidade de dados se encaixam no SQLSERVER EXPRESS ainda mais se utilizar um banco para cada cliente, são empresas pequenas, com base na sua experiencia se tiver uma boa internet e um bom servidor para as WEB API e outro servidor só para o banco de dados,  com sua experiencia você acha pelo motivo do SQL SERVER EXPRESS ter uma limitação de utilização da memoria do servidor teria performance aceitável, inicialmente daria para começar dessa forma? Claro que conforme meus cliente aumentar iria investir mais.

Desde já agradeço.



#485105 - 26/10/2018 16:20:05

LAMPIAO
SAO CAETANO DO SUL
Cadast. em:Setembro/2004


Rapaz você pode usar o SQLExpress tem a versão também que vc instala no linux já fiz vários testes e funciona muito bem, eu uso a versão express para windows desde a 2012, a capacidade por banco é de 10GB, o único problema é o limite de memória e processador, E é ai que entra o tunning do banco de dados, se ele for bem feito, nada de consultas SELEC * FROM, sempre mantendo o bom senso nas consultas ao banco, vc não deve ter problemas, eu já tive problemas por culpa minha mesmo, consultas mal elaboradas, que foram resolvidas refazando essas consultas corretamente, e olha que tenho varios clientes com base de dados de produtos muito grande na ordem de 50 mil itens, fora os outros registros, então eu sempre limito a busca para trazer no máximo 300 itens, se o usuário quiser algo específico terá que refinar a busca, então nada de SELEC * FROM., nada de joins desnecessários, nada de consultas mirabolantes, e muito cuidado com as consultas montadas no linq, pode ser um espinho no sapato. O segredo é ter um banco de dados bem desenhado e saber levar e trazer informações dele.

Mas se vc esta começando agora, o mySQL esta com um suporte muito bom no EntityframeWork Core, eu começaria com ele pois não tem limite, o limite dele esta na própria máquina onde esta instalado, rápido, leve, enfim não há motivo para não usá-lo.

Abraços



#485106 - 26/10/2018 16:59:43

MRSILVA
MARINGA
Cadast. em:Julho/2015


Última edição em 26/10/2018 17:00:50 por MRSILVA

Mais uma vez obrigado pela sua ajuda esse tópico deu outra alternativa para mim.

Vou manter no SQLSERVER EXPRESS, sobre sua sugestão de trabalhar com consultas bem elaboradas, sempre tento seguir esse critério também, quando eu programava em VBA (access) já faz tempo,  utilizando Access como banco de dados tinha que ter esse cuidado também se não a aplicação travava aprendi na marra esse detalhe e levo até hoje nas aplicações que escrevo em C#.

Minhas dúvidas foram todas resolvidas, muito obrigado Lampiao e Guimoraes por compartilhar suas experiencias.

Vou deixar o tópico aberto por mais um tempo, caso alguém quiser postar mais alguma coisa.







 Tópico anterior Próximo tópico Novo tópico


Tópico encerrado, respostas não sao permitidas
Encerrado por MRSILVA em 30/10/2018 14:20:47