Perguntas frequentes sobre o driver JDBC do Spanner

Nesta página, descrevemos o driver JDBC do Spanner, que é recomendado e criado pelo Google. Apenas para o dialeto GoogleSQL, há também um driver JDBC criado pela Simba.

O Google oferece um driver JDBC de código aberto para o Spanner. O driver de código aberto permite que os aplicativos acessem o Spanner por meio da API Java Database Connectivity (JDBC).

Nesta página, respondemos às perguntas frequentes sobre o driver JDBC do Spanner. Para saber como usar o driver, consulte Conectar o JDBC a um banco de dados do dialeto GoogleSQL.

Posso usar esse driver para emitir instruções de linguagem de manipulação de dados (DML, na sigla em inglês) e de linguagem de definição de dados (DDL, na sigla em inglês)?

Sim, este driver é compatível com instruções DML e DDL.

Como esse driver lida com os relacionamentos de tabela pai-filha ou tabela intercalada do Spanner?

Os relacionamentos de tabelas intercaladas são mapeados para relacionamentos de chave estrangeira no JDBC. No Spanner, um registro na tabela filha intercalada com uma mãe tem a chave primária dependente da chave primária do registro da tabela mãe associada. O Spanner define a parte da chave primária mãe da tabela filha da chave primária dele como a chave externa, fazendo referência à chave primária da tabela mãe. Dessa forma, é possível navegar pelos relacionamentos de tabela intercalada usando as chamadas de metadados de chave externa em DatabaseMetaData. Leia mais detalhes em Sobre esquemas.

Todos os tipos de dados do Spanner são compatíveis com este driver?

O driver JDBC do Spanner não é compatível com o tipo de dados STRUCT do Spanner. Todos os outros tipos têm mapeamentos apropriados.

Esse driver é compatível com índices?

Sim. É possível usar índices em consultas SELECT usando a sintaxe de consulta apropriada. O driver de código aberto também pode criar e modificar índices como instruções DDL. É possível acessar informações sobre índices específicos usando o método DatabaseMetaData.getIndexInfo().

Esse driver é compatível com consultas parametrizadas?

Sim, este driver é compatível com a parametrização posicional.

Preciso fornecer meu próprio pool de conexões?

O driver JDBC do Spanner processa o pool internamente, monitorando todas as conexões que foram abertas, bem como as propriedades de conexão que foram usadas para abri-las. Essas conexões de pool são reutilizadas, por exemplo, quando é necessária uma nova conexão que tenha as mesmas propriedades de uma conexão atual. Uma conexão é fechada automaticamente se não é usada nos últimos 60 segundos.

Se você quiser fornecer seu próprio pool, use qualquer pool de conexões JDBC padrão. Configure o pool para usar a classe de driver com.google.cloud.spanner.jdbc.JdbcDriver e defina um URL de conexão JDBC válido do Spanner.

Há outras limitações a serem consideradas ao usar esse driver?

Os recursos desse driver têm limites definidos pelo sistema subjacente. Consulte as cotas e limites do Spanner.

Como posso receber suporte para este driver?

Consulte a página de suporte para mais as opções.

A seguir

Saiba como conectar o JDBC a um banco de dados do dialeto GoogleSQL.