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 autogestito. Utilizza AlloyDB se vuoi dedicare meno tempo alla gestione dell'infrastruttura e più tempo alla creazione di applicazioni.
AlloyDB è progettato per carichi di lavoro impegnativi, tra cui:
- Elaborazione transazionale e analitica ibrida (HTAP): esegui query analitiche complesse sui tuoi dati transazionali attivi 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 l'invocazione del modello di machine learning direttamente nel motore del database, eliminando la necessità di spostamento di dati esterni a latenza elevata.
- Carichi di lavoro 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 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 pianificati on demand e automatici e un sistema di recupero continuo che consente il recupero point-in-time.
- Alta disponibilità: garantisci la continuità del servizio tramite nodi ridondanti situati in zone diverse, con failover automatico tra di loro.
- 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 consulente per gli indici che suggerisce miglioramenti dello schema e un motore colonnare che accelera le query analitiche.
- Sicurezza e crittografia: proteggi i dati at-rest utilizzando la crittografia predefinita di Google o le chiavi di crittografia gestite dal cliente (CMEK) e gestisci l'accesso utilizzando la gestione di identità e accessi (IAM) integrata. Google Cloud
Amministrazione di database
AlloyDB gestisce l'infrastruttura di base del tuo database, ad esempio 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 gli schemi, i dati e gli utenti all'interno dei database.
Puoi utilizzare i seguenti strumenti per connetterti ai tuoi database e gestirli:
- AlloyDB Studio: uno strumento basato sul web integrato direttamente nella console Google 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 dell'istanza: il tipo di macchina (numero di vCPU e quantità di RAM) selezionato per le istanze principali e del pool di lettura.
- Archiviazione: la quantità di dati archiviati nel livello di archiviazione flessibile del cluster.
- Networking: la quantità di traffico di rete in uscita dalle istanze.
Per informazioni più dettagliate, consulta la pagina Prezzi di AlloyDB per PostgreSQL.
Come funziona AlloyDB
Un'applicazione si connette alle istanze AlloyDB utilizzando protocolli PostgreSQL standard.
Al suo interno, AlloyDB utilizza un'architettura disaggregata e una gerarchia di risorse progettate per massimizzare la disponibilità e le prestazioni.
Differenza architetturale 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.
- Archiviazione: un motore di archiviazione distribuito e nativo per il cloud che archivia i dati in più zone di disponibilità e si adatta automaticamente alla crescita dei dati.
Gerarchia delle risorse AlloyDB
AlloyDB organizza le sue 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 contenitore 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 è 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 tuo database. Ogni istanza ha un indirizzo IP privato statico nel tuo 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.
A disponibilità elevata: contiene due nodi, un nodo attivo e un nodo di 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 alta affidabilità. Un'istanza di base ha un solo nodo, senza nodo di standby. Per saperne di più, consulta la sezione Ridurre i costi utilizzando le istanze di base.
Istanza 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 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 PostgreSQL standard in diversi modi, oltre ai vantaggi di scalabilità verticale e orizzontale inerenti all'architettura multinodo descritta in precedenza. Le seguenti sezioni esaminano più da vicino le funzionalità chiave 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 istanze, utilizzando queste informazioni per suggerire miglioramenti dello 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 basati sui 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 analizzare in modo efficiente una grande quantità di dati delle tabelle quando necessario.
Una variante adattiva della funzionalità autovacuum di PostgreSQL per i dati obsoleti regola automaticamente i parametri relativi alla pulizia in modo da adattarsi al meglio alla forma del tuo carico di lavoro.
I sistemi di gestione automatica della memoria e dello spazio di archiviazione sfruttano l'ambiente basato sul 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 efficienza delle risorse ottimali.
Alta disponibilità
Per impostazione predefinita, un cluster AlloyDB offre alta disponibilità (HA) tramite i nodi ridondanti dell'istanza primaria, che si trovano in due zone diverse, con failover automatico.
I cluster che operano in ambienti non di produzione che non richiedono l'alta affidabilità possono utilizzare facoltativamente istanze principali di base a zona singola.
L'aggiunta di istanze del pool di lettura contenenti almeno due nodi crea ulteriori punti di accesso bilanciati del carico, multizona e ad alta disponibilità ai tuoi dati. 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 offre un sistema di backup e recupero continui 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 ripristinare rapidamente i dati in caso di perdita 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 saperne di più, vedi 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 in streaming in modo asincrono i dati da un cluster principale designato a ciascuno dei suoi cluster secondari. Se necessario, puoi promuovere un cluster secondario a un cluster AlloyDB con tutte le funzionalità con istanze principali e del pool di lettura.
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 Identity Access and Management (IAM) per controllo dell'accesso accessi. Google Cloud Per ulteriori informazioni, consulta Autorizzazione.
AlloyDB utilizza il sistema di ruoli utente PostgreSQL standard per l'autenticazione, introducendo una manciata di ruoli aggiuntivi specifici per AlloyDB. Per saperne di più, consulta Gestire i ruoli utente di AlloyDB.
Crittografia
Per impostazione predefinita, AlloyDB protegge tutti i dati inattivi utilizzando i metodi di crittografia di Google. Se invece devi criptare i tuoi dati utilizzando una chiave che fornisci, 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 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 saperne di più, consulta la sezione 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 sottostanti siano affidabili, sicuri e funzionino in modo ottimale. Questi aggiornamenti includono patch di sicurezza, upgrade del sistema operativo e aggiornamenti minori della versione del server PostgreSQL.
- Aggiornamenti della configurazione: si tratta di modifiche che esegui manualmente al cluster o alle istanze per soddisfare le mutevoli esigenze del workload. Alcuni esempi includono il ridimensionamento del conteggio di vCPU e memoria di un'istanza o la modifica dei flag del database.
Le operazioni di manutenzione di AlloyDB sono progettate per non causare interruzioni. Ciò viene ottenuto preparando server di sostituzione e scambiandoli 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 continuamente disponibili. Tutte le connessioni attive al database vengono interrotte momentaneamente, ma puoi continuare a utilizzare il database normalmente durante l'intero processo.
Se vuoi applicare un aggiornamento immediatamente anche se ciò comporta un tempo di inattività più lungo, puoi utilizzare il flag del database FORCE_APPLY.
AlloyDB AI
AlloyDB AI integra una suite di funzionalità di AI e ML direttamente nel tuo database AlloyDB. Storicamente, 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 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 un ampio spostamento 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 Eseguire una ricerca vettoriale.alloydb_scann: fornisce una ricerca approssimativa del vicino più prossimo ad alte prestazioni implementando un indice del vicino più prossimo altamente efficiente basato sull'algoritmo ScaNN. Per saperne di più, vedi Creare un indice ScaNN.google_ml_integration: fornisce l'accesso alle funzioni di AI, che consente l'invocazione di modelli ML da AlloyDB per attività come la generazione di incorporamenti, il ranking semantico, i filtri e le unioni basati sull'AI, nonché la generazione e il riepilogo di testi. La gestione degli endpoint del modello consente la registrazione e la chiamata di modelli di AI, inclusi modelli esterni di OpenAI o Anthropic. Per saperne di più, vedi 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 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 per una serie di estensioni PostgreSQL popolari. Per l'elenco completo, vedi 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 scaricabile e semplificata di AlloyDB ti consente di eseguire il suo potente motore del database nel tuo ambiente di computing basato su Linux, ovunque si trovi.
Per saperne di più, consulta la sezione Informazioni su AlloyDB Omni.