← Questões de Banco de Dados

Banco de Dados · FGV · 2025

Questão comentada de Banco de Dados

O banco de dados H2 é uma ferramenta muito útil para desenvolvedores Java. Ele foi projetado para ser leve e pode ser incorporado diretamente em aplicativos Java. Com relação aos modos de conexão do H2, analise as afirmativas a seguir. I. No modo incorporado (embedded), um aplicativo abre um banco de dados dentro da mesma máquina virtual Java (JVM) usando JDBC. Este é o modo de conexão mais rápido e fácil. A desvantagem é que um banco de dados só pode ser aberto em uma máquina virtual por vez. Não há limite para o número de bancos de dados abertos simultaneamente ou para o número de conexões abertas. II. O modo misto (mixed) é uma combinação dos modos incorporado e servidor. O primeiro aplicativo que se conecta ao banco usando o modo incorporado, mas também inicia um servidor para que outros aplicativos (executados em diferentes processos ou JVM) possam acessar simultaneamente os mesmos dados. As conexões locais são tão rápidas quanto se o banco fosse usado apenas no modo incorporado, mas as conexões remotas são um pouco mais lentas. III. O modo em memória (in memory) é uma especialização do modo incorporado exclusivo para aplicações que usam o H2 em exclusivamente em memória. Todos os clientes que desejam se conectar (não importa se é uma conexão local ou remota) utilizam a mesmo URL do banco de dados. Além do desempenho a vantagem é o mecanismo de persistência de dados baseada em logs de transações. Está correto o que se afirma em

Gabarito: B

O H2 é um banco leve e muito usado em desenvolvimento Java porque pode funcionar de formas diferentes, dependendo da necessidade: embutido, servidor, misto e em memória. A lógica da questão gira justamente em separar o que é descrição correta do que é “enfeite” demais no texto. No modo embedded, o banco roda dentro da mesma JVM do aplicativo via JDBC, com acesso simples e rápido, mas sem permitir que o mesmo arquivo/banco seja aberto por mais de uma JVM ao mesmo tempo. Isso torna a afirmativa I correta. Já o modo mixed é uma combinação de embedded com server: o primeiro aplicativo acessa localmente e, ao mesmo tempo, inicia um servidor para permitir acesso de outros processos ou JVMs. As conexões locais continuam muito rápidas, e as remotas ficam um pouco mais lentas, o que bate com a afirmativa II. Esse comportamento é típico da documentação do H2, que diferencia bem desempenho local e remoto. A afirmativa III é a armadilha. O modo in memory não é uma “especialização” com persistência baseada em logs de transações para garantir armazenamento duradouro. Em geral, banco em memória significa que os dados ficam na RAM e se perdem quando a aplicação encerra, salvo configurações específicas de backup/persistência fora do conceito básico cobrado. Além disso, a descrição mistura ideia de conexão local e remota de forma imprecisa. Por isso, a correta é a letra B, porque somente I e II estão certas.

Continue treinando

Questões relacionadas