Panoramica dei profili app
Un profilo di applicazione, o profilo app, memorizza le impostazioni che indicano all'istanza Bigtable come gestire le richieste in entrata da un'applicazione. Quando l'applicazione si connette a un'istanza Bigtable, utilizza il profilo app predefinito o un profilo app specificato da te. Bigtable utilizza questo profilo app per le richieste che l'applicazione invia tramite questa connessione.
Un profilo app è un profilo app standard o un profilo app Data Boost, a seconda del tipo di computing utilizzato. Un profilo app standard utilizza i nodi del cluster di cui è stato eseguito il provisioning per il computing e viene in genere utilizzato per il traffico di pubblicazione delle applicazioni. Un profilo app Data Boost utilizza il serverless computing, progettato per job e query di lettura con throughput elevato. Per saperne di più su Data Boost, consulta la panoramica di Data Boost.
Questa pagina descrive i profili app e fornisce indicazioni sul loro utilizzo.
Per esempi di codice che mostrano come utilizzare un profilo app nell'applicazione, vedi Connettersi con un profilo app personalizzato.
Utilizzare un profilo app separato per ogni carico di lavoro
Quando crei un'istanza Bigtable, viene creato automaticamente un profilo app predefinito e le relative impostazioni dipendono dal numero di cluster dell'istanza. Per sfruttare appieno i vantaggi dei profili app, devi creare e utilizzare profili app aggiuntivi e utilizzare un profilo app diverso per ogni applicazione o carico di lavoro.
I profili app sono particolarmente importanti per le istanze con due o più cluster, ma anche se l'istanza ha un solo cluster, devi utilizzare un profilo app univoco per ogni applicazione in esecuzione o per componenti diversi all'interno di una singola applicazione.
Le sezioni seguenti descrivono i vantaggi della creazione e dell'utilizzo di più profili app.
Isolamento del carico di lavoro
L'utilizzo di profili app separati consente di utilizzare criteri di computing e routing Bigtable diversi per scopi diversi. Ad esempio, considera una situazione in cui vuoi impedire a un job di lettura batch (carico di lavoro A) di aumentare l'utilizzo della CPU sui cluster che gestiscono le letture e le scritture costanti di un'applicazione (carico di lavoro B). Puoi adottare uno dei seguenti approcci:
Crea un profilo app standard per il carico di lavoro B che esegue il routing a un gruppo di cluster che esclude un cluster. Poi crea un profilo app standard separato per il carico di lavoro A che specifica il routing a cluster singolo al cluster a cui il carico di lavoro B non invia richieste.
Utilizza un profilo app standard, che utilizza i nodi del cluster per il computing, configurato per il routing a qualsiasi cluster per il carico di lavoro B e crea un profilo app Data Boost da utilizzare su un singolo cluster con il carico di lavoro A. Data Boost utilizza il serverless computing, mentre il traffico delle applicazioni utilizza i nodi del cluster per il computing.
Puoi modificare le impostazioni di un'applicazione o di una funzione senza influire su altre applicazioni che si connettono agli stessi dati.
Osservabilità
L'utilizzo di profili app separati per carichi di lavoro diversi offre una migliore conoscenza dell'utilizzo di Bigtable da parte delle applicazioni, perché le metriche sono disponibili per ogni profilo app. Questo aumento dell'osservabilità può essere utile nei seguenti modi:
Puoi esaminare la latenza a livello di profilo app per determinare quale applicazione potrebbe influire sul rendimento complessivo.
Il monitoraggio dell'utilizzo della CPU per profilo app per un carico di lavoro che utilizza un profilo app standard può aiutarti a risolvere i problemi di utilizzo della CPU o a prendere decisioni sulla dimensione o sulla posizione del cluster, in modo da ottimizzare l'utilizzo e ridurre i costi.
Le metriche a livello di profilo app sono utili se devi richiedere assistenza, perché puoi condividere meglio il carico di lavoro esatto che causa un problema.
Puoi utilizzare la console Bigtable Google Cloud per visualizzare grafici separati delle metriche Bigtable per ogni profilo app. Per scoprire quali metriche sono disponibili a livello di profilo, consulta la tabella in Grafici di approfondimenti di sistema per le risorse Bigtable.
Profili app standard
Un profilo app standard esegue il routing del traffico ai cluster di un'istanza utilizzando i nodi dei cluster.
Routing
Un profilo app standard definisce il criterio di routing utilizzato da Bigtable e stabilisce se sono consentite transazioni su riga singola. Un profilo app standard consente anche di specificare il livello di priorità per le richieste inviate utilizzando il profilo app.
Priorità richiesta
Puoi specificare la priorità che Bigtable deve assegnare alle richieste di dati di un profilo app standard. Per esaminare i livelli di priorità disponibili, vedi Configurare le priorità delle richieste.
Profili app con livello in memoria
Nei cluster Enterprise Plus, puoi configurare i profili app per leggere il traffico dal livello in memoria. Per impostazione predefinita, un profilo app configurato per utilizzare la memoria in-memory utilizza il routing a cluster singolo.
Profili app Data Boost
Un profilo app Data Boost consente di utilizzare il serverless computing di Data Boost per isolare job e query con throughput elevato dal traffico di pubblicazione delle app. Un profilo app Data Boost non consente di configurare la priorità delle richieste e l'unico criterio di routing disponibile è a cluster singolo. Per saperne di più, consulta la panoramica di Data Boost.
La versione Enterprise Plus estende le funzionalità di Data Boost per supportare:
- Query SQL isolate
- Analisi dei dati su cluster o tabelle HDD con l'archiviazione a livelli abilitata
Modifiche ai profili app
Se devi modificare il criterio di routing o la priorità delle richieste per un carico di lavoro, puoi aggiornare il profilo app utilizzato per il carico di lavoro. Puoi anche convertire un profilo app da standard a isolamento Data Boost o da Data Boost a isolamento standard. La conversione di un profilo app standard per l'utilizzo di Data Boost rimuove le impostazioni di priorità delle richieste dal profilo app, nonché tutti i criteri di routing diversi da quelli a cluster singolo.
Le modifiche a un profilo app hanno effetto immediato.
Tuttavia, in molti casi, anziché modificare un profilo app in uso, devi creare un nuovo profilo app con una configurazione diversa, come faresti per un nuovo caso d'uso, e poi modificare il codice dell'applicazione per utilizzare il nuovo profilo app. La creazione di un nuovo profilo app per apportare modifiche a un carico di lavoro garantisce di non modificare inavvertitamente il profilo app per altri carichi di lavoro che lo utilizzano.
Se modifichi un profilo app da standard a Data Boost, il tipo di computing utilizzato per il traffico del profilo app viene modificato in serverless, insieme ai prezzi. Per saperne di più, consulta la panoramica di Data Boost e i prezzi di Bigtable.
Allo stesso modo, se modifichi un profilo app da Data Boost a standard, il traffico inviato dal profilo app inizia a utilizzare i nodi del cluster per il computing. Ciò significa che tutti i cluster a cui il profilo app esegue il routing devono avere un numero di nodi sufficiente a soddisfare i requisiti di utilizzo della CPU. Per saperne di più, vedi Nodi.
Per scoprire come visualizzare, creare e aggiornare i profili app, vedi Creare e configurare i profili app.
Profilo app predefinito
Quando crei un'istanza, Bigtable crea automaticamente un profilo app predefinito per l'istanza. Il profilo app predefinito è un profilo app standard, ma puoi convertirlo in un profilo Data Boost. Se l'applicazione non specifica un profilo app o se utilizzi la shell HBase per connetterti all'istanza, Bigtable utilizza le impostazioni del profilo app predefinito.
Le impostazioni del profilo app predefinito di un'istanza dipendono dal numero di cluster dell'istanza al momento della creazione:
- Se hai creato l'istanza con un cluster, il profilo app
defaultutilizza il routing a cluster singolo e abilita le transazioni su riga singola. In questo modo, l'aggiunta di cluster aggiuntivi in un secondo momento non modifica il comportamento delle applicazioni esistenti. - Se hai creato l'istanza con due o più cluster, il
defaultprofilo app utilizza il routing multi-cluster a qualsiasi cluster. Le transazioni su riga singola non sono mai consentite con il routing multi-cluster.
Il profilo app predefinito non cambia quando aggiungi o rimuovi cluster. Devi aggiornare manualmente il profilo app predefinito per modificarne le impostazioni. Tuttavia, come best practice, ti consigliamo di creare e utilizzare un nuovo profilo app anziché modificare il profilo app predefinito.
Profili app personalizzati
Un profilo app personalizzato è un profilo app che crei e configuri. Un'istanza può avere fino a 2000 profili app. Ogni profilo app diverso da quello predefinito è considerato un profilo app personalizzato.
Passaggi successivi
- Monitorare l'utilizzo della CPU di un profilo app standard.
- Trovare le impostazioni di replica giuste per il tuo caso d'uso.
- Creare e gestire i profili app per l'istanza.