Panoramica di AlloyDB Omni

AlloyDB Omni è un pacchetto software di database scaricabile che ti consente di eseguire il deployment di una versione semplificata di AlloyDB per PostgreSQL in ambienti di computing che gestisci. AlloyDB Omni e il servizio AlloyDB completamente gestito su Google Cloudcondividono gli stessi componenti principali. AlloyDB utilizza un livello di archiviazione disaggregato cloud-native, mentre AlloyDB Omni viene distribuito sullo spazio di archiviazione che preferisci.

La portabilità di AlloyDB Omni ti consente di eseguirlo in molti ambienti, tra cui:

  • I tuoi data center privati
  • Qualsiasi cloud pubblico
  • Il tuo laptop
  • Istanze VM basate su cloud

AlloyDB Omni offre diversi miglioramenti, oltre a PostgreSQL standard, che supportano scalabilità, disponibilità, affidabilità, prestazioni, AI e linguaggio naturale. Per saperne di più, consulta Aggiunte di AlloyDB Omni a PostgreSQL standard.

Casi d'uso di AlloyDB Omni

AlloyDB Omni è adatto ai seguenti scenari:

  • Hai bisogno di una versione scalabile e ad alte prestazioni di PostgreSQL che devi eseguire on-premise a causa di requisiti normativi o di sovranità dei dati.
  • Hai bisogno di un database che continui a funzionare anche quando è disconnesso da internet.
  • Vuoi eseguire la migrazione da un database legacy senza impegnarti con un servizio cloud completamente gestito come AlloyDB per PostgreSQL.

Funzionalità principali

  • Un server di database compatibile al 100% con PostgreSQL.
  • Supporto di AlloyDB AI, che ti aiuta a creare applicazioni di AI generativa di livello enterprise utilizzando i tuoi dati operativi.
  • Integrazioni con l'ecosistema di AI di Google Cloud , tra cui Vertex AI Model Garden e strumenti di AI generativa open source.
  • Supporto delle funzionalità di Autopilot di AlloyDB per PostgreSQL inGoogle Cloud , che consente ad AlloyDB Omni di autogestirsi e ottimizzarsi autonomamente.

    Ad esempio, AlloyDB Omni supporta la gestione automatica della memoria e l'autovacuum adattivo dei dati obsoleti.

  • Il motore colonnare AlloyDB Omni, che conserva i dati pertinenti in un formato a colonne in memoria per query analitiche, report e workload di elaborazione transazionale e analitica ibrida (HTAP) più rapidi.

  • L'interfaccia utente web di AlloyDB Omni, che consente il monitoraggio grafico della telemetria e gli audit di configurazione per i cluster autogestiti.

Nei test delle prestazioni, i workload transazionali in AlloyDB Omni sono oltre 2 volte più veloci e le query analitiche sono fino a 100 volte più veloci rispetto a PostgreSQL standard.

Opzioni di deployment di AlloyDB Omni

Nella console Google Cloud , puoi esplorare le opzioni di deployment, accedere alle risorse di apprendimento e gestire le licenze direttamente dalla pagina di destinazione di AlloyDB Omni:

Vai ad AlloyDB Omni

La pagina di destinazione della console presenta due schede principali:

  • Opzioni di deployment: fornisce percorsi e guide personalizzati per l'installazione di AlloyDB Omni in diversi ambienti di infrastruttura, oltre all'accesso a codelab e demo di AI.
  • Abbonamenti: centralizza la gestione delle licenze per i deployment di produzione. Puoi calcolare e acquistare licenze in base al numero totale di vCPU, scalare le vCPU, visualizzare i costi e gestire gli sconti per impegno.

Puoi installare AlloyDB Omni utilizzando una delle seguenti opzioni di deployment:

Opzioni di deployment per AlloyDB Omni

  • AlloyDB Omni che utilizza container: un container di database autonomo. Esegui AlloyDB Omni su un sistema Linux con spazio di archiviazione SSD e almeno 8 GB di memoria per CPU.

  • AlloyDB Omni che utilizza l'orchestratore di container: parte di un container in un ambiente Kubernetes. L'operatore AlloyDB Omni Kubernetes è un'estensione dell'API Kubernetes che ti consente di eseguire AlloyDB Omni nella maggior parte degli ambienti Kubernetes conformi a CNCF.

    L'operatore AlloyDB Omni semplifica le operazioni di base del database, consentendoti di automatizzare i deployment singoli o ad alta affidabilità (HA) e le operazioni del giorno 2, come backup, ripristino, failover e configurazione del ripristino di emergenza (RE) tra regioni.

  • AlloyDB Omni che utilizza RPM: un pacchetto autonomo che viene eseguito direttamente in una VM o su bare metal. AlloyDB Omni che utilizza RPM viene eseguito come un insieme di componenti software integrati direttamente sul sistema operativo host. Utilizza il file system Linux standard per l'archiviazione, consentendoti di utilizzare l'infrastruttura di archiviazione e le pratiche di gestione esistenti.

  • AlloyDB Omni che utilizza l'orchestratore RPM: un deployment Red Hat Package Manager (RPM) per VM o server bare metal. Questa opzione include una piattaforma di orchestrazione che automatizza il deployment e la gestione in ambienti non Kubernetes. Estende la flessibilità tipica del cloud alla tua scelta di infrastruttura, senza richiedere livelli di containerizzazione come Docker.

Le tue applicazioni si connettono e comunicano con il tuo database AlloyDB Omni, proprio come si connettono e comunicano con un server di database PostgreSQL standard. Anche il controllo degli accessi degli utenti si basa sugli standard PostgreSQL.

Puoi configurare il comportamento del database AlloyDB Omni utilizzando i flag di database, tra cui logging, vacuuming e il motore colonnare. Per ulteriori informazioni, consulta Opzioni di download e installazione di AlloyDB Omni disponibili.

AlloyDB Omni come container

Google distribuisce AlloyDB Omni come container che puoi eseguire con runtime dei container come Docker e Podman. Puoi anche eseguire il deployment dei container AlloyDB Omni in un ambiente Kubernetes con molte operazioni di base automatizzate.

Dal punto di vista operativo, i container offrono i seguenti vantaggi:

  • Gestione trasparente delle dipendenze: tutte le dipendenze necessarie sono raggruppate nel container e testate da Google per garantire che siano completamente compatibili con AlloyDB Omni.
  • Portabilità: AlloyDB Omni funziona in modo coerente in tutti gli ambienti.
  • Isolamento della sicurezza: scegli a cosa ha accesso il container AlloyDB Omni sulla macchina host.
  • Gestione delle risorse: puoi definire la quantità di risorse di computing che vuoi che il container AlloyDB Omni utilizzi.
  • Patch e upgrade senza interruzioni: per applicare una patch a un container, sostituisci l'immagine esistente con una nuova.

AlloyDB Omni in un ambiente RHEL

AlloyDB Omni offre due opzioni di deployment per un ambiente RHEL, che dipendono dai tuoi requisiti di automazione e scalabilità.

AlloyDB Omni che utilizza RPM

L'opzione di deployment RPM è un'installazione autonoma di Red Hat Package Manager (RPM) progettata per gli ambienti in cui vuoi un database AlloyDB Omni non containerizzato. Questa opzione supporta RHEL 9 e Rocky Linux 9.

  • Integrazione diretta con il sistema operativo: viene eseguito come un insieme di componenti software integrati direttamente nel sistema operativo host.
  • Spazio di archiviazione esistente: utilizza il file system Linux standard (ext4 e xfs), che supporta l'infrastruttura di archiviazione e le pratiche di gestione esistenti.
  • Semplicità: ideale per configurazioni con un'istanza singola in cui è richiesta un'integrazione profonda con il sistema operativo host, senza livelli di orchestrazione aggiuntivi.

L'orchestratore RPM

L'opzione di deployment dell'orchestratore RPM utilizza gli stessi pacchetti RPM di AlloyDB Omni che utilizza RPM, ma aggiunge una piattaforma di orchestrazione per automatizzare la gestione in ambienti non Kubernetes.

  • Flessibilità simile al cloud: estende l'automazione all'infrastruttura on-premise, gestendo il bootstrap, il failover e la gestione del ciclo di vita.
  • Framework di Automation: si integra con strumenti popolari come Ansible, consentendo ai team di utilizzare le competenze esistenti. Puoi anche utilizzare strumenti a riga di comando appositamente progettati.
  • Funzionalità Enterprise: progettate specificamente per supportare l'alta affidabilità (HA) e il ripristino di emergenza (RE) tramite un gestore dei cluster centralizzato.

Backup dati e disaster recovery

AlloyDB Omni dispone di un sistema di backup e recupero continui che consente di creare un nuovo cluster di database 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 Omni può creare e archiviare backup completi dei dati del cluster di database, on demand o in base a una pianificazione regolare. In qualsiasi momento, puoi eseguire il ripristino da un backup in un cluster di database AlloyDB Omni che contiene tutti i dati del cluster di database originale al momento della creazione del backup.

Come ulteriore metodo di ripristino di emergenza, puoi ottenere la replica tra data center creando cluster di database secondari in data center separati. AlloyDB Omni trasmette i dati in modo asincrono da un cluster di database primario designato a ciascuno dei suoi cluster secondari. Se necessario, puoi promuovere un cluster di database secondario a cluster di database AlloyDB Omni principale.

Componenti di AlloyDB Omni

AlloyDB Omni è costituito da due insiemi di componenti dell'architettura: componenti PostgreSQL con miglioramenti di AlloyDB Omni e componenti specifici di AlloyDB Omni.

Il seguente diagramma mostra entrambi i set di componenti, incluso il livello di infrastruttura in cui si trovano i componenti e le funzionalità di ciascun componente.

Architettura di AlloyDB Omni, che mostra i componenti specifici di AlloyDB per PostgreSQL e PostgreSQL.

Archiviazione dei dati

AlloyDB Omni archivia i dati in pagine di dimensioni fisse archiviate nel file system sottostante. Quando una query deve accedere ai dati, AlloyDB Omni controlla prima il pool di buffer. Se le pagine che contengono i dati richiesti non vengono trovate nel pool di buffer, AlloyDB Omni legge le pagine richieste dal file system.

L'accesso ai dati dal pool di buffer è molto più veloce rispetto alla lettura dal file system. Massimizzare le dimensioni del pool di buffer per i dati a cui accede un'applicazione è un fattore importante. Se vuoi, puoi aggiungere un livello di cache ultraveloce per migliorare ulteriormente le prestazioni delle query.

Gestione delle risorse

AlloyDB Omni utilizza la gestione automatica della memoria dinamica per consentire al pool di buffer di espandersi e ridursi in modo dinamico entro i limiti configurati, a seconda delle esigenze di memoria del sistema. Pertanto, non è necessario ottimizzare le dimensioni del pool di buffer. Quando diagnostichi i problemi di prestazioni, considera innanzitutto metriche come la percentuale di hit del pool di buffer e la frequenza di lettura per determinare se la tua applicazione sta beneficiando del pool di buffer. In caso contrario, significa che il set di dati dell'applicazione non rientra nel pool di buffer e potresti prendere in considerazione il ridimensionamento a una macchina più grande con più memoria.

Il processo di recupero, filtro, aggregazione, ordinamento e proiezione dei dati richiede risorse della CPU sul server del database. Per ridurre la quantità di risorse della CPU necessarie per questo processo, riduci al minimo la quantità di dati da manipolare. Monitora l'utilizzo della CPU sul server del database per assicurarti che l'utilizzo in stato stabile sia intorno al 70%. Questo importo lascia un margine sufficiente sul server per i picchi di utilizzo o le modifiche ai pattern di accesso nel tempo. L'esecuzione con un utilizzo più vicino al 100% introduce un overhead dovuto alla pianificazione dei processi e al cambio di contesto e potrebbe creare colli di bottiglia in altre parti del sistema. L'utilizzo elevato della CPU è un'altra metrica chiave da utilizzare quando si prendono decisioni sulle specifiche della macchina.

Le operazioni di I/O al secondo (IOPS) sono un fattore importante per le prestazioni delle applicazioni di database, in quanto misurano il numero di operazioni di input o output al secondo che il dispositivo di archiviazione sottostante può fornire al database. Per evitare di superare i limiti di IOPS dello spazio di archiviazione del database, riduci al minimo le letture e le scritture nello spazio di archiviazione. Massimizza la quantità di dati che rientrano nel pool di buffer o nel livello di cache.

Motore colonnare

Il motore colonnare integrato accelera l'elaborazione delle query analitiche che in genere comporta scansioni complete delle tabelle, join complessi e aggregazioni.

  • Archivio di colonne in memoria: contiene i dati delle tabelle e delle viste materializzate per le colonne selezionate in un formato orientato alle colonne. Per impostazione predefinita, l'archivio a colonne consuma il 30% della memoria disponibile. Per modificare la quantità di memoria utilizzabile dallo spazio di archiviazione a colonne, imposta il parametro google_columnar_engine.memory_size_in_mb nel postgresql.conf utilizzato dall'istanza AlloyDB Omni.

  • Pianificatore di query colonnari e motore di esecuzione: supporta l'utilizzo dell'archivio a colonne nelle query.

Per saperne di più, consulta Informazioni sul motore colonnare AlloyDB per PostgreSQL.

Gestione automatica della memoria

Il gestore automatico della memoria monitora e ottimizza continuamente il consumo di memoria in un'intera istanza AlloyDB Omni. Quando esegui i tuoi workload, questo modulo regola le dimensioni della cache del buffer condiviso in base alla pressione della memoria.

Per impostazione predefinita, il gestore automatico della gestione della memoria imposta il limite massimo all'80% della memoria di sistema e alloca il 10% della memoria di sistema per la cache del buffer condiviso. Per modificare il limite massimo per le dimensioni della cache del buffer condiviso, imposta il parametro shared_buffers nel postgresql.conf utilizzato dalla tua istanza AlloyDB Omni.

Autovacuum adattivo

L'autovacuum adattivo analizza le operazioni in base al workload del database e regola automaticamente la frequenza delle operazioni di pulizia. Questa regolazione automatica aiuta il database a mantenere prestazioni ottimali, anche quando il workload cambia, senza interferenze da parte del processo di vacuum.

L'autovacuum adattivo utilizza i seguenti fattori per determinare la frequenza e l'intensità delle operazioni di vacuuming:

  • Dimensioni del database
  • Numero di tuple non attive nel database
  • Età dei dati nel database
  • Numero di transazioni al secondo rispetto alla velocità di vacuum stimata
  • Utilizzo delle risorse

Worker AI/ML

In AlloyDB Omni, il worker in background AI/ML fornisce le funzionalità necessarie per chiamare i modelli di AI Vertex AI direttamente dal database. Il worker AI/ML viene eseguito come un processo chiamato omni ml worker.

La UI web

La UI web facoltativa è una console web autogestita che ti offre l'osservabilità delle istanze del database.

Questa interfaccia mappa dashboard grafiche per funzionalità personalizzate, come le integrazioni del motore colonnare e degli endpoint dei modelli, che i visualizzatori PostgreSQL open source tipici non possono monitorare.

Completa le seguenti configurazioni facoltative per installare e connetterti alla UI web:

Control plane dell'orchestratore

L'opzione di deployment dell'orchestratore RPM utilizza un gestore dei cluster centralizzato per automatizzare le operazioni a livello di cluster, tra cui il bootstrap e il failover.

Interfacce di gestione

L'opzione di deployment dell'agente di orchestrazione RPM fornisce un'utilità a riga di comando (alloydbctl) e ruoli Ansible per consentirti di gestire uno o più cluster su larga scala.

Ottimizzazione delle prestazioni

L'opzione di deployment dell'orchestratore RPM include il supporto integrato per PgBouncer per il pooling delle connessioni e HAProxy per il bilanciamento del carico tra endpoint di lettura/scrittura e di sola lettura.

Passaggi successivi