Configurazione di garbage collection
Questa pagina mostra come visualizzare, impostare e aggiornare i criteri di garbage collection in Cloud Bigtable. Prima di leggere questa pagina, dovresti conoscere il garbage collection.
Prima di utilizzare l'interfaccia a riga di comando cbt
, segui le istruzioni per la configurazione, inclusi i passaggi per creare un file .cbtrc
.
Visualizza i criteri attuali per la garbage collection
Puoi utilizzare la console Google Cloud o l'interfaccia a riga di comando cbt
per visualizzare i criteri di garbage collection di una famiglia di colonne.
Console
Per visualizzare l'attuale criterio per la garbage collection per una famiglia di colonne:
Apri l'elenco delle istanze Bigtable nella console Google Cloud.
Fai clic sull'istanza di cui vuoi visualizzare le tabelle.
Fai clic su Tabelle nel riquadro a sinistra.
La pagina Tabelle mostra un elenco di tabelle nell'istanza.
Fai clic su
Modifica nella riga della tabella.Fai clic su
Apri accanto alla famiglia di colonne che vuoi visualizzare.Una volta visualizzata la norma relativa garbage collection, fai clic su Annulla per uscire.
cbt
Puoi cercare i criteri di garbage collection attuali per una determinata
tabella eseguendo il comando seguente, sostituendo un ID tabella valido con
TABLE_ID
:
cbt ls TABLE_ID
Imposta i criteri per garbage collection
Puoi impostare i criteri di garbage collection utilizzando la console Google Cloud, l'
interfaccia a riga di comando di cbt
o le librerie client di Cloud Bigtable.
Rifiuti in base all'età
La seguente sezione mostra come impostare l'età massima per i dati in una famiglia di colonne.
Console
Per impostare una scadenza per le celle di una famiglia di colonne:
Apri l'elenco delle istanze Bigtable nella console Google Cloud.
Fai clic sull'istanza di cui vuoi visualizzare le tabelle.
Fai clic su Tabelle nel riquadro a sinistra.
La pagina Tabelle mostra un elenco di tabelle nell'istanza.
Fai clic su Modifica
.Fai clic su
Apri accanto alla famiglia di colonne da modificare.Seleziona Norme basate sull'età.
Inserisci l'età inserendo un numero nella casella di testo Età massima e utilizzando il menu a discesa Unità per selezionare l'unità di tempo.
Ad esempio, per conservare i dati di una famiglia di colonne per 30 minuti, inserisci 30 e scegli minuti.
Fai clic su Salva.
cbt
Questo esempio crea una famiglia di colonne denominata cf1
, quindi imposta l'età massima per i dati nella famiglia di colonne su 5 giorni. Questo indica a Bigtable di rimuovere tutti i dati con timestamp più vecchi di cinque giorni in tutte le colonne in questa famiglia di colonne.
cbt createfamily your-table cf1
cbt setgcpolicy your-table cf1 maxage=5d
Go
HBase
Questo esempio di codice sarà disponibile a breve.
Java
Python
C#
C++
Node.js
PHP
Ruby
Raccolta dei rifiuti in base al numero di versioni
La sezione seguente mostra come creare una famiglia di colonne con un criterio di garbage collection che indichi il numero di versioni dei dati o il numero di celle da conservare.
Console
Per impostare il numero di celle o versioni da conservare in una famiglia di colonne:
Apri l'elenco delle istanze Bigtable nella console Google Cloud.
Fai clic sull'istanza di cui vuoi visualizzare le tabelle.
Fai clic su Tabelle nel riquadro a sinistra.
La pagina Tabelle mostra un elenco di tabelle nell'istanza.
Fai clic su
Modifica nella riga della tabella.Fai clic su
Apri accanto alla famiglia di colonne da modificare.Seleziona Criteri basati sulla versione.
Inserisci il numero di celle da conservare in ogni colonna della famiglia di colonne.
Fai clic su Salva.
cbt
Questo esempio crea una famiglia di colonne denominata cf2
, quindi imposta su due il numero di versioni da mantenere nella famiglia di colonne. Questo indica a
Bigtable di rimuovere tutte le colonne tranne le due più recenti in tutte
le colonne in questa famiglia di colonne.
cbt createfamily your-table cf2
cbt setgcpolicy your-table cf2 maxversions=2
Questo esempio imposta un criterio per rimuovere tutte le celle tranne la più recente.
cbt setgcpolicy your-table cf2 maxversions=1
Go
HBase
Questo esempio di codice sarà disponibile a breve.
Java
Python
C#
C++
Node.js
PHP
Ruby
Rifiuti in base a più criteri
La sezione seguente mostra come creare una famiglia di colonne con un criterio di intersezione garbage collection.
Console
Per impostare un criterio di garbage collection intersezione per le celle di una famiglia di colonne:
Apri l'elenco delle istanze Bigtable nella console Google Cloud.
Fai clic sull'istanza di cui vuoi visualizzare le tabelle.
Fai clic su Tabelle nel riquadro a sinistra.
La pagina Tabelle mostra un elenco di tabelle nell'istanza.
Fai clic su
Modifica nella riga della tabella.Fai clic su
Apri accanto alla famiglia di colonne da modificare.Seleziona Norme personalizzate.
Inserisci una regola di garbage collection nell'area di testo, impostando i valori per
maxage
,maxversions
o entrambi. Le unità di età accettabili sono ms, s, m, h e d, che significano millisecondi, secondi, minuti, ore e giorni.Ad esempio, per rimuovere le celle più vecchie di cinque giorni e meno delle due celle più recenti, inserisci quanto segue. Le celle devono soddisfare entrambi i criteri per poter essere rimossi.
maxage=5d and maxversions=2
Fai clic su Salva.
cbt
Questo esempio crea una famiglia di colonne denominata cf4
, quindi imposta un criterio di garbage collection che rimuove le celle più vecchie di cinque giorni e più vecchie delle due celle più recenti per tutte le colonne della famiglia di colonne.
Per essere rimosse, le celle devono soddisfare entrambi i criteri.
cbt createfamily your-table cf4
cbt setgcpolicy your-table cf4 maxage=5d and maxversions=2
Questo esempio imposta un criterio che rimuove tutte le celle che risalgono a più di 14 giorni fa, ad eccezione di quella più recente.
cbt setgcpolicy your-table cf4 maxage=14d and maxversion=1
Go
HBase
Questo esempio di codice sarà disponibile a breve.
Java
Python
C#
C++
Node.js
PHP
Ruby
La sezione seguente mostra come creare una famiglia di colonne con un criterio union per la garbage collection.
Console
Per impostare un criterio di garbage collection per le celle di una famiglia di colonne:
Apri l'elenco delle istanze Bigtable nella console Google Cloud.
Fai clic sull'istanza di cui vuoi visualizzare le tabelle.
Fai clic su Tabelle nel riquadro a sinistra.
La pagina Tabelle mostra un elenco di tabelle nell'istanza.
Fai clic su
Modifica nella riga della tabella.Fai clic su
Apri accanto alla famiglia di colonne da modificare.Seleziona Norme personalizzate.
Inserisci una regola di garbage collection nell'area di testo, impostando i valori per
maxage
,maxversions
o entrambi. Le unità di età accettabili sono ms, s, m, h e d, che significano millisecondi, secondi, minuti, ore e giorni.Ad esempio, per rimuovere le celle che risalgono a più di cinque giorni prima o sono più vecchie delle due celle più recenti, inserisci quanto segue. Le celle devono soddisfare uno qualsiasi dei criteri per poter essere rimosse.
maxage=5d or maxversions=2
Fai clic su Salva.
cbt
Questo esempio crea una famiglia di colonne denominata cf3
, quindi imposta un criterio di garbage collection che rimuove le celle che risalgono a più di cinque giorni prima o sono più vecchie delle due celle più recenti. Le celle devono soddisfare una delle condizioni per poter essere rimosse.
cbt createfamily your-table cf3
cbt setgcpolicy your-table cf3 maxage=5d or maxversions=2
Questo esempio imposta un criterio che rimuove tutti i valori di celle tranne la più recente, ma rimuove anche la cella più recente se risale a oltre un secondo.
cbt setgcpolicy your-table cf3 maxversions=1 or maxage=1s
Go
HBase
Questo esempio di codice sarà disponibile a breve.
Java
Python
C#
C++
Node.js
PHP
Ruby
La sezione seguente mostra come creare una famiglia di colonne con un criterio nidificato per garbage collection. Un criterio di garbage collection nidificato include una combinazione di regole di unione e intersezione.
Console
Per impostare un criterio nidificato di garbage collection per le celle di una famiglia di colonne:
Apri l'elenco delle istanze Bigtable nella console Google Cloud.
Fai clic sull'istanza di cui vuoi visualizzare le tabelle.
Fai clic su Tabelle nel riquadro a sinistra.
La pagina Tabelle mostra un elenco di tabelle nell'istanza.
Fai clic su
Modifica nella riga della tabella.Fai clic su
Apri accanto alla famiglia di colonne da modificare.Seleziona Norme personalizzate.
Inserisci una regola di garbage collection nell'area di testo, impostando i valori per
maxage
,maxversions
o entrambi. Le unità di età accettabili sono ms, s, m, h e d, che significano millisecondi, secondi, minuti, ore e giorni.Ad esempio, per conservare le due celle più recenti anche se risalgono a più di un minuto fa, o per mantenere le dieci celle più recenti, a meno di un minuto prima, inserisci quanto segue:
(maxage=1m and maxversions=2) or maxversions=10
Fai clic su Salva.
cbt
In questo esempio viene creata una famiglia di colonne denominata cf5
, quindi viene impostato un criterio di garbage collection che rimuove le celle della famiglia di colonne che soddisfano una delle seguenti condizioni:
- Oltre le dieci celle più recenti
- Più di un minuto e più due delle due celle più recenti
In altre parole, questo criterio conserva le due celle più recenti anche se hanno più di un minuto o ha le dieci celle più recenti, a condizione che abbiano meno di un minuto.
cbt createfamily your-table cf5
cbt setgcpolicy your-table cf5 "(maxage=1m and maxversions=2) or
maxversions=10"
Go
HBase
Questo esempio di codice sarà disponibile a breve.
Java
Python
C#
C++
Node.js
PHP
Ruby
Aggiorna un criterio relativo garbage collection
La sezione seguente illustra come modificare un criterio di garbage collection esistente.
Console
Per aggiornare le norme relative alla garbage collection di una famiglia di colonne:
Apri l'elenco delle istanze Bigtable nella console Google Cloud.
Fai clic sull'istanza di cui vuoi visualizzare le tabelle.
Fai clic su Tabelle nel riquadro a sinistra.
La pagina Tabelle mostra un elenco di tabelle nell'istanza.
Fai clic su
Modifica nella riga della tabella.Fai clic su
Apri accanto alla famiglia di colonne da modificare.Fai clic su Salva.
cbt
cbt setgcpolicy your-table cf1 maxage=1d
Go
Questo esempio di codice sarà disponibile a breve.
HBase
Questo esempio di codice sarà disponibile a breve.
Java
Python
C#
C++
Node.js
PHP
Ruby
Passaggi successivi
- Esamina altri esempi di codice.
- Esplora le strategie per simulare un TTL a livello di cella.
- Scopri in che modo i timestamp che sono numeri sequenziali influiscono sulla garbage collection.
- Scopri come conservare solo il valore più recente di una colonna.