Panoramica di AlloyDB

AlloyDB per PostgreSQL è un servizio di database completamente gestito e compatibile con PostgreSQL, progettato per i carichi di lavoro più impegnativi, tra cui l'elaborazione analitica e transazionale ibrida. AlloyDB abbina un motore del database creato da Google a un'architettura multinodo basata su cloud per offrire prestazioni, affidabilità e disponibilità di livello enterprise.

Come funziona AlloyDB

Un'applicazione si connette alle istanze AlloyDB utilizzando protocolli e tecniche PostgreSQL standard. L'applicazione quindi utilizza la sintassi delle query PostgreSQL per lavorare con il database.

All'interno, AlloyDB utilizza una gerarchia basata su cloud di componenti e funzionalità progettate per massimizzare la disponibilità dei dati e ottimizzare le prestazioni e il throughput delle query. Google CloudGli strumenti di amministrazione ti consentono di monitorare l'integrità del deployment di AlloyDB, regolandone la scala e le dimensioni in base alle esigenze mutevoli del tuo carico di lavoro.

Cluster

Un singolo deployment di AlloyDB all'interno di una determinata Google Cloud regione organizza tutte le sue risorse in un unico cluster. Sono inclusi tutti i tuoi database, log e altri metadati. AlloyDB esegue il deployment di tutte le risorse di un cluster all'interno di un unico Virtual Private Cloud (VPC) e utilizza un file system basato su cloud progettato da Google e ottimizzato per AlloyDB.

Nodi e istanze

Un cluster contiene diversi nodi, ovvero istanze di macchine virtuali dedicate all'esecuzione del motore del database compatibile con PostgreSQL utilizzato dalle applicazioni per eseguire query sui dati del cluster. AlloyDB organizza i nodi in istanze, ciascuna delle quali ha un indirizzo IP privato statico nel tuo VPC. In pratica, le applicazioni si connettono alle istanze su questi indirizzi IP utilizzando i protocolli PostgreSQL. Le istanze poi trasmettono le query SQL ai propri nodi.

AlloyDB ha due tipi di istanze:

  • Istanzia principale:ogni cluster ha un'istanza principale che fornisce un punto di accesso in lettura o scrittura ai dati. Un'istanza principale può essere di alta disponibilità (HA) o di base.

    • Istanzia principale ad alta disponibilità: un'istanza principale ad alta disponibilità ha due nodi: un nodo attivo e un nodo in standby. AlloyDB monitora la disponibilità del nodo attivo e, se necessario, promuove automaticamente il nodo di riserva al nodo attivo.

    • Istanze di base: gli ambienti non di produzione che non richiedono un'elevata disponibilità possono facoltativamente utilizzare istanze di base. Un'istanza di base ha un solo nodo, senza nodo di riserva. Per ulteriori informazioni, consulta la sezione Ridurre i costi utilizzando istanze di base.

  • Istanze del pool di lettura: facoltativamente, il cluster può avere una o più istanze del pool di lettura, ciascuna contenente uno o più nodi di sola lettura, fino a un massimo di 20 a livello di cluster. AlloyDB bilancia automaticamente tutte le richieste inviate a un'istanza del pool di lettura, inoltrandole ai nodi dell'istanza.

Per casi d'uso più semplici, un cluster può avere solo l'istanza principale, senza pool di lettura, e le applicazioni utilizzano l'istanza principale per tutte le query. Per attività più impegnative, puoi aggiungere istanze del pool di lettura al cluster. Poi, configura le applicazioni di generazione di report o di analisi in modo da inviare richieste di lettura. Questa tecnica riduce il carico sull'istanza principale e migliora la scalabilità distribuendo il carico su più nodi.

Puoi aggiungere, rimuovere o modificare il numero di nodi di un'istanza del pool di lettura in qualsiasi momento, in base alle esigenze della tua applicazione. Puoi anche ridimensionare la memoria e il numero di vCPU dei nodi costituenti di un'istanza in qualsiasi momento, con un tempo di riposo minimo. Il ridimensionamento delle istanze non comporta il rischio di perdita di dati, perché AlloyDB archivia i dati nel livello di archiviazione flessibile del cluster e non nelle istanze.

Questo diagramma mostra un cluster di esempio scalato per gestire workload impegnativi, con l'inclusione di più istanze di sola lettura per il bilanciamento del carico:

Diagramma che mostra un cluster contenente un'istanza principale e istanze di pool di lettura

Funzionalità principali

AlloyDB si distingue da un'installazione PostgreSQL standard in diversi modi, oltre ai vantaggi della scalabilità verticale e orizzontale insiti nell'architettura multinodo descritta in precedenza. Le seguenti sezioni forniscono un approfondimento delle funzionalità principali di AlloyDB.

Funzionalità di database automatiche e adattive

Il motore del database completamente compatibile con PostgreSQL alla base di ogni nodo AlloyDB dispone di diverse funzionalità che analizzano continuamente la struttura e la frequenza delle query gestite dalle istanze, utilizzando queste informazioni per suggerire miglioramenti allo schema o applicare automaticamente le ottimizzazioni:

  • Un consulente per gli indici ti aiuta a trovare opportunità per ottimizzare lo schema del database utilizzando nuovi indici in base ai tuoi pattern di utilizzo.

  • Un motore colonnare può accelerare le prestazioni delle query analitiche memorizzando i dati in memoria utilizzando un formato colonnare. In questo modo, AlloyDB può utilizzare tecniche di elaborazione avanzate per eseguire la scansione efficiente di una grande quantità di dati di tabella, se necessario.

  • Una variazione adattiva della funzionalità di autovacuum dei dati inutilizzati di PostgreSQL regola automaticamente i parametri correlati alla pulizia in base alla forma del carico di lavoro.

  • I sistemi di gestione automatica della memoria e dello spazio di archiviazione sfruttano l'ambiente cloud creato da Google su cui viene eseguito AlloyDB, allocando e rilasciando continuamente memoria e spazio di archiviazione in base alle esigenze per mantenere il cluster in esecuzione con prestazioni ottimali ed efficienza delle risorse.

Alta disponibilità

Per impostazione predefinita, un cluster AlloyDB offre disponibilità (HA) tramite i nodi ridondanti della sua istanza principale, situati in due zone diverse, con failover automatico.

I cluster che operano in ambienti di produzione che non richiedono l'HA possono optionally utilizzare istanze principali di base a zona singola.

L'aggiunta di istanze del pool di lettura contenenti almeno due nodi crea ulteriori punti di accesso ad alta disponibilità, bilanciati in base al carico e multizonali ai tuoi dati. Tutte le istanze del pool di lettura vengono eseguite indipendentemente dall'istanza principale.

Per ulteriori informazioni sulle considerazioni specifiche per regione, consulta Geografia e regioni.

Backup dei dati e ripristino di emergenza

AlloyDB dispone di un sistema di backup e recupero continui che consente di creare un nuovo cluster in base a un determinato punto nel tempo all'interno di un periodo di conservazione regolabile. In questo modo puoi recuperare rapidamente da incidenti di perdita di dati.

Inoltre, AlloyDB può creare e archiviare backup completi dei dati del tuo cluster, on demand o con una pianificazione regolare. In qualsiasi momento, puoi eseguire il ripristino da un backup a un nuovo cluster AlloyDB contenente tutti i dati del cluster originale al momento della creazione del backup.

Per ulteriori informazioni, consulta Informazioni sui backup.

Come ulteriore metodo di disaster recovery, puoi eseguire la replica tra regioni creando cluster secondari in regioni Google Cloud separate. AlloyDB trasmette in streaming i dati in modo asincrono da un cluster principale designato a ciascuno dei suoi cluster secondari. Se necessario, puoi promuovere un cluster secondario in un cluster AlloyDB con funzionalità complete con istanze di pool di lettura e principali.

Per ulteriori informazioni, consulta Informazioni sulla replica tra regioni.

Sicurezza e controllo dell'accesso

Puoi configurare un cluster in modo che richieda la connessione con il proxy di autenticazione AlloyDB sicuro, che utilizza Google Cloud Identity Access and Management (IAM) per il controllo degli accessi. Per ulteriori informazioni, consulta Autorizzazione.

AlloyDB utilizza il sistema di ruoli utente PostgreSQL standard per l'autenticazione, introducendo una serie di ruoli aggiuntivi specifici per AlloyDB. Per saperne di più, consulta Gestire i ruoli degli utenti di AlloyDB.

Crittografia

Per impostazione predefinita, AlloyDB protegge tutti i dati at-rest utilizzando i metodi di crittografia di Google. Se invece devi criptare i dati utilizzando una chiave fornita da te, puoi specificare una chiave di crittografia gestita dal cliente (CMEK) quando crei un cluster. AlloyDB utilizza quindi la chiave CMEK per criptare tutti i dati scritti in quel cluster.

CMEK si applica anche ai backup. Puoi specificare una chiave CMEK quando crei un backup on demand, configuri una pianificazione del backup o esegui il ripristino da un backup.

Per ulteriori informazioni, consulta la pagina Informazioni su CMEK.

Manutenzione non invasiva

Le operazioni di manutenzione di AlloyDB sono progettate per ridurre al minimo le interruzioni del database. Le istanze principali e secondarie hanno un tempo di inattività inferiore a un secondo, mentre i pool di lettura rimangono disponibili in modo continuo senza tempo di inattività. Questo viene fatto preparando i server sostituti e scambiandoli rapidamente con i server attivi quando sono pronti. Durante questa procedura, tutte le connessioni attive al database vengono interrotte temporaneamente. Puoi continuare a utilizzare il database normalmente durante questa procedura.

Sebbene questa procedura di sostituzione garantisca un tempo di riposo minimo, l'operazione complessiva potrebbe richiedere diversi minuti, come indicato nella console Google Cloud e nella CLI Google Cloud.

Queste operazioni di manutenzione includono attività di manutenzione periodiche eseguite da Google e attività che esegui manualmente, come la configurazione dei flag e il ridimensionamento delle istanze. Se vuoi applicare immediatamente un aggiornamento anche se ciò comporta un tempo di riposo più lungo, utilizza il FORCE_APPLY flag del database.

Supporto delle estensioni

AlloyDB include il supporto di una serie di estensioni PostgreSQL molto utilizzate. Per l'elenco completo, vedi Estensioni di database supportate.

Un'alternativa self-hosted: AlloyDB Omni

Come alternativa all'esecuzione di AlloyDB in Google Cloud, Google offre AlloyDB Omni. Questa versione semplificata e scaricabile di AlloyDB ti consente di eseguire il suo potente motore del database nel tuo ambiente di calcolo basato su Linux, ovunque si trovi.

Per ulteriori informazioni, consulta la pagina Informazioni su AlloyDB Omni.

Passaggi successivi