Panoramica del partizionamento geografico

Questa pagina introduce e spiega come funziona il partizionamento geografico in Spanner.

Spanner offre configurazioni di istanze a livello di una o più regioni, che ti consentono di replicare i dati in più località geografiche. Il partizionamento geografico consente di segmentare e archiviare ulteriormente le righe nella tabella di database in diverse configurazioni di istanze.

Vantaggi e casi d'uso

Ecco alcuni vantaggi del partizionamento geografico:

  • Riduce la latenza di scrittura e l'elevata latenza di lettura consentendoti di archiviare i dati nella stessa posizione geografica della query.

  • Ottimizza i costi per i carichi di lavoro globali asimmetrici (ad esempio, utilizzando una partizione us-central1 con 10 nodi e una partizione asia-south1 con 2 nodi).

Di seguito sono riportati alcuni casi d'uso comuni:

  • Dati relativi agli utenti: esegui il partizionamento geografico dei dati relativi agli utenti per elaborare e archiviare i dati nella regione più vicina all'utente.

  • Dati localizzati: informazioni specifiche sulla località, come traffico ed eventi speciali.

Come funziona il partizionamento geografico

Tutte le istanze Spanner hanno una partizione dell'istanza principale denominata partizione default. Se non crei partizioni aggiuntive, tutti gli oggetti del database vengono archiviati nella partizione predefinita, che si trova nella stessa località della configurazione dell'istanza.

Se vuoi eseguire il partizionamento dei dati in un database, devi creare partizioni aggiuntive nell'istanza. Queste partizioni create dall'utente hanno la propria configurazione (a livello di regione o più regioni) e il proprio numero di nodi. Crea il tuo database come faresti normalmente: può interagire con le partizioni create nella stessa istanza. Quindi, crea dei posizionamenti nel database associati alla partizione. Infine, puoi creare tabelle di posizionamenti che hanno un attributo chiave di posizionamento. Devi utilizzare la chiave di posizionamento nelle istruzioni DML per specificare la partizione in cui si trovano i dati della riga. Se crei tabelle non di posizionamento nel database, Spanner archivia questi dati nella partizione predefinita.

Per istruzioni su come utilizzare le partizioni, vedi Creare e gestire le partizioni.

Considerazioni importanti

Prima di creare partizioni, posizionamenti e tabelle di posizionamenti, considera quanto segue:

  • Località di partizione: seleziona con attenzione le regioni di partizione che offrono i maggiori vantaggi per la tua applicazione.

    Anche se puoi creare partizioni in un'istanza con una configurazione a livello di regione, ti consigliamo di creare le partizioni in un'istanza con una configurazione per più regioni, in modo che anche la località predefinita della partizione si trovi in una configurazione multiregionale.

    Inoltre, seleziona una località di partizione predefinita multiregionale che includa regioni di lettura-scrittura e di sola lettura che coprono tutte le giurisdizioni richieste dalla tua applicazione. Quindi, crea partizioni aggiuntive (che possono essere a livello di regione) con regioni leader che corrispondono a quelle nella partizione predefinita per più regioni.

  • Numero di partizioni: troppe partizioni possono causare un overhead, mentre troppe poche potrebbero non offrire vantaggi sufficienti. Puoi creare un massimo di dieci partizioni per istanza.

Limitazioni

Il partizionamento geografico presenta le seguenti limitazioni:

  • Il partizionamento geografico non supporta i database con dialetti PostgreSQL.
  • Per ogni partizione, la capacità di calcolo deve essere almeno un nodo (1000 unità di elaborazione).
  • Per una determinata istanza, non puoi creare più di una partizione dell'istanza che utilizza la stessa configurazione dell'istanza di base. Ad esempio, in test-instance non puoi creare due partizioni, partition-1 e partition-2 che utilizzano entrambe us-central1 come configurazione della partizione.
  • Per ogni nodo della partizione, puoi posizionare un massimo di 20 milioni di righe. Puoi visualizzare il numero di righe che sono state posizionate in ciascuna delle tue partizioni nella pagina Partizioni della console Google Cloud.
  • Per ogni nodo nella partizione dell'istanza di destinazione, Spanner può spostare circa 10 righe di posizionamento al secondo.
  • Non puoi creare partizioni in istanze di prova gratuite o istanze di dimensioni granulari più piccole di un nodo (1000 unità di elaborazione).
  • Non puoi creare backup per le istanze con partizioni.
  • Non puoi utilizzare le chiavi di crittografia gestite dal cliente per istanze con partizioni.
  • Non puoi creare partizioni di istanze in un'istanza in cui è abilitato il gestore della scalabilità automatica gestito.
  • Non puoi spostare la partizione in una configurazione dell'istanza diversa.
  • Non puoi spostare un'istanza con partizioni.
  • L'uso delle partizioni non garantisce i requisiti di sicurezza, conformità e normativi.
  • I flussi di modifiche non supportano i dati partizionati.
  • Per utilizzare il partizionamento geografico, devi creare un nuovo database vuoto e impostare l'opzione opt_in_dataplacement_preview su true. Per scoprire di più, consulta Creare e gestire posizionamenti di dati.
  • Se utilizzi un'istruzione DML INSERT o DELETE per una tabella di posizionamento, deve essere l'unica istruzione nella transazione.

Controllo dell'accesso con IAM

Per creare e gestire le partizioni, devi disporre delle autorizzazioni spanner.instancePartitions.create, spanner.instancePartitions.update e spanner.instancePartitions.delete. Se devi solo visualizzare le partizioni, devi avere l'autorizzazione spanner.instancePartitions.list o spanner.instancePartitions.get. Per ulteriori informazioni, consulta la panoramica di IAM.

Per informazioni su come concedere le autorizzazioni IAM di Spanner, consulta Applicare le autorizzazioni IAM.

Monitoraggio

Spanner fornisce diverse metriche per aiutarti a monitorare le partizioni. Dopo aver creato una partizione aggiuntiva, vedrai un filtro a discesa aggiuntivo per Partizioni nella pagina Insight sul sistema della console Google Cloud. La selezione predefinita prevede di mostrare le metriche per Tutte le partizioni. Puoi usare il menu a discesa per filtrare le metriche in base a una partizione specifica.

Per saperne di più sul monitoraggio delle risorse Spanner, consulta Monitorare le istanze con Cloud Monitoring.

Prezzi

Non sono previsti costi aggiuntivi per l'utilizzo del partizionamento geografico. Ti vengono addebitati i prezzi standard di Spanner per la quantità di capacità di calcolo utilizzata dall'istanza e lo spazio di archiviazione utilizzato dal database.

Per ulteriori informazioni, consulta i prezzi di Spanner.

Passaggi successivi