Em uma reunião técnica sobre a construção de um sistema ASP....
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa correta: D - permitir o reúso de conexões de banco de dados.
O tema da questão aborda um conceito importante no desenvolvimento de aplicações que interagem com bancos de dados, especialmente em ambientes .NET, que é o Connection Pooling. Para responder a essa questão, é necessário entender o que é Connection Pooling e porque ele é benéfico em aplicações que necessitam de acesso frequente a um banco de dados.
O Connection Pooling é uma técnica usada para melhorar o desempenho de execução de comandos em um banco de dados. Basicamente, ao invés de abrir e fechar uma conexão com o banco de dados a cada operação, a aplicação mantém um "pool" (conjunto) de conexões abertas e as reutiliza conforme necessário. Isso reduz o custo de criação e destruição de conexões, que são operações relativamente caras em termos de recursos e tempo, e assim melhora a eficiência geral do sistema.
A razão pela qual a alternativa D está correta é que ela precisamente captura a essência do Connection Pooling. Ao permitir que as conexões sejam reutilizadas, o sistema evita o overhead associado ao processo de estabelecer uma nova conexão com o banco de dados a cada requisição, o que inclui negociação de rede, autenticação, criação de sessão, entre outros. Portanto, o reúso de conexões contribui significativamente para a otimização do acesso ao banco de dados em aplicações ASP.NET.
As outras alternativas não descrevem adequadamente o conceito de Connection Pooling:
- A alternativa A erra ao sugerir que o Connection Pooling tem algo a ver com a verificação de carga do banco de dados, o que na verdade não é sua função.
- A alternativa B menciona a prevenção de ataques de SQL Injection, que é uma preocupação de segurança e não tem relação direta com a gerência de conexões de banco de dados.
- A alternativa C fala sobre impedir vazamento de memória em conexões de usuários, o que é uma preocupação válida em desenvolvimento de software, mas não é a característica definidora do Connection Pooling.
- A alternativa E discute o uso de uma camada de ORM (Object-Relational Mapping) como o NHibernate, o que é uma técnica para mapear objetos em código para tabelas de banco de dados, mas novamente, isso não tem relação direta com o gerenciamento de conexões que é o foco do Connection Pooling.
Compreender o Connection Pooling é crucial para qualquer desenvolvedor que trabalhe com aplicações que necessitem de interações frequentes e eficientes com um banco de dados, como é comum em sistemas desenvolvidos em ASP.NET.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
A técnica do Connection pooling permite a uma aplicação reusar conexões que existem em um pool ao invés de repetidamente fechar e criar novas conexões. Isto pode aumentar significativamente o desempenho e a escalabilidade das aplicações pois permite que um menor número de conexões atenda as requisições por conexões de uma aplicação visto que todas as conexões já estão prontas e criadas no pool a espera de serem utilizadas.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo