AlloyDB per PostgreSQL è un servizio di database completamente gestito e compatibile con PostgreSQL. Abbina un motore del database creato da Google con un'architettura multinodo basata su cloud per offrire prestazioni, affidabilità e disponibilità di livello enterprise per le applicazioni più impegnative.
Casi d'uso di AlloyDB
AlloyDB fornisce un'alternativa scalabile a PostgreSQL autogestito. Utilizza AlloyDB se vuoi dedicare meno tempo alla gestione dell'infrastruttura e più tempo alla creazione di applicazioni.
AlloyDB è progettato per workload impegnativi, tra cui:
- Elaborazione transazionale e analitica ibrida (HTAP): esegui query analitiche complesse sui dati transazionali live senza influire su prestazioni o disponibilità.
- Applicazioni di AI a bassa latenza: crea applicazioni di AI generativa sfruttando AlloyDB AI, che integra la ricerca vettoriale e la chiamata del modello di machine learning direttamente nel motore del database, eliminando la necessità di spostamento di dati esterni a elevata latenza.
- Workload mission-critical di livello enterprise: esegui il deployment di applicazioni che richiedono i livelli più elevati di prestazioni, affidabilità e disponibilità, supportate da un'architettura di calcolo e archiviazione disaggregata che si estende su più zone di disponibilità.
Che cosa offre AlloyDB
AlloyDB offre molti servizi, quindi non devi crearli e gestirli autonomamente. Puoi concentrarti sui tuoi dati e lasciare che AlloyDB gestisca le seguenti operazioni:
- Backup: proteggi i tuoi dati con backup on demand e pianificati automatici e un sistema di recupero continuo che consente il recupero point-in-time.
- Alta affidabilità: garantisci la continuità del servizio tramite nodi ridondanti situati in zone diverse, con failover automatico tra di essi.
- Gestione delle risorse: ottimizza le prestazioni e l'efficienza con sistemi che allocano e rilasciano automaticamente memoria e spazio di archiviazione in base alle esigenze.
- Ottimizzazione delle query: migliora le prestazioni del database utilizzando un advisor degli indici che suggerisce miglioramenti dello schema e un motore colonnare che accelera le query analitiche.
- Sicurezza e crittografia: proteggi i dati inattivi utilizzando la crittografia predefinita di Google o le chiavi di crittografia gestite dal cliente (CMEK) e gestisci l'accesso utilizzando Identity and Access Management (IAM) integrato. Google Cloud
Amministrazione del database
AlloyDB gestisce l'infrastruttura sottostante del database, come backup automatici, patch di sicurezza e allocazione delle risorse. Tuttavia, AlloyDB non è uno strumento di amministrazione del database autonomo. Hai comunque bisogno di strumenti amministrativi per gestire schemi, dati e utenti all'interno dei database.
Puoi utilizzare i seguenti strumenti per connetterti ai database e gestirli:
- AlloyDB Studio: uno strumento basato sul web integrato direttamente nella Google Cloud console che ti consente di esplorare e gestire i dati utilizzando un'interfaccia SQL interattiva.
- Client PostgreSQL: poiché AlloyDB è completamente compatibile con PostgreSQL, puoi utilizzare client amministrativi standard e strumenti da riga di comando, come psql e pgAdmin, per lavorare con il database.
Prezzi di AlloyDB
AlloyDB utilizza un modello di prezzi basato sul consumo, il che significa che ti vengono addebitate le risorse che utilizzi. I prezzi di AlloyDB variano in base alle impostazioni di configurazione e dipendono dai seguenti fattori:
- Risorse dell'istanza: il tipo di macchina (numero di vCPU e quantità di RAM) selezionato per le istanze principali e del pool di lettura.
- Spazio di archiviazione: la quantità di dati archiviati nel livello di archiviazione flessibile del cluster.
- Networking: la quantità di traffico in uscita dalla rete dalle istanze.
Per informazioni più dettagliate, consulta la pagina dei prezzi di AlloyDB per PostgreSQL.
Come funziona AlloyDB
Un'applicazione si connette alle istanze AlloyDB utilizzando i protocolli PostgreSQL standard.
Sotto la superficie, AlloyDB utilizza un'architettura disaggregata e una gerarchia di risorse progettate per massimizzare la disponibilità e le prestazioni.
Differenza architettonica rispetto a PostgreSQL standard
PostgreSQL tradizionale accoppia il motore del database che elabora le query con lo spazio di archiviazione sullo stesso server. AlloyDB utilizza un'architettura disaggregata, in cui i livelli di calcolo e archiviazione sono separati e scalano in modo indipendente.
- Calcolo: macchine virtuali o nodi che elaborano le query.
- Spazio di archiviazione: un motore di archiviazione distribuito cloud-native che rende persistenti i dati in più zone di disponibilità e scala automaticamente man mano che i dati aumentano.
Gerarchia delle risorse AlloyDB
AlloyDB organizza le risorse in tre livelli: cluster, istanze e nodi.
Il seguente diagramma illustra la gerarchia delle risorse AlloyDB, con un cluster scalato con un'istanza principale e più istanze del pool di lettura con bilanciamento del carico:
- Cluster: una risorsa di primo livello che funge da container logico per database, log e altri metadati all'interno di una regione. Puoi creare più cluster nello stesso progetto e nella stessa regione.
- Istanza: un cluster contiene una o più istanze. Un'istanza fornisce il punto di connessione per le applicazioni.
- Nodo: un'istanza è alimentata da uno o più nodi. Un nodo è una macchina virtuale (VM) dedicata all'esecuzione del motore del database.
Che cos'è un'istanza AlloyDB?
Un'istanza AlloyDB è il punto di accesso al database. Ogni istanza ha un indirizzo IP statico privato nel VPC. Quando l'applicazione invia una query a questo indirizzo IP, l'istanza instrada la richiesta ai nodi sottostanti per l'elaborazione.
AlloyDB utilizza due tipi di istanze:
Istanza principale: fornisce l'accesso in lettura e scrittura ai dati. Ogni cluster ha esattamente un'istanza principale. Un'istanza principale può essere ad alta affidabilità o di base.
Alta affidabilità: contiene due nodi, un nodo attivo e un nodo in standby, situati in zone diverse per il failover automatico.
Istanza di base: contiene un singolo nodo per gli ambienti non di produzione che non richiedono un'alta affidabilità. Un'istanza di base ha un solo nodo, senza nodo in standby. Per ulteriori informazioni, consulta la pagina Ridurre i costi utilizzando le istanze di base.
Istanza del pool di lettura: fornisce l'accesso in sola lettura per scalare i workload. Puoi aggiungere una o più istanze del pool di lettura, ognuna contenente fino a 20 nodi in totale nel cluster. AlloyDB bilancia automaticamente il carico delle richieste tra i nodi di un pool di lettura.
Funzionalità principali
AlloyDB si distingue da un'installazione PostgreSQL standard in diversi modi, oltre ai vantaggi di scalabilità verticale e orizzontale intrinseci nell'architettura multinodo descritta in precedenza. Le seguenti sezioni esaminano più da vicino le funzionalità principali di AlloyDB.
Funzionalità di database automatiche e adattive
Il motore del database completamente compatibile con PostgreSQL che alimenta ogni nodo AlloyDB ha diverse funzionalità che analizzano continuamente la struttura e la frequenza delle query gestite dalle istanze, utilizzando queste informazioni per suggerire miglioramenti dello schema o applicare automaticamente le ottimizzazioni:
Un advisor degli indici ti aiuta a trovare opportunità per ottimizzare lo schema del database utilizzando nuovi indici basati su 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 delle tabelle, se necessario.
Una variante adattiva della funzionalità di autovacuum dei dati obsoleti di PostgreSQL regola automaticamente i parametri correlati a vacuum per adattarsi al meglio alla forma del workload.
I sistemi di gestione automatica della memoria e dello spazio di archiviazione sfruttano l'ambiente basato su 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 affidabilità
Per impostazione predefinita, un cluster AlloyDB offre disponibilità (HA) tramite i nodi ridondanti dell'istanza principale, situati in due zone diverse, con failover automatico.
I cluster che operano in ambienti non di produzione che non richiedono HA possono facoltativamente 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 ai dati con bilanciamento del carico, multizona e ad alta affidabilità. Tutte le istanze del pool di lettura vengono eseguite indipendentemente dall'istanza principale.
Per saperne di più sulle considerazioni specifiche per le regioni, consulta Area geografica e regioni.
Backup dati e ripristino di emergenza
AlloyDB include un sistema di backup e recupero continuo che ti consente di creare un nuovo cluster in base a qualsiasi momento all'interno di un periodo di conservazione regolabile. In questo modo puoi eseguire rapidamente il ripristino in caso di perdita di dati accidentale.
Inoltre, AlloyDB può creare e archiviare backup completi dei dati del cluster, on demand o in base a una pianificazione regolare. In qualsiasi momento, puoi eseguire il ripristino da un backup a un nuovo cluster AlloyDB che contiene tutti i dati del cluster originale al momento della creazione del backup.
Per ulteriori informazioni, consulta la pagina Informazioni sui backup.
Come ulteriore metodo di ripristino di emergenza, puoi ottenere la replica tra regioni creando cluster secondari in regioni separate Google Cloud. AlloyDB esegue lo streaming asincrono dei dati da un cluster principale designato a ciascuno dei suoi cluster secondari. Se necessario, puoi promuovere un cluster secondario a un cluster AlloyDB completo con istanze principali e del pool di lettura.
Per ulteriori informazioni, consulta la pagina 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 dell'accesso. Per ulteriori informazioni, consulta la pagina Autorizzazione.
AlloyDB utilizza il sistema di ruoli utente PostgreSQL standard per l'autenticazione, introducendo una serie di ruoli aggiuntivi specifici per AlloyDB. Per ulteriori informazioni, consulta la pagina Gestire i ruoli utente AlloyDB.
Crittografia
Per impostazione predefinita, AlloyDB protegge tutti i dati inattivi utilizzando i metodi di crittografia di Google. Se invece devi criptare i dati utilizzando una chiave che fornisci, 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 e aggiornamenti
Durante la durata di un cluster AlloyDB, possono verificarsi due tipi di aggiornamenti:
- Aggiornamenti di sistema: Google esegue periodicamente aggiornamenti di sistema per garantire che l'hardware e il software sottostanti siano affidabili, sicuri e funzionino in modo ottimale. Questi aggiornamenti includono patch di sicurezza, upgrade del sistema operativo e aggiornamenti della versione del server PostgreSQL secondari.
- Aggiornamenti della configurazione: si tratta di modifiche che esegui manualmente al cluster o alle istanze per soddisfare le esigenze in evoluzione dei workload. Ad esempio, puoi ridimensionare il numero di vCPU e la quantità di memoria di un'istanza o modificare i flag del database.
Le operazioni di manutenzione di AlloyDB sono progettate per non causare interruzioni. A questo scopo, vengono preparati server di sostituzione e vengono scambiati rapidamente con i server attivi quando sono pronti. Durante questa procedura, le istanze principali in genere subiscono un tempo di inattività inferiore a un secondo, mentre i pool di lettura rimangono continuamente disponibili. Le connessioni attive al database vengono interrotte momentaneamente, ma puoi continuare a utilizzare il database normalmente durante la procedura.
Se vuoi applicare immediatamente un aggiornamento anche se comporta un tempo di inattività più lungo, puoi utilizzare il FORCE_APPLY flag del database.
AlloyDB AI
AlloyDB AI integra una suite di funzionalità di AI e ML direttamente nel database AlloyDB. Storicamente, la creazione di applicazioni di AI richiedeva pipeline di dati complesse e processi ETL per spostare i dati dai database operativi alle piattaforme di AI/ML specializzate. Questo metodo ha portato a sfide come l'aumento della latenza dovuta al trasferimento dei dati, un overhead operativo più elevato dovuto alla gestione di sistemi diversi e l'archiviazione duplicata. Integrando le funzionalità di AI direttamente nel database, AlloyDB AI elimina la necessità di spostare grandi quantità di dati esterni.
Per facilitare lo sviluppo di applicazioni di AI, AlloyDB AI fornisce le seguenti estensioni:
vector(una versione dipgvectorpersonalizzata per AlloyDB AI): archivia e indicizza gli embedding vettoriali per la ricerca semantica. Supporta l'esecuzione di query ibride e ricerche di somiglianze. Per iniziare a utilizzare la ricerca vettoriale, consulta la pagina Eseguire una ricerca vettoriale.alloydb_scann: fornisce una ricerca del vicino più prossimo approssimativa ad alte prestazioni implementando un indice del vicino più prossimo altamente efficiente basato sull'algoritmo ScaNN. Per ulteriori informazioni, consulta la pagina Creare un indice ScaNN.google_ml_integration: fornisce l'accesso alle funzioni di AI, che consente la chiamata del modello di ML da AlloyDB per attività come la generazione di embedding, il ranking semantico, i filtri e le unioni basati su AI e la generazione e il riassunto di testi. La gestione degli endpoint del modello consente la registrazione e la chiamata di modelli di AI, inclusi i modelli esterni di OpenAI o Anthropic. Per ulteriori informazioni, consulta la pagina Registrare un endpoint del modello e Valutare le query semantiche con gli operatori di AI.alloydb_ai_nl: consente l'interazione con il database utilizzando il linguaggio naturale. Consente agli sviluppatori di applicazioni di generare query SQL accurate e sicure in risposta alle domande in linguaggio naturale degli utenti finali, consentendo agli utenti non SQL di accedere ai dati. Per ulteriori informazioni, consulta la pagina Panoramica del linguaggio naturale.
Per un elenco dei casi d'uso delle funzionalità di AlloyDB AI, consulta la pagina Creare applicazioni di AI generativa.
Supporto delle estensioni
AlloyDB include il supporto per una serie di estensioni PostgreSQL più diffuse. Per l'elenco completo, consulta la pagina Estensioni di database supportate.
Un'alternativa self-hosted: AlloyDB Omni
In alternativa all'esecuzione di AlloyDB all'interno di Google Cloud, Google, 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 computing basato su Linux, ovunque si trovi.
Per ulteriori informazioni, consulta la pagina Informazioni su AlloyDB Omni.