Estou lendo hibernação e me deparei com declarações como "conexões JDBC abertas em várias solicitações não é uma coisa boa porque é um recurso caro".
O que se entende por recurso caro?
Editar: estou adicionando o que o usuário desconhecido adicionou como um comentário abaixo.
Se o estabelecimento de uma conexão com o banco de dados é caro, por que não usar a mesma coisa repetidamente (sem armazenar em cache), em vez de fechá-la e abri-la sempre?
language-agnostic
Vinoth Kumar CM
fonte
fonte
Respostas:
Um recurso caro é aquele que:
Cada um dos recursos caros pode fornecer problemas de escalabilidade . Em resumo, você não pode ter muitas dessas operações caras acontecendo ao mesmo tempo ou não poderá responder aos seus usuários com rapidez suficiente.
fonte
Pode ser uma variedade de coisas dependentes do recurso específico. Então você pode ter o seguinte:
e assim por diante.
Outras coisas que podem custar caro podem ser se exigir acesso ao disco rígido ou à rede durante a operação, etc.
fonte
Caro deve ser prefixado com "computacionalmente". A despesa computacional é usada para se referir à quantidade de tempo ou recursos (CPU, memória, disco, largura de banda da rede) necessários para concluir uma operação, algoritmo ou programa.
fonte
A despesa de conexões com o banco de dados vem de vários fatores.
Dito isso, você precisa manter a conexão (ou pelo menos a transação) aberta por tempo suficiente para garantir que sua transação seja aprovada no teste ACID . (Durável isolado consistente atômico)
fonte