O AlloyDB Omni é implementado através de uma imagem do Docker, o que permite diferentes formas de personalização. Esta página mostra algumas das personalizações comuns usadas.
Para começar rapidamente com o AlloyDB Omni através da configuração predefinida, consulte o Início rápido: AlloyDB Omni.
Antes de começar
A tabela seguinte apresenta 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 para o processador Arm está em pré-visualização. |
O AlloyDB Omni é executado num contentor. Instale um tempo de execução de contentores, como o Docker ou o Podman, na sua máquina antes de instalar o AlloyDB Omni.
Servidor único
Monte um diretório de dados externo
Por predefinição, o comando no Início rápido: instale o AlloyDB Omni armazena os dados da base de dados numa área gerida pelo Docker. Esta opção é conveniente para começar, mas dificulta a localização e a utilização do diretório de dados. Em alternativa, pode configurar uma montagem de ligação para mapear o diretório de dados para uma localização conhecida no disco.
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.4
Substitua o seguinte:
CONTAINER_NAME
: o nome a atribuir a este novo contentor do AlloyDB Omni no registo de contentores da sua máquina anfitriã, por exemplo,my-omni
.NEW_PASSWORD
: a palavra-passe atribuída ao utilizadorpostgres
do novo contentor após a respetiva criação.DATA_DIR
: o caminho do sistema de ficheiros que quer que o AlloyDB Omni use para o respetivo diretório de dados.HOST_PORT
: a porta TCP na máquina anfitriã para a qual o contentor deve publicar a sua própria porta 5432. Para usar também a porta predefinida do PostgreSQL na máquina anfitriã, especifique5432
.
Ative ulimits
Os parâmetros ulimit especificam vários limites de processos que o contentor Docker pode usar. Para um desempenho ideal, o AlloyDB Omni ajusta as prioridades dos processos para permitir que os processos críticos do PostgreSQL sejam executados com uma prioridade mais elevada, ou seja, recebem uma maior atribuição de CPUs disponíveis. Para o permitir, especifique -20:-20
, que remove as limitações para o contentor AlloyDB Omni.
docker run --name CONTAINER_NAME \
-e POSTGRES_PASSWORD=NEW_PASSWORD \
--ulimit=nice=-20:-20 \
-p HOST_PORT:5432 -d google/alloydbomni:15.5.4
Especifique um controlador de registo
Por predefinição, o Docker não faz rotações de registos. Esta ação pode consumir muito espaço em disco e, eventualmente, levar à exaustão do espaço em disco. Pode configurar o Docker para usar um controlador de registo diferente. Por exemplo, para registar no journald:
docker run --name CONTAINER_NAME \
-e POSTGRES_PASSWORD=NEW_PASSWORD \
--log-driver=journald \
-p HOST_PORT:5432 -d google/alloydbomni:15.5.4
Para mais informações sobre o Docker e os controladores de registo, consulte a documentação do Docker Configure logging drivers.
Também pode configurar o registo através do PostgreSQL. Para mais informações, consulte a documentação do PostgreSQL Relatórios de erros e registo.
Monte um volume de memória partilhada
Se planeia usar o motor de colunas do AlloyDB com o AlloyDB Omni, recomendamos que disponibilize memória partilhada ao contentor do AlloyDB Omni. O método para o fazer varia consoante o sistema operativo do anfitrião, conforme mostrado nos exemplos seguintes.
Linux
Para disponibilizar a memória partilhada ao contentor, monte /dev/shm
:
docker run --name CONTAINER_NAME \
-e POSTGRES_PASSWORD=NEW_PASSWORD \
-p HOST_PORT:5432 \
-v /dev/shm:/dev/shm \
-d google/alloydbomni:15.5.4
macOS
Para disponibilizar a memória partilhada ao contentor, inclua a flag --shm-size
:
docker run --name CONTAINER_NAME \
-e POSTGRES_PASSWORD=NEW_PASSWORD \
-p HOST_PORT:5432 \
--shm-size=SHARED_MEMORY_SIZE \
-d google/alloydbomni:15.5.4
Substitua SHARED_MEMORY_SIZE
pelo tamanho a definir para /dev/shm
no contentor, no formato descrito em Executar contentores.
Por exemplo, para especificar um gigabyte, use o valor 1g
.
Recomendamos que defina o tamanho da memória partilhada para um número de megabytes igual a, pelo menos, o valor do seu banco de dados da flag google_job_scheduler.max_parallel_workers_per_job
, multiplicado por 250. Para mais informações
acerca do motor de colunas, consulte o artigo Configure o motor de colunas no AlloyDB Omni.
Por exemplo, se a flag google_job_scheduler.max_parallel_workers_per_job
database
estiver definida para o valor predefinido de 2
, considere adicionar uma flag de --shm-size=500m
ou superior ao iniciar o servidor da base de dados.
Para mais informações sobre a flag --shm-size
, consulte o artigo Executar contentores.