Para aumentar a taxa de transferência de leitura e a disponibilidade do cluster de banco de dados, crie uma instância de pool de leitura assíncrona da instância do banco de dados. Uma instância de pool de leitura fornece um clone de leitura somente da sua instância de banco de dados, garantindo o acesso aos dados mesmo que a instância de banco de dados fique indisponível.
É possível definir a configuração da instância do pool de leitura no arquivo de manifesto da instância do banco de dados. Cada instância de pool de leitura exige a criação de um arquivo de manifesto exclusivo. É possível criar até 20 instâncias do pool de leitura.
Cada instância do pool de leitura ocupa a mesma quantidade de armazenamento da instância replicada.
Criar uma instância assíncrona do pool de leitura
É possível criar qualquer número de instâncias de pool de leitura no cluster do banco de dados. Para criar uma instância de pool de leitura assíncrona do AlloyDB Omni, siga estas etapas:
Crie o manifesto da instância do banco de dados para definir o tipo de instância do pool de leitura:
apiVersion: alloydbomni.dbadmin.goog/v1 kind: DBInstance metadata: name: READ_POOL_INSTANCE_NAME namespace: NAMESPACE spec: instanceType: ReadPool nodeCount: READ_POOL_INSTANCE_SIZE dbcParent: name: DB_CLUSTER_NAME
Substitua:
READ_POOL_INSTANCE_NAME
: um nome para esse recurso, por exemplo,read-pool-instance-1
.NAMESPACE
: o namespace do cluster do banco de dados.DB_CLUSTER_NAME
: o nome do cluster de banco de dados ao qual a instância pertence.READ_POOL_INSTANCE_SIZE
: o número de nós em uma instância de pool de leitura. Isso determina a capacidade de computação geral da instância. É possível ter no máximo 20 nós por instância de pool de leitura.
Aplique o manifesto.
Verificar o status da instância
Para verificar a disponibilidade da instância do pool de leitura, execute o seguinte comando:
kubectl get dbinstance -n NAMESPACE READ_POOL_INSTANCE_NAME -o jsonpath='{.status.conditions[?(@.type=="Available")].status}'
A resposta true
indica que a instância do pool de leitura pode exibir consultas,
mas talvez não esteja replicando dados da instância do banco de dados.
Para verificar o status de streaming da instância do pool de leitura, execute o seguinte comando:
kubectl get dbinstance -n NAMESPACE READ_POOL_INSTANCE_NAME -o jsonpath='{.status.conditions[?(@.type=="Streaming")].status}'
A resposta true
indica que a instância do pool de leitura está conectada à instância do banco de dados e transmite ativamente as alterações.
Quando a instância do banco de dados não pode ser alcançada, a instância do pool de leitura continua
atendendo as consultas. Nesse caso, o status de disponibilidade será true
, e
o status de streaming será false
.
Depois de configurar a instância do pool de leitura, todas as inserções, atualizações e exclusões de linhas na instância vão ficar legíveis na instância do pool de leitura.