O AlloyDB Omni é implantado por uma imagem Docker, que permite diferentes formas de personalização. Esta página mostra algumas das personalizações comuns que são usadas.
Para começar a usar o AlloyDB Omni rapidamente com a configuração padrão, consulte Guia de início rápido: AlloyDB Omni.
Antes de começar
A tabela a seguir lista a configuração de hardware e software recomendada para o AlloyDB Omni.
| SO/plataforma | Configuração de hardware recomendada | Configuração de software recomendada |
|---|---|---|
| Linux |
|
|
| macOS |
|
|
| (*) O suporte ao Arm está em pré-lançamento. | ||
O AlloyDB Omni é executado em um contêiner. Instale um ambiente de execução de contêiner, como o Docker ou o Podman, na sua máquina antes de instalar o AlloyDB Omni.
Os comandos do Podman são fornecidos para um contêiner sem raiz em execução no Security-Enhanced Linux (SELinux) desativado.
Servidor único
Montar um diretório de dados externo
Por padrão, o comando no Guia de início rápido: instalar o AlloyDB Omni armazena os dados do banco de dados em uma área gerenciada pelo Docker. Isso é conveniente para começar, mas dificulta a localização e o uso do diretório de dados. Em vez disso, você pode configurar uma montagem de vinculação para mapear o diretório de dados para um local conhecido no disco.
Docker
docker run --name CONTAINER_NAME \
-e POSTGRES_PASSWORD=NEW_PASSWORD \
-v DATA_DIR:/var/lib/postgresql/data \
-p HOST_PORT:5432 -d google/alloydbomni:15.5.5Substitua:
CONTAINER_NAME: o nome a ser atribuído a esse novo contêiner do AlloyDB Omni no Container Registry da máquina host. Por exemplo,my-omni.NEW_PASSWORD: a senha atribuída ao novo usuáriopostgresdo contêiner após a criação.DATA_DIR: o caminho do sistema de arquivos que você quer que o AlloyDB Omni use para o diretório de dados.HOST_PORT: a porta TCP na máquina host em que o contêiner publica a porta 5432. Para usar a porta padrão do PostgreSQL na máquina host também, especifique5432.
Podman
podman run --name CONTAINER_NAME \
-e POSTGRES_PASSWORD=NEW_PASSWORD \
-v DATA_DIR:/var/lib/postgresql/data \
-p HOST_PORT:5432 -d google/alloydbomni:15.5.5Substitua:
CONTAINER_NAME: o nome a ser atribuído a esse novo contêiner do AlloyDB Omni no Container Registry da máquina host. Por exemplo,my-omni.NEW_PASSWORD: a senha atribuída ao novo usuáriopostgresdo contêiner após a criação.DATA_DIR: o caminho do sistema de arquivos que você quer que o AlloyDB Omni use para o diretório de dados.HOST_PORT: a porta TCP na máquina host em que o contêiner publica a porta 5432. Para usar a porta padrão do PostgreSQL na máquina host também, especifique5432.
Podman
podman run --name CONTAINER_NAME \
-e POSTGRES_PASSWORD=NEW_PASSWORD \
-v DATA_DIR:/var/lib/postgresql/data \
-p HOST_PORT:5432 -d google/alloydbomni:15.5.5Substitua:
CONTAINER_NAME: o nome a ser atribuído a esse novo contêiner do AlloyDB Omni no Container Registry da máquina host. Por exemplo,my-omni.NEW_PASSWORD: a senha atribuída ao novo usuáriopostgresdo contêiner após a criação.DATA_DIR: o caminho do sistema de arquivos que você quer que o AlloyDB Omni use para o diretório de dados.HOST_PORT: a porta TCP na máquina host em que o contêiner publica a porta 5432. Para usar a porta padrão do PostgreSQL na máquina host também, especifique5432.
Ativar ulimits
Os parâmetros ulimit especificam limites de processo que o contêiner do Docker pode usar. Para uma performance ideal, recomendamos que você defina os seguintes ulimits:
nice=-20:-20: o AlloyDB Omni ajusta as prioridades do processo para permitir que os processos críticos do PostgreSQL sejam executados com maior prioridade. A maior prioridade oferece aos processos uma alocação maior de CPUs disponíveis. Para ajustar as prioridades do processo, especifique--ulimit=nice=-20:-20, que remove as limitações do contêiner do AlloyDB Omni.memlock=-1:-1: o AlloyDB Omni realiza o gerenciamento automático de memória. A configuração de--ulimit=memlock=-1:-1permite que o banco de dados controle melhor como as páginas de memória são trocadas, o que pode resultar em melhor performance.
Docker
docker run --name CONTAINER_NAME \
-e POSTGRES_PASSWORD=NEW_PASSWORD \
--ulimit=nice=-20:-20 --ulimit=memlock=-1:-1 \
-p HOST_PORT:5432 -d google/alloydbomni:15.5.5Podman
podman run --name CONTAINER_NAME \
-e POSTGRES_PASSWORD=NEW_PASSWORD \
--ulimit=nice=-20:-20 --ulimit=memlock=-1:-1 \
-p HOST_PORT:5432 -d google/alloydbomni:15.5.5Especificar um driver de registro
Por padrão, o Docker não realiza rotações de registro. Isso pode usar muito espaço em disco e, eventualmente, levar ao esgotamento do espaço em disco. É possível configurar o Docker para usar um driver de registro diferente. Por exemplo, para fazer login no journald:
Docker
docker run --name CONTAINER_NAME \
-e POSTGRES_PASSWORD=NEW_PASSWORD \
--log-driver=journald \
-p HOST_PORT:5432 -d google/alloydbomni:15.5.5Podman
podman run --name CONTAINER_NAME \
-e POSTGRES_PASSWORD=NEW_PASSWORD \
--log-driver=journald \
-p HOST_PORT:5432 -d google/alloydbomni:15.5.5Para mais informações sobre o Docker e os drivers de registro, consulte a documentação do Docker Configurar drivers de registro.
Também é possível configurar o registro usando o PostgreSQL. Para mais informações, consulte a documentação do PostgreSQL Error Reporting e geração de registros.
Montar um volume de memória compartilhada
Se você planeja usar o mecanismo colunar do AlloyDB com o AlloyDB Omni, recomendamos disponibilizar a memória compartilhada para o contêiner do AlloyDB Omni. O método para fazer isso varia de acordo com o sistema operacional host, conforme mostrado nos exemplos a seguir.
Linux
Para disponibilizar a memória compartilhada para o contêiner, monte /dev/shm:
Docker
docker run --name CONTAINER_NAME \
-e POSTGRES_PASSWORD=NEW_PASSWORD \
-p HOST_PORT:5432 \
-v /dev/shm:/dev/shm \
-d google/alloydbomni:15.5.5Podman
podman run --name CONTAINER_NAME \
-e POSTGRES_PASSWORD=NEW_PASSWORD \
-p HOST_PORT:5432 \
-v /dev/shm:/dev/shm \
-d google/alloydbomni:15.5.5macOS
Para disponibilizar a memória compartilhada para o contêiner, inclua a flag --shm-size:
Docker
docker run --name CONTAINER_NAME \
-e POSTGRES_PASSWORD=NEW_PASSWORD \
-p HOST_PORT:5432 \
--shm-size=SHARED_MEMORY_SIZE \
-d google/alloydbomni:15.5.5Substitua SHARED_MEMORY_SIZE pelo tamanho a ser definido para /dev/shm no
contêiner, no formato descrito em Execução de contêineres.
Por exemplo, para especificar um gigabyte, use o valor 1g.
Podman
podman run --name CONTAINER_NAME \
-e POSTGRES_PASSWORD=NEW_PASSWORD \
-p HOST_PORT:5432 \
--shm-size=SHARED_MEMORY_SIZE \
-d google/alloydbomni:15.5.5Substitua SHARED_MEMORY_SIZE pelo tamanho a ser definido para /dev/shm no
contêiner, no formato descrito em Execução de contêineres.
Por exemplo, para especificar um gigabyte, use o valor 1g.
Recomendamos definir o tamanho da memória compartilhada como um número de megabytes igual a
pelo menos o valor da flag do banco de dadosgoogle_job_scheduler.max_parallel_workers_per_job, vezes 250. Para mais informações
sobre o mecanismo colunar, consulte Configurar o mecanismo colunar no AlloyDB Omni.
Por exemplo, se a flag de banco de dados google_job_scheduler.max_parallel_workers_per_job estiver definida como o valor padrão de 2, considere adicionar uma flag de --shm-size=500m ou maior ao iniciar o servidor de banco de dados.
Para mais informações sobre a flag --shm-size, consulte Execução de contêineres.