Visão geral do Spanner Omni

O Spanner Omni é uma versão para download do Spanner que permite implantar a tecnologia de banco de dados distribuído do Google em data centers locais, nuvens públicas e no seu laptop. Ele oferece os principais recursos do Spanner, incluindo escalonabilidade horizontal, alta disponibilidade, conformidade com ACID e consistência externa forte, usando replicação baseada em Paxos, fragmentação automática e a API TrueTime definida por software.

O Spanner Omni integra modelos de dados relacionais, de gráficos, vetoriais e de chave-valor com recursos de análise operacional e de texto completo. Assim como o Spanner, o Spanner Omni oferece suporte ao GoogleSQL, PostgreSQL e à linguagem de gráficos do Spanner. É possível alcançar resiliência entre ambientes, portabilidade de aplicativos e um stack de desenvolvimento consistente em vários ambientes. O Spanner Omni oferece suporte a opções de implantação que incluem:

  • Máquinas virtuais
  • Contêineres Linux
  • Clusters do Kubernetes

A versão de pré-lançamento do Spanner Omni inclui a funcionalidade principal do Spanner, exceto os recursos de segurança empresarial e proteção de dados. Para acesso antecipado à edição com recursos completos, entre em contato com o Google.

Principais recursos

O Spanner Omni oferece os seguintes recursos:

  • Flexibilidade de implantação: execute o Spanner Omni no Linux ou macOS. O Spanner Omni oferece suporte a ambientes de nuvem pública, como Google Cloud o Google Kubernetes Engine (GKE) e o Cloud Storage e o Amazon Elastic Kubernetes Service (Amazon EKS) e o Amazon Elastic Compute Cloud (Amazon EC2), no local e em laptops.

  • Alta escalonabilidade: o Spanner Omni pode fragmentar seus dados automaticamente e equilibrar os fragmentos para alcançar o escalonamento elástico para leituras e gravações.

  • Alta disponibilidade: o Spanner Omni oferece várias topologias de implantação. O Spanner Omni oferece implantação multizonal e de vários clusters para fornecer alta disponibilidade em caso de falhas de zona ou cluster.

  • Consistência externa forte: o Spanner Omni oferece consistência transacional global usando o TrueTime baseado em software que pode ser implantado em qualquer ambiente.

  • Multimodelo interoperável: o Spanner Omni oferece suporte a vários modelos de dados (relacional, chave-valor, gráfico, vetor) e recursos (pesquisa de texto completo, processamento analítico) e fornece consultas entre modelos e transações compatíveis com ACID em diferentes modelos de dados.

  • Interface familiar: interaja com seus dados usando a CLI do Spanner, que inclui um shell SQL para consultas interativas. O Spanner Omni oferece suporte a dialetos do GoogleSQL, PostgreSQL e GQL, que permite migrar aplicativos atuais.

Topologias de implantação

O Spanner Omni usa uma hierarquia de regiões, zonas e servidores para definir a configuração de implantação. O Spanner Omni oferece as seguintes configurações de implantação:

  • Servidor único : o Spanner Omni é executado em uma única máquina. Essa topologia é uma boa opção para desenvolvimento local porque é executada em uma única máquina. Os upgrades para essa topologia causam inatividade.

  • Zona única (ou zonal) : todos os servidores do Spanner Omni fazem parte de uma zona. Use pelo menos três servidores para essa configuração de implantação. Para um tempo de atividade ideal, essa topologia tem metas de disponibilidade mais baixas porque uma falha de zona única pode causar uma interrupção.

  • Multizonal (ou regional) : o Spanner Omni distribui servidores em várias zonas. Todas as zonas estão em um único local. Para implantações multizonais, use pelo menos três zonas. Cada zona precisa ter pelo menos um servidor. Recomendamos o uso de três servidores em cada zona. Essa configuração de implantação oferece maior disponibilidade do que a implantação de zona única.

  • Vários clusters (ou multirregional) : os servidores do Spanner Omni residem em várias zonas em vários clusters. Para alta disponibilidade, use três zonas em dois ou mais clusters e configure cada zona com três ou mais servidores.

Requisitos do sistema

Para otimizar o desempenho, use os seguintes requisitos mínimos recomendados para implantações de servidor:

Ambiente SO ou plataforma Recomendação de hardware
No local Linux (RHEL 9, Ubuntu 22) 4 GB de RAM por vCPU, mais de 20 GB de espaço em disco
Nuvem (Google Cloud e AWS) VMs ou pods do Kubernetes 4 vCPUs, 16 GB de RAM por VM ou pod do Kubernetes
Desenvolvedor (laptops, computadores de mesa) macOS (M1, M2, M3) 4 GB de RAM, 10 GB de espaço em disco

Para armazenamento, é recomendado o armazenamento dedicado de unidade de estado sólido (SSD) com um sistema de arquivos ext4.

Conectividade e desenvolvimento

Para se conectar ao Spanner Omni e desenvolver aplicativos, considere as seguintes ferramentas:

  • Bibliotecas de cliente: é possível usar as bibliotecas de cliente do Spanner para Java e Go especificando o endpoint do Spanner Omni. Por exemplo, em Java, defina setExperimentalHost("http://localhost:15000").

  • PGAdapter: esse proxy permite que os aplicativos PostgreSQL atuais se conectem a bancos de dados de dialeto PostgreSQL do Spanner Omni usando o protocolo de fio PostgreSQL padrão.

  • Diagnóstico: um comando spanner admin diagnostics create dedicado coleta registros, rastreamentos e pilhas de threads para solução de problemas.