Prima di lanciare un'applicazione, ti consigliamo di preriscaldare il database utilizzando carichi di dati di test per sfruttare le funzionalità di parallelizzazione di Spanner.
Spanner è un database distribuito, il che significa che, cresce, Spanner divide lo spazio chiave dei dati in di grandi dimensioni chiamati divisioni. Ogni suddivisione è un intervallo di righe che contiene un sottoinsieme della tabella. Poiché Spanner suddivide i dati in base al carico e alle dimensioni, sposta dinamicamente le singole suddivisioni indipendentemente l'una dall'altra e le assegna a diverse risorse del server per bilanciare il carico complessivo sul database.
Quando inserisci inizialmente i dati in un database vuoto, Spanner li scrive in un'unica suddivisione. Il database è ancora in uno stato "cold". Man mano che inserisci più dati, Spanner inizia a suddividerli per riequilibrare il carico sulle altre risorse del server disponibili. Ora Spanner è in uno stato "warm" con suddivisioni tra le risorse del server disponibili per massimizzare il parallelismo e migliorare le prestazioni.
Come best practice, ti consigliamo di lanciare l'applicazione quando Spanner è in uno stato attivo con le suddivisioni già create e bilanciate tra le risorse del server. Per preparare il database per caricare i dati di test, segui questi passaggi:
- Assicurati che le chiavi principali che generi per i caricamenti dei dati di test si trovino nello stesso spazio chiavi e abbiano le stesse proprietà di distribuzione delle chiavi che utilizzi per il traffico di produzione.
- Esegui un test di carico non più di due giorni prima del lancio. Esegui il test di carico per alle ore almeno un'ora al picco di carico previsto. Cause del test di carico Spanner per creare più suddivisioni a causa della suddivisione basata sul carico.
- Al termine del test di carico, puoi eliminare le righe generate il test di carico dalle tabelle, ma non eliminare le tabelle stesse. In questo modo, le suddivisioni rimangono disponibili per la finestra di lancio.