Riscalda il database prima dell'avvio dell'applicazione

Prima di avviare un'applicazione, è consigliabile riavviare il database utilizzando i caricamenti dei dati di test per sfruttare le funzionalità di parallelizzazione di Spanner.

Spanner è un database distribuito, il che significa che man mano che il database cresce, Spanner divide lo spazio chiave dei tuoi dati in blocchi chiamati split. Ogni suddivisione è un intervallo di righe che contiene un sottoinsieme della tabella. Man mano che Spanner suddivide i dati in base al carico e alle dimensioni, sposta dinamicamente le singole suddivisioni in modo indipendente l'una dall'altra e le assegna a diverse risorse server per bilanciare il carico complessivo sul database.

Quando inizialmente inserisci i dati in un database vuoto, Spanner li scrive in un'unica suddivisione. Il database è ancora in stato "a freddo". Man mano che inserisci altri dati, Spanner inizia a suddividerli per ribilanciare il carico tra le altre risorse del server disponibili. Ora Spanner è in uno stato "caldo" con suddivisioni tra le risorse del server disponibili per massimizzare il parallelismo e migliorare le prestazioni.

Come best practice, ti consigliamo di avviare l'applicazione quando Spanner è in stato di riposo con suddivisioni già create e bilanciate tra le risorse server. Per preparare il database e preparare il caricamento dei dati di test, segui questi passaggi:

  1. Assicurati che le chiavi primarie generate per i caricamenti dei dati di test si trovino nello stesso spazio delle chiavi e abbiano le stesse proprietà di distribuzione delle chiavi che utilizzi per il traffico di produzione.
  2. Esegui un test di carico non più di due giorni prima del lancio. Esegui il test di carico per almeno un'ora al picco di carico previsto. Il test di carico fa sì che Spanner crei più suddivisioni a causa della suddivisione basata sul carico.
  3. Al termine del test di carico, puoi eliminare dalle tabelle le righe generate dal test, ma non eliminare le tabelle stesse. In questo modo, le suddivisioni saranno disponibili per il periodo di lancio.