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 offre un'alternativa scalabile a PostgreSQL standard 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 tuoi dati transazionali in tempo reale senza influire sulle prestazioni o sulla disponibilità.
- Applicazioni di AI a bassa latenza: crea applicazioni di AI generativa utilizzando AlloyDB AI, che integra Vector Search e la chiamata di modelli di machine learning direttamente nel motore del database, eliminando la necessità di spostare dati esterni con latenza elevata.
- Workload mission-critical di livello enterprise: esegui il deployment di applicazioni che richiedono i massimi livelli di prestazioni, affidabilità e disponibilità, supportati da un'architettura di computing e archiviazione disaggregata che si estende su più zone di disponibilità.
Cosa offre AlloyDB
AlloyDB offre molti servizi, quindi non devi crearli e gestirli in autonomia. Puoi concentrarti sui tuoi dati e lasciare che AlloyDB gestisca le seguenti operazioni:
- Backup: proteggi i tuoi dati con backup on demand e pianificati automaticamente e un sistema di recupero continuo che consente il recupero point-in-time.
- Alta affidabilità: garantisce la continuità del servizio tramite nodi ridondanti situati in zone diverse, con failover automatico tra i nodi.
- 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 Index Advisor che suggerisce miglioramenti dello schema e un motore colonnare che accelera le query analitiche.
- Sicurezza e crittografia: proteggi i dati at-rest utilizzando Google-owned and Google-managed encryption keys o le chiavi di crittografia gestite dal cliente (CMEK) e gestisci l'accesso utilizzando Identity and Access Management (IAM) integrato.
Amministrazione di database
AlloyDB gestisce l'infrastruttura sottostante del tuo database, ad esempio backup automatici, patch di sicurezza e allocazione delle risorse. Tuttavia, AlloyDB non è uno strumento di amministrazione di database autonomo. Hai comunque bisogno di strumenti amministrativi per gestire gli schemi, i dati e gli utenti all'interno dei tuoi database.
Puoi utilizzare i seguenti strumenti per connetterti ai database e gestirli:
- AlloyDB Studio: uno strumento basato sul web integrato direttamente nella console Google Cloud che ti consente di esplorare e gestire i tuoi dati utilizzando un'interfaccia SQL interattiva.
- Client PostgreSQL: poiché AlloyDB è completamente compatibile con PostgreSQL, puoi utilizzare client amministrativi e strumenti a riga di comando standard, come psql e pgAdmin, per lavorare con il tuo 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 delle istanze: 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 di rete in uscita dalle tue istanze.
Per informazioni più dettagliate, consulta Prezzi di AlloyDB per PostgreSQL.
Come funziona AlloyDB
Un'applicazione si connette alle istanze AlloyDB utilizzando i protocolli PostgreSQL standard.
Dietro le quinte, AlloyDB utilizza un'architettura disaggregata e una gerarchia di risorse progettate per massimizzare la disponibilità e le prestazioni.
Differenza di architettura 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 computing e archiviazione sono separati e scalano in modo indipendente.
- Computing: macchine virtuali o nodi che elaborano le query.
- Archiviazione: un motore di archiviazione distribuito, cloud-native, che conserva i dati in più zone di disponibilità e scala automaticamente man mano che i dati aumentano.
Gerarchia delle risorse AlloyDB
AlloyDB organizza le proprie 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 i database, i 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 tue applicazioni.
- Nodo: un'istanza è basata su 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 tuo database. Ogni istanza ha un indirizzo IP statico privato nella rete Virtual Private Cloud (VPC). Quando l'applicazione invia una query a questo indirizzo IP, l'istanza indirizza la richiesta ai nodi sottostanti per l'elaborazione.
AlloyDB utilizza due tipi di istanze:
Istanza principale: fornisce l'accesso in lettura e scrittura ai tuoi dati. Ogni cluster ha esattamente un'istanza principale. Un'istanza principale può essere ad alta affidabilità (HA) o di base.
Alta affidabilità: contiene due nodi, uno attivo e uno 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 l'alta affidabilità. Un'istanza di base ha un solo nodo, senza nodo in standby. Per saperne di più, consulta Riduci i costi utilizzando le istanze di base.
Istanza del pool di lettura: fornisce l'accesso di sola lettura per scalare i workload. Puoi aggiungere una o più istanze del pool di lettura, ciascuna contenente fino a 20 nodi totali 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 standard di PostgreSQL in diversi modi, oltre ai vantaggi di scalabilità verticale e orizzontale intrinseci nell'architettura multinodo descritta in precedenza. Le sezioni seguenti esaminano più in dettaglio le funzionalità principali di AlloyDB.
Funzionalità del 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 tue istanze, utilizzando queste informazioni per suggerire miglioramenti dello schema o applicare automaticamente ottimizzazioni:
Un Index Advisor ti aiuta a trovare opportunità per ottimizzare lo schema del database utilizzando nuovi indici basati sui tuoi pattern di utilizzo.
Un motore colonnare può accelerare le prestazioni delle query analitiche archiviando i dati in memoria utilizzando un formato colonnare. In questo modo, AlloyDB può utilizzare tecniche di elaborazione avanzate per scansionare in modo efficiente una grande quantità di dati della tabella, se necessario.
Una variante adattiva della funzionalità di autovacuum dei dati inattivi di PostgreSQL regola automaticamente i parametri relativi all'autovacuum per adattarli al meglio alla forma del tuo 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 e utilizzo delle risorse ottimali.
Alta affidabilità
Per impostazione predefinita, un cluster AlloyDB offre l'alta affidabilità (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 l'alta affidabilità 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 disaster recovery
AlloyDB dispone di un sistema di backup e recupero continui che consente di creare un nuovo cluster basato su qualsiasi momento all'interno di un periodo di conservazione regolabile. In questo modo, puoi eseguire rapidamente il recupero in caso di perdita di dati.
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 in un nuovo cluster AlloyDB che contiene tutti i dati del cluster originale al momento della creazione del backup.
Per saperne di più, consulta Informazioni sui backup.
Come ulteriore metodo di ripristino di emergenza, puoi ottenere la replica tra regioni creando cluster secondari in regioni Google Cloudseparate. AlloyDB trasmette i dati in modo asincrono da un cluster primario designato a ciascuno dei suoi cluster secondari. In qualsiasi momento, puoi promuovere un cluster secondario a cluster principale o eseguire un failover tra regioni (anteprima) per mantenere automaticamente la topologia di replica durante un'interruzione.
Per saperne di più, 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 IAM per controllo dell'accesso. Per saperne di più, consulta Autorizzazione.
AlloyDB utilizza il sistema di ruoli utente PostgreSQL standard per l'autenticazione, introducendo alcuni ruoli aggiuntivi specifici per AlloyDB. Per saperne di più, consulta Gestisci i ruoli utente di AlloyDB.
Crittografia
AlloyDB protegge tutti i dati at-rest utilizzando Google-owned and Google-managed encryption keys per impostazione predefinita. Se invece devi criptare i dati utilizzando una chiave fornita da te, puoi specificare una chiave di crittografia gestita dal cliente (CMEK) durante la creazione di un cluster. AlloyDB utilizza quindi la chiave CMEK per criptare tutti i dati scritti nel cluster.
Le CMEK si applicano anche ai backup. Puoi specificare una chiave CMEK quando crei un backup on demand, configuri una pianificazione dei backup o esegui il ripristino da un backup.
Per saperne di più, consulta Informazioni su CMEK.
Manutenzione e aggiornamenti
Durante il ciclo di vita 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 di base siano affidabili, sicuri e con prestazioni ottimali. Questi aggiornamenti includono patch di sicurezza, upgrade del sistema operativo e aggiornamenti delle versioni minori del server PostgreSQL.
- Aggiornamenti della configurazione: si tratta di modifiche che apporti manualmente al cluster o alle istanze per soddisfare le mutevoli esigenze dei workload. Alcuni esempi sono il ridimensionamento del numero di vCPU e della memoria di un'istanza o la modifica dei flag di database.
Le operazioni di manutenzione di AlloyDB sono progettate per non causare interruzioni. A questo scopo, prepara i server sostitutivi e scambiali rapidamente con i server attivi quando sono pronti. Durante questo processo, le istanze primarie in genere subiscono un tempo di inattività inferiore a un secondo, mentre i pool di lettura rimangono sempre disponibili. Tutte le connessioni attive al database vengono interrotte momentaneamente, ma puoi continuare a utilizzare il database normalmente durante il processo.
Per applicare un aggiornamento dei flag più velocemente, anche se comporta un tempo di inattività più lungo, puoi utilizzare la modalità di aggiornamento FORCE_APPLY.
AlloyDB AI
AlloyDB AI integra una suite di funzionalità di AI e ML direttamente nel tuo database AlloyDB. In passato, la creazione di applicazioni di AI richiedeva pipeline di dati complesse e processi ETL per spostare i dati dai database operativi a piattaforme di AI/ML specializzate. Questo metodo ha comportato problemi come l'aumento della latenza dovuta al trasferimento dei dati, un maggiore overhead operativo 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 i vector embedding per la ricerca semantica. Supporta l'esecuzione di query ibride e ricerche di somiglianze. Per iniziare a utilizzare Vector Search, consulta Esegui una ricerca vettoriale.alloydb_scann: fornisce una ricerca del vicino più prossimo approssimativo ad alte prestazioni implementando un indice del vicino più prossimo altamente efficiente basato sull'algoritmo ScaNN. Per saperne di più, consulta Crea un indice ScaNN.google_ml_integration: fornisce l'accesso alle funzioni AI, che consentono di richiamare il modello ML da AlloyDB per attività come la generazione di incorporamenti, il ranking semantico, i filtri e i join basati sull'AI, nonché la generazione e il riassunto di testo. La gestione degli endpoint dei modelli consente la registrazione e la chiamata di modelli di AI, inclusi i modelli esterni di OpenAI o Anthropic. Per saperne di più, consulta Registra un endpoint del modello e Valuta le query semantiche con gli operatori 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 saperne di più, consulta la panoramica del linguaggio naturale.
Per un elenco di casi d'uso delle funzionalità di AlloyDB AI, consulta Crea applicazioni di AI generativa.
Supporto delle estensioni
AlloyDB include il supporto di una serie di estensioni PostgreSQL più diffuse. Per l'elenco completo, consulta Estensioni di database supportate.
Un'alternativa self-hosted: AlloyDB Omni
In alternativa all'esecuzione di AlloyDB all'interno di 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 computing basato su Linux, ovunque si trovi.
Per esplorare le opzioni di deployment, i codelab e gestire gli abbonamenti nella consoleGoogle Cloud , vai alla pagina della console AlloyDB Omni.
Per saperne di più, consulta la panoramica di AlloyDB Omni.