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.
Per la prototipazione, lo sviluppo e i test rapidi con gli agenti di programmazione, inizia con la configurazione di AlloyDB Express (anteprima), che offre provisioning rapido, scalabilità fino a zero del computing e un upgrade con un solo clic ad AlloyDB pronto per la produzione. Per saperne di più, consulta la panoramica di AlloyDB Express.
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 dei 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à.
- Prototipazione e flussi di lavoro che utilizzano agenti di programmazione AI: utilizza AlloyDB Express per creare database per lo sviluppo e i test. Quando il database è inattivo, il computing viene ridotto a zero e non ti viene addebitato alcun costo.
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 automatici pianificati 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 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 dei 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 schemi, dati e utenti all'interno dei tuoi 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 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
psqle pgAdmin, per lavorare con il tuo database.
Come funziona AlloyDB
Un'applicazione si connette alle istanze AlloyDB utilizzando i protocolli PostgreSQL standard.
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 standard 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 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 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: il punto di connessione per le tue applicazioni. Un cluster contiene una o più istanze.
- Nodo: una macchina virtuale (VM) dedicata all'esecuzione del motore del database. Ogni istanza è supportata da uno o più nodi.
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 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 tuoi dati. Ogni cluster ha esattamente un'istanza principale. Un'istanza principale può essere ad alta affidabilità (HA) o di base.
Istanza ad alta affidabilità: contiene due nodi, un nodo attivo e un nodo in standby, situati in zone diverse per il failover automatico.
Istanza Basic: contiene un singolo nodo senza nodo di standby, per ambienti non di produzione che non richiedono l'alta affidabilità. Per ulteriori informazioni, 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 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 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 analizza continuamente la struttura e la frequenza delle tue query. Il motore del database utilizza queste informazioni per suggerire miglioramenti dello schema o applicare automaticamente le seguenti 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 al vacuum 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 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 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 è dotato di un sistema di backup e recupero continui che ti consente di creare un nuovo cluster basato su qualsiasi momento all'interno di un periodo di conservazione regolabile. In questo modo puoi eseguire 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 principale 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 diversi 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 CMEK per criptare tutti i dati scritti nel cluster.
Le CMEK si applicano anche ai backup. Puoi specificare una 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 la 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 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 esegui manualmente sul cluster o sulle istanze per soddisfare le esigenze mutevoli dei workload. Alcuni esempi includono 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 non sono invasive. AlloyDB prepara i server sostitutivi e li scambia con i server attivi quando sono pronti. Durante questo processo, le istanze principali in genere registrano un tempo di inattività inferiore a un secondo, mentre i pool di lettura rimangono sempre disponibili. Lo scambio interrompe momentaneamente le connessioni attive al database, 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 e processi ETL complessi per spostare i dati dai database operativi a piattaforme di AI/ML specializzate. Questo metodo ha comportato problemi come una maggiore latenza dovuta al trasferimento dei dati, un overhead operativo più elevato per la gestione di sistemi diversi e uno spazio di archiviazione duplicato. 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:
- Estensione
vector(una versione dipgvectorpersonalizzata per AlloyDB AI): archivia e indicizza i vector embedding per la ricerca semantica e supporta query ibride e ricerche di somiglianza. Per iniziare a utilizzare Vector Search, consulta Esegui una ricerca vettoriale. - Estensione
alloydb_scann: fornisce una ricerca dei vicini più prossimi approssimativi ad alte prestazioni implementando un indice dei vicini più prossimi altamente efficiente basato sull'algoritmo ScaNN. Per saperne di più, consulta Crea un indice ScaNN. - Estensione
google_ml_integration: fornisce l'accesso alle funzioni AI, che ti consentono di richiamare i modelli di ML da AlloyDB per attività come la generazione di embedding, il ranking semantico, i filtri e i join basati sull'AI, nonché la generazione e il riassunto di testi. La gestione degli endpoint del modello consente di registrare e richiamare modelli di AI, inclusi 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. - Estensione
alloydb_ai_nl: ti consente di interagire con il tuo 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 e i codelab e per gestire gli abbonamenti nella consoleGoogle Cloud , vai alla pagina della console AlloyDB Omni.
Per saperne di più, consulta la panoramica di AlloyDB Omni.
AlloyDB Express per la prototipazione e gli agenti di programmazione
AlloyDB Express è una configurazione di AlloyDB per la prototipazione, lo sviluppo, i test e i flussi di lavoro rapidi che utilizzano agenti di programmazione AI. AlloyDB Express offre le seguenti funzionalità:
- Provisioning rapido: le istanze sono pronte ad accettare connessioni entro circa 2 secondi per il DNS pubblico ed entro 20 secondi per gli endpoint Private Service Connect.
- Scalabilità fino a zero del computing: le istanze inattive fanno lo scale down fino a zero computing, quindi non ti vengono addebitati costi per il computing durante i periodi di inattività.
- Connettività Private Service Connect e DNS pubblico: puoi connetterti alla tua istanza dalla tua rete VPC tramite gli endpoint Private Service Connect o da client esterni alla tua rete VPC utilizzando il DNS pubblico.
- Upgrade in loco ad AlloyDB: puoi eseguire l'upgrade di un cluster AlloyDB Express ad AlloyDB con un solo clic.
Per saperne di più, consulta la panoramica di AlloyDB Express.