Pattern di mappa termica

Questa pagina mostra esempi di pattern che potresti vedere in una mappa termica di Key Visualizer. Questi pattern possono aiutarti a risolvere problemi specifici di prestazioni.

Alcuni problemi esposti in Key Visualizer riguardano la definizione della chiave primaria. Poiché una chiave primaria è immutabile, questi problemi vengono individuati meglio durante la fase di progettazione o proof of concept.

Altri problemi potrebbero riguardare l'allocazione dei nodi dell'istanza. Potrebbe essere necessario eseguire il provisioning di capacità aggiuntiva, nel complesso o potenzialmente in determinati momenti della giornata. Per modificare il numero di nodi associati all'istanza, consulta Modifica del numero di nodi.

Prima di leggere questa pagina, dovresti acquisire familiarità con la panoramica di Key Visualizer.

Operazioni di lettura e scrittura distribuite in modo uniforme

Esempio di mappa termica che mostra aree con distribuzione uniforme di caldo e freddo

Se una mappa termica mostra una combinazione granulare di colori scuri e chiari, le operazioni di lettura e scrittura vengono distribuite uniformemente in tutto il database. Questa mappa termica rappresenta un modello di utilizzo efficace per Spanner, quindi non è richiesta alcuna azione da parte tua.

La tua mappa termica potrebbe non essere distribuita in modo uniforme, ma illustra comunque uno schema e un carico di lavoro integri. È possibile prevedere un certo numero di hotspot in una configurazione con risorse corrette.

Aumento monotonico delle chiavi

Esempio di mappa termica che mostra una banda calda diagonale (con una diminuzione da sinistra a destra)

Una mappa termica con una singola linea diagonale luminosa o un triangolo con parte superiore piatta può indicare un database che utilizza tasti sequenziali. Le chiavi sequenziali sono un anti-pattern in Spanner. Consulta la pagina Best practice per la progettazione di schemi per scoprire perché le chiavi sequenziali causano hotspot.

Intervalli di tasti di scelta rapida in modo permanente

Esempio di mappa termica che mostra più bande orizzontali calde

Se una mappa termica mostra bande orizzontali di colore luminoso, separate da colori scuri, indica che intervalli di righe specifici vengono costantemente utilizzati con maggiore accesso nel tempo.

Per risolvere questo problema, valuta la possibilità di modificare il design dello schema o l'applicazione in modo che i dati in una riga molto utilizzata o in una riga troppo grande vengano distribuiti su più righe.

Tavola calda singola

Esempio di mappa termica che mostra una singola banda orizzontale a caldo

Se una mappa termica mostra una banda di colori vivaci in una singola tabella, indica l'accesso intensivo alla tabella nel tempo.

Questo schema di per sé non è necessariamente problematico. Se visualizzi questo pattern in combinazione con problemi di prestazioni, è probabile che tu stia esaurendo la capacità di calcolo. Alcuni aspetti da considerare:

  • La tua applicazione potrebbe richiedere una scansione completa della tabella, che verrà visualizzata in Key Visualizer come banda luminosa dell'intera tabella. Prendi invece in considerazione una query più restrittiva o una query sull'indice per ridurre il numero di righe da scansionare.

  • Aumenta il numero di nodi per questa istanza.

Lettura e scrittura in movimento nel tempo

Esempio di mappa termica che mostra bande calde diagonali (in aumento da sinistra a destra)

Una mappa termica che mostra più linee diagonali luminose (in aumento o in diminuzione) di solito indica letture o scritture sequenziali sulle righe in un breve periodo di tempo.

Se le righe corrispondono a un'attività di lettura, come l'esportazione di una tabella, non è richiesta alcuna azione. Se riscontri problemi di prestazioni durante queste letture, ti consigliamo di aumentare il numero di nodi per l'istanza in questi periodi di tempo. Puoi diminuire il numero di nodi tra un periodo e l'altro.

Se le righe corrispondono ad attività di scrittura e riscontri problemi di prestazioni, considera la possibilità di modificare il carico di lavoro in una scrittura casuale anziché sequenziale.

Aumento improvviso del traffico

Esempio di mappa termica che mostra due bande orizzontali a caldo che iniziano a metà della mappa termica

Una mappa termica che mostra bande orizzontali luminose visualizzate parzialmente nella mappa termica indica un cambiamento improvviso nel modello di utilizzo di un database. Può trattarsi di una query non autorizzata o di un picco imprevisto dell'attività per alcune righe.

Precisazioni

In alcuni scenari, Key Visualizer potrebbe non offrire un quadro completo delle prestazioni e dell'utilizzo delle risorse.

Scenario Dati visualizzati nella mappa termica
Una tabella di dati di grandi dimensioni e alcune tabelle piccole Il Key Visualizer seleziona più intervalli di righe nelle tabelle di grandi dimensioni che nelle tabelle più piccole. Di conseguenza, una tabella di piccole dimensioni può essere visualizzata come un singolo intervallo di righe nella mappa termica. Ci sarà un intervallo di righe che rappresenta ogni tabella a condizione che il numero di tabelle sia inferiore a 1000. Quando una chiave o un numero limitato di tasti sono attivi in una piccola tabella, l'utente può sapere solo che questa è attiva, ma non oltre.
Molte tabelle / indici
Ad esempio, un database con centinaia o più di mille tabelle, indipendentemente dalle dimensioni.
Key Visualizer seleziona al massimo 1000 intervalli di righe. Quando sono presenti molte tabelle e indici, alcuni potrebbero avere solo zero o un punto dati sulla mappa termica. Di conseguenza, gli hotspot potrebbero non essere disponibili perché la relativa tabella è stata ignorata o sottocampionata.
Cambio rapido dei tasti Modifiche rapide nello spazio dei tasti si traducono in frequenti modifiche degli intervalli di righe. Quando è necessario suddividere un intervallo di righe precedente a causa di chiavi appena inserite o quando vengono uniti più intervalli di righe a causa di chiavi eliminate, le metriche vengono approssimate (ad es. divise/combinate). L'approssimazione combinata dei valori delle metriche li renderà probabilmente meno precisi. Inoltre, c'è un ritardo nell'aggiornamento degli intervalli di righe dopo le modifiche allo spazio delle chiavi, il che può comportare una perdita di granularità fino a quando gli intervalli di righe non vengono aggiornati.

Passaggi successivi