Per aumentare la velocità effettiva di lettura e la disponibilità del cluster di database, puoi creare un'istanza del pool di lettura asincrona dell'istanza del database. Un'istanza del pool di lettura fornisce una copia di sola lettura dell'istanza del database garantendo l'accesso ai dati anche se l'istanza del database non è disponibile.
Puoi definire la configurazione dell'istanza del pool di lettura nel file manifest dell'istanza del database. Ogni istanza del pool di lettura richiede la creazione di un file manifest univoco. Puoi creare fino a 20 istanze del pool di lettura.
Ogni istanza del pool di lettura occupa la stessa quantità di spazio di archiviazione dell'istanza di cui esegue la replica.
Crea un'istanza del pool di lettura asincrono
Puoi creare un numero qualsiasi di istanze del pool di lettura nel cluster di database. Per creare un'istanza del pool di lettura asincrono di AlloyDB Omni, completa i seguenti passaggi:
Crea il manifest dell'istanza del database per definire il tipo di istanza del pool di lettura:
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
Sostituisci quanto segue:
READ_POOL_INSTANCE_NAME
: un nome per questa risorsa, ad esempioread-pool-instance-1
.NAMESPACE
: lo spazio dei nomi del cluster di database.DB_CLUSTER_NAME
: il nome del cluster di database a cui appartiene l'istanza.READ_POOL_INSTANCE_SIZE
: il numero di nodi in un'istanza del pool di lettura. Questo determina la capacità di calcolo complessiva dell'istanza. Puoi avere un massimo di 20 nodi per istanza del pool di lettura.
Applica il manifest.
Verificare lo stato dell'istanza
Per verificare la disponibilità dell'istanza del pool di lettura, esegui il seguente comando:
kubectl get dbinstance -n NAMESPACE READ_POOL_INSTANCE_NAME -o jsonpath='{.status.conditions[?(@.type=="Available")].status}'
La risposta true
indica che l'istanza del pool di lettura può gestire le query, ma potrebbe non replicare i dati dall'istanza del database.
Per verificare lo stato dello streaming dell'istanza del pool di lettura, esegui il seguente comando:
kubectl get dbinstance -n NAMESPACE READ_POOL_INSTANCE_NAME -o jsonpath='{.status.conditions[?(@.type=="Streaming")].status}'
La risposta true
indica che l'istanza del pool di lettura è collegata all'istanza del database e trasmette attivamente le modifiche.
Quando l'istanza del database non è raggiungibile, l'istanza del pool di lettura continua a gestire le query. In questo caso, lo stato di disponibilità sarà true
, mentre lo stato dello streaming sarà false
.
Dopo aver configurato l'istanza del pool di lettura, tutte le inserzioni, gli aggiornamenti e le eliminazioni delle righe nell'istanza diventano leggibili nell'istanza del pool di lettura.