Desenvolver com o Spanner Omni

Desenvolver aplicativos com o Spanner Omni usando recursos compatíveis do Spanner. Embora muitos recursos sejam compartilhados com o Spanner, o Spanner Omni tem diferenças nas bibliotecas de cliente, na interface de linha de comando (CLI) e na funcionalidade do console.

Os recursos de desenvolvimento do Spanner compatíveis incluem:

principais diferenças

Embora grande parte da experiência de desenvolvimento do Spanner seja aplicável, as áreas a seguir são diferentes no Spanner Omni:

  • Bibliotecas de cliente compatíveis:o Spanner Omni é compatível com as bibliotecas de cliente Java, Go e Python.

  • Interface de linha de comando (CLI): a CLI do Spanner Omni é uma ferramenta dedicada e diferente da Google Cloud CLI. Embora compartilhe uma sintaxe semelhante, não é necessário fornecer a flag --instance ao executar comandos.

  • Limitações do console:o console do Spanner Omni é somente leitura. Portanto, não é possível usá-lo para modificar implantações ou bancos de dados.

Os seguintes recursos e práticas recomendadas do Spanner se aplicam ao Spanner Omni.

Melhores práticas e casos de usos

Siga estas práticas recomendadas e casos de uso para projetar e otimizar seus aplicativos para o Spanner Omni.

  • Spanner como um banco de dados de jogos: use a escalonabilidade e a consistência do Spanner para back-ends de jogos.

  • Práticas recomendadas de SQL: otimize suas consultas para melhorar a performance e a eficiência. A maioria dos conceitos se aplica ao Spanner Omni. Como o Spanner Omni não oferece suporte ao armazenamento em camadas, conceitos como a redução de predicado de carimbo de data/hora podem não se aplicar totalmente. Além disso, o Spanner Omni não tem recursos de visualização de plano de consulta.

Frameworks de linguagem

Integrar o Spanner Omni a frameworks de linguagem conhecidos:

Hibernate ORM

Use o mapeamento relacional de objetos (ORM) do Hibernate para mapear seus objetos Java com as tabelas do Spanner Omni. Para ver mais informações, consulte os seguintes tópicos:

GORM

Integre o Spanner Omni ao GORM, uma ferramenta de mapeamento relacional de objetos (ORM) para a linguagem de programação Go. Para usar os recursos de mapeamento objeto-relacional do GORM nos seus aplicativos Go. Para ver mais informações, consulte os seguintes tópicos:

Transações e simultaneidade

O Spanner Omni é compatível com os seguintes recursos de gerenciamento de transações:

Níveis de isolamento

Entenda os diferentes níveis de isolamento compatíveis com o Spanner Omni para garantir a consistência dos dados.

Otimização

Use essas técnicas para otimizar o desempenho e a capacidade de processamento das transações.

Bloqueio

Saiba como usar o bloqueio explícito para gerenciar o acesso simultâneo aos seus dados.

Acesso aos dados e modificação

Acesse e modifique seus dados usando métodos padrão do Spanner, incluindo as bibliotecas de cliente, a CLI e a DML.

Para saber como as bibliotecas de cliente gerenciam sessões, consulte Sessões. Embora os conceitos de sessão subjacentes se apliquem ao Spanner Omni, ele oferece suporte apenas a sessões multiplexadas.

Como ler dados

Leia dados do Spanner Omni usando vários métodos, incluindo leituras obsoletas e direcionadas.

Como modificar dados

Modifique seus dados usando DML, mutações ou a CLI.

Tipos de dados

O Spanner Omni é compatível com os seguintes tipos de dados para representar os dados do seu aplicativo:

Desenvolvimento e teste

Configure seu ambiente de desenvolvimento e o comportamento do aplicativo para garantir desempenho confiável e tratamento de erros.

Transmitir alterações de dados

Os fluxos de alterações do Spanner rastreiam mudanças no banco de dados, como inserções, atualizações e exclusões, quase em tempo real. Gerenciados usando DDL, eles capturam detalhes como chaves primárias e carimbos de data/hora de confirmação para bancos de dados inteiros ou tabelas específicas. Embora a funcionalidade seja quase idêntica entre o Spanner e o Spanner Omni, o Dataflow não é compatível com o Spanner Omni.

Para saber mais, veja:

Use a pesquisa de texto completo (FTS, na sigla em inglês) do Spanner para pesquisar palavras, frases ou números em tabelas. A FTS lê os dados confirmados mais recentes.

Os principais recursos da pesquisa de texto completo incluem:

Para usar a pesquisa de texto completo, crie índices de pesquisa nas colunas que você quer pesquisar. O Spanner divide os dados dessas colunas em palavras individuais. Ele atualiza o índice instantaneamente quando novos dados são adicionados.

As pesquisas de texto completo oferecem recursos avançados além da correspondência de texto padrão, como:

A funcionalidade de FTS é consistente entre o Spanner e o Spanner Omni.

Diferenças de texto completo no Spanner

O Spanner oferece suporte à funcionalidade principal de FTS que está no Spanner com as seguintes diferenças:

A seguir