Planejar a instalação do AlloyDB Omni em uma VM

Selecione uma versão da documentação:

Neste documento, descrevemos como se preparar para executar o AlloyDB Omni em qualquer ambiente Linux que seja compatível com ambientes de execução de contêineres.

Para uma visão geral do AlloyDB Omni, consulte Visão geral do AlloyDB Omni.

Tamanho e capacidade

O tamanho e a capacidade afetam diretamente o desempenho, a confiabilidade e a relação custo-benefício da sua instância do AlloyDB Omni. Ao migrar um banco de dados atual, os recursos de CPU e memória necessários são semelhantes aos requisitos do sistema de banco de dados de origem.

Planeje começar com uma implantação usando recursos correspondentes de CPU, RAM e disco, e use a configuração do sistema de origem como a configuração de referência do AlloyDB Omni. É possível reduzir o consumo de recursos depois de realizar testes suficientes da instância do AlloyDB Omni.

O dimensionamento de um ambiente do AlloyDB Omni inclui as seguintes etapas:

  1. Defina sua carga de trabalho.

    • Volume de dados: estime a quantidade total de dados que você vai armazenar no AlloyDB Omni. Considere os dados atuais e o crescimento projetado ao longo do tempo.

    • Taxa de transação: determine o número esperado de transações por segundo (TPS), incluindo leituras, gravações, atualizações e exclusões.

    • Simultaneidade: estime o número de usuários ou conexões simultâneas que acessam o banco de dados.

    • Requisitos de desempenho: defina os tempos de resposta aceitáveis para diferentes tipos de consultas e operações.

  2. Verifique se o hardware atende aos requisitos de dimensionamento.

    • CPU: o AlloyDB Omni se beneficia de sistemas com vários núcleos de CPU e é escalonado de maneira linear, dependendo da carga de trabalho. No entanto, o PostgreSQL de código aberto geralmente não se beneficia de mais de 16 vCPUs. Considere o seguinte:

      • O número de núcleos com base na simultaneidade e nas necessidades de computação da carga de trabalho.
      • Qualquer ganho que possa estar presente devido a uma mudança na geração ou plataforma da CPU.
    • Memória: aloque RAM suficiente para os buffers compartilhados do AlloyDB Omni para armazenamento em cache de dados e memória de trabalho para processamento de consultas. O requisito exato depende da carga de trabalho. Comece com 8 GB de RAM por vCPU.

    • Armazenamento

      • Tipo: com base nas suas necessidades, escolha entre o armazenamento NVMe local para performance ou o armazenamento SAN para escalonabilidade e compartilhamento de dados.

      • Capacidade: garanta armazenamento suficiente para seu volume de dados, índices, registro prévio de gravação (WAL), backups e crescimento futuro.

      • IOPS: estime as operações de entrada/saída por segundo (IOPS) necessárias com base nos padrões de leitura e gravação da sua carga de trabalho. Ao executar o AlloyDB Omni em uma nuvem pública, considere as características de desempenho do tipo de armazenamento para entender se é necessário aumentar a capacidade de armazenamento para atender a uma meta específica de IOPS.

Pré-requisitos para executar o AlloyDB Omni

Antes de executar o AlloyDB Omni, verifique se você atende aos requisitos de hardware e software a seguir.

Requisitos de hardware

SO/plataforma Hardware mínimo Hardware recomendado
Linux
  • CPU: x86-64 ou ARM com suporte a AVX2
  • RAM: 2GB
  • Espaço em disco1: 10 GB
  • CPU: x86-64 ou ARM com suporte a AVX2
  • RAM: 8 GB por vCPU alocada para o AlloyDB Omni
  • Espaço em disco1: 20 GB ou mais
macOS
  • CPU: Intel com suporte a AVX2 ou chip M
  • RAM: 2GB
  • Espaço em disco1: 10 GB
  • CPU: Intel com suporte a AVX2 ou chip M
  • RAM: 8 GB por vCPU alocada para o AlloyDB Omni
  • Espaço em disco1: 20 GB ou mais
  1. Recomendamos que você use um dispositivo de armazenamento dedicado de unidade de estado sólido (SSD) para armazenar seus dados. Se você usar um dispositivo físico para isso, recomendamos que ele seja conectado diretamente à máquina host.

Requisitos de software

SO/plataforma Software mínimo Software recomendado
Linux1
  • Um dos seguintes sistemas operacionais:
    • Ubuntu 22.04+
    • Debian 11
    • RHEL 8.10
  • Versão 4.18 ou mais recente do kernel do Linux
  • Cgroups v1 ou v2 ativados
  • Docker Engine 20.10 ou mais recente ou Podman 4.2.0 ou mais recente
  • Um dos seguintes sistemas operacionais:
    • Ubuntu 22.04+
    • Debian 11 ou 12
    • RHEL 9
  • Versão 6.1 ou mais recente do kernel do Linux ou qualquer versão anterior à 5.3 que tenha suporte para as diretivas MADV_COLLAPSE e MADV_POPULATE_WRITE
  • Cgroupsv2 ativado
  • Docker Engine 25.0.0 ou mais recente ou Podman 5.0.0 ou mais recente
macOS
  • Docker Desktop 4.20 ou mais recente
  • Docker Desktop 4.30 ou mais recente
  1. O AlloyDB Omni pressupõe que o SELinux, quando presente, esteja configurado no host para permitir a execução do contêiner, incluindo o acesso ao sistema de arquivos (ou que o SELinux esteja definido como permissivo).

Tipos de armazenamento compatíveis

O AlloyDB Omni oferece suporte a sistemas de arquivos em volumes de armazenamento de blocos em instâncias de banco de dados. Para sistemas de desenvolvimento ou teste menores, use o sistema de arquivos local do host em que o contêiner está sendo executado. Para cargas de trabalho empresariais, use o armazenamento reservado para instâncias do AlloyDB Omni. Dependendo das demandas definidas pela carga de trabalho do banco de dados, configure os dispositivos de armazenamento em uma configuração singleton com um dispositivo de disco para cada contêiner ou em uma configuração consolidada em que vários contêineres leem e gravam no mesmo dispositivo de disco.

Armazenamento local de NVMe ou SAN

O armazenamento local Non-Volatile Memory Express (NVMe) e o armazenamento de rede de área de armazenamento (SAN) oferecem vantagens distintas. A escolha da solução certa depende dos requisitos específicos da carga de trabalho, do orçamento e das necessidades futuras de escalonabilidade.

Para determinar a melhor opção de armazenamento, considere o seguinte:

  • Para priorizar o desempenho absoluto, escolha NVMe local.
  • Se você precisar de armazenamento compartilhado em grande escala, escolha SAN.
  • Se você precisar equilibrar performance e compartilhamento, considere usar SAN com NVMe em vez de Fabrics para ter acesso mais rápido.

Armazenamento NVMe local

O NVMe é um protocolo de alto desempenho projetado para unidades de estado sólido (SSDs). Para aplicativos que precisam de acesso rápido aos dados, o armazenamento NVMe local oferece os seguintes benefícios:

  • Os SSDs NVMe se conectam diretamente ao barramento PCIe (Peripheral Component Interconnect Express) para oferecer velocidades rápidas de leitura e gravação.
  • O armazenamento NVMe local oferece a menor latência.
  • O armazenamento NVMe local oferece a maior capacidade de processamento.

Para escalonar o armazenamento NVMe local, é necessário adicionar mais unidades a servidores individuais. No entanto, adicionar mais unidades a servidores individuais leva a pools de armazenamento fragmentados e possíveis complexidades de gerenciamento. O armazenamento NVMe local não foi projetado para compartilhamento de dados entre vários servidores. Como o armazenamento NVMe local é local, os administradores de servidores precisam se proteger contra falhas de disco usando hardware ou software Redundant Array of Inexpensive Disks (RAID). Caso contrário, a falha de um único dispositivo NVMe vai resultar em perda de dados.

Armazenamento SAN

A SAN é uma rede de armazenamento dedicada que conecta vários servidores a um pool compartilhado de dispositivos de armazenamento, geralmente SSDs ou armazenamento NVMe centralizado. Embora a SAN não seja tão rápida quanto a NVMe local, as SANs modernas, especialmente aquelas que usam NVMe over Fabrics, ainda oferecem excelente desempenho para a maioria das cargas de trabalho empresariais.

  • As SANs são altamente escalonáveis. Para adicionar mais capacidade de armazenamento ou desempenho, adicione novos arrays de armazenamento ou faça upgrade dos atuais. As SANs oferecem redundância na camada de armazenamento, fornecendo proteção contra falhas na mídia de armazenamento.

  • As SANs são excelentes para o compartilhamento de dados. Para ambientes empresariais que exigem alta disponibilidade, vários servidores podem acessar e compartilhar dados armazenados na SAN. Em caso de falha do servidor, é possível apresentar o armazenamento SAN a outro servidor no data center, permitindo uma recuperação mais rápida.

A seguir