Creazione e gestione delle tabelle
Questa pagina spiega come creare ed eseguire operazioni su Bigtable
utilizzando la console Google Cloud, Google Cloud CLI o
Interfaccia a riga di comando cbt
di Google.
La
Interfaccia a riga di comando cbt
supporta diversi comandi non descritti in questa pagina. Consulta:
il riferimento cbt
per un elenco completo dei comandi.
Puoi anche creare e gestire le tabelle in modo programmatico con librerie client di Cloud Bigtable API di servizio.
Per istruzioni sulla creazione e sulla gestione delle visualizzazioni autorizzate di una tabella, consulta viste autorizzate.
Prima di iniziare
Se prevedi di utilizzare le tabelle utilizzando strumenti a riga di comando, segui i passaggi in questa sezione.
Installa gcloud CLI.
(Facoltativo) Se prevedi di utilizzare Interfaccia a riga di comando
cbt
, segui le istruzioni alla pagina L'installazione del Interfaccia a riga di comandocbt
, incluso il passaggio per creare un file.cbtrc
.La Interfaccia a riga di comando
cbt
istruzioni in questa pagina presuppongono che il progetto e ID istanza nel file.cbtrc
. In alternativa, puoi utilizzare-project
e-instance
per impostare questi valori ogni volta che esegui un interfaccia a riga di comandocbt
.
Creare una tabella
Quando crei una tabella, non devi specificare le famiglie di colonne da utilizzare nella tabella. Puoi aggiungere o eliminare famiglie di colonne in un secondo momento.
Console
Per creare una nuova tabella in un'istanza:
Apri l'elenco delle istanze Bigtable nella console Google Cloud.
Fai clic sull'istanza di cui vuoi visualizzare le tabelle.
Fai clic su Tables nel riquadro a sinistra.
La pagina Tabelle mostra un elenco di tabelle nell'istanza.
Inserisci un ID tabella per la tabella.
(Facoltativo) Aggiungi famiglie di colonne.
Puoi aggiungere colonne ora o in un secondo momento. Una tabella deve avere almeno una colonna prima di potervi scrivere dati. Una tabella deve avere almeno uno famiglia di colonne prima di potervi scrivere dati o leggere una modifica in tempo reale da lì.
(Facoltativo) Attiva un flusso di modifiche per la tabella. Prima di abilitare un flusso di modifiche, assicurati di comprenderne le implicazioni, ad esempio Aumento dei costi di archiviazione e dei requisiti di utilizzo dei profili delle app. Da rivedere consulta la Panoramica delle modifiche in tempo reale.
Seleziona Attiva modifiche in tempo reale.
Nel campo Data di scadenza, inserisci un numero compreso tra 1 e 7 per specificare il numero di giorni in cui i dati delle modifiche in tempo reale vengono mantenuti.
Fai clic su Crea.
(Facoltativo) Se non vuoi che Bigtable crei un backup della tabella, deseleziona la casella di controllo accanto ad Abilita i percorsi automatici backup. Per ulteriori informazioni, consulta Utilizzare le backup (anteprima).
Fai clic su Crea una tabella.
gcloud
Per creare una tabella, esegui questo comando. Consulta: gcloud bigtable instances table create per un elenco completo delle opzioni.
gcloud bigtable instances tables create TABLE_ID \
--instance=INSTANCE_ID \
--project=PROJECT_ID \
--column-families=COLUMN-FAMILIES
Sostituisci quanto segue:
- TABLE_ID: un ID univoco per la nuova tabella
- INSTANCE_ID: l'ID dell'istanza
- PROJECT_ID: il progetto che conterrà la nuova tabella
- COLUMN-FAMILIES: un elenco di famiglia di colonne separate da virgole i nomi degli utenti. Puoi aggiungere altre famiglie di colonne in un secondo momento.
Facoltativamente,
Per proteggere la tabella dall'eliminazione, aggiungi il comando
--deletion-protection
. Se non applichi questa impostazione, la tabella possono essere eliminati. Puoi anche consentire esplicitamente l'eliminazione della tabella aggiungendo--no-deletion-protection
.Per abilitare un flusso di modifiche per la tabella, specifica un periodo di conservazione per i dati delle modifiche in tempo reale. Prima di abilitare un flusso di modifiche, assicurati che comprenderne le implicazioni, tra cui l'aumento dei costi di archiviazione e requisiti di utilizzo dei profili delle app. Per esaminare questi dettagli, consulta Panoramica dei flussi di modifiche.
--change-stream-retention-period=RETENTION_PERIOD
Sostituisci RETENTION_PERIOD con il periodo di tempo in cui Bigtable deve conservare i dati delle modifiche in tempo reale per la tabella. Il periodo di tempo deve essere compreso tra uno e sette giorni. Le unità accettabili sono giorni (d), ore (h), minuti (m) e secondi (s). Esempi:
48h
o6d
Per consentire a Bigtable di creare un backup giornaliero della tabella, abilita backup automatico (anteprima):
gcloud bigtable instances tables create TABLE_ID \ --instance=INSTANCE_ID \ --project=PROJECT_ID \ --column-families=COLUMN-FAMILIES \ --enable-automated-backup
cbt
Usa il comando seguente, sostituendo TABLE_NAME
con il
nome della tabella. Non puoi utilizzare
Interfaccia a riga di comando cbt
per creare una tabella
con un flusso di modifiche abilitato.
cbt createtable TABLE_ID
Facoltativo: per creare una colonna aggregata
famiglia nella tabella,
aggiungi il nome della famiglia di colonne con il tipo di aggregazione. Le seguenti
crea una famiglia di colonne aggregate con un
criterio di raccolta di never
.
cbt createtable TABLE_ID families=FAMILY_NAME:never:TYPE
Sostituisci quanto segue:
- TABLE_ID: un ID univoco per la nuova tabella
- FAMILY_NAME: un elenco di famiglia di colonne separate da virgole i nomi degli utenti. Puoi aggiungere altre famiglie di colonne in un secondo momento.
- TYPE: il tipo aggregato. Deve essere
intsum
,intmin
,intmax
, ointhll
.
Per ulteriori opzioni, consulta la sezione Creare un
nella schermata
interfaccia a riga di comando cbt
riferimento.
Se hai eliminato una tabella per errore, non tentare di crearla manualmente
nella tabella eliminata. Utilizza gcloud CLI
bigtable instances tables undelete
per recuperare
tabella.
(Facoltativo) Dividi la tabella per chiave di riga
Per ottimizzare le prestazioni, Bigtable suddivide continuamente le tabelle in più nodi, distribuendo in modo uniforme la quantità di dati e mantenere distribuite le righe a cui si accede di frequente, ove possibile. Questo processo continuo è automatico.
Quando crei una nuova tabella, puoi specificare le suddivisioni iniziali della tabella. Bigtable suddivide la tabella in base alle chiavi di riga che fornisci. Se gli spazi chiave sono troppo grandi, Bigtable suddivide ulteriormente la tabella. La le suddivisioni iniziali vengono mantenute per circa 24 ore dopo la creazione della tabella. completato. Puoi fornire fino a 100 chiavi di riga in cui le suddivisioni iniziali dovrebbero che si verificano.
Ad esempio, puoi designare righe specifiche per presuddividere la tabella se stai per scrivere molte righe nella tabella.
Suddividere la tabella non è essenziale, ma è vantaggioso perché fornisce informazioni su Bigtable su dove il carico e i dati è probabile che venga atterrato al momento della creazione della tabella. Il pre-suddiviso impedisce Bigtable non deve dividere le tabelle e ribilanciare il carico contemporaneamente man mano che arrivano i dati.
Console
Non puoi presuddividere le righe quando crei una tabella utilizzando il metodo nella console Google Cloud.
gcloud
Per suddividere una tabella per chiave di riga, esegui questo comando. Consulta: gcloud bigtable instances table create per un elenco completo delle opzioni.
gcloud bigtable instances tables create TABLE_ID\
--instance=INSTANCE_ID \
--project=PROJECT_ID \
--column-families=COLUMN-FAMILIES \
--splits=SPLITS
Sostituisci quanto segue:
- TABLE_ID: un ID univoco per la nuova tabella
- INSTANCE_ID: l'ID dell'istanza
- PROJECT_ID: il progetto che conterrà la nuova tabella
- COLUMN-FAMILIES: un elenco di famiglia di colonne separate da virgole i nomi degli utenti. Puoi aggiungere altre famiglie di colonne in un secondo momento.
- SPLITS: le chiavi di riga in cui dovrebbe trovarsi inizialmente la tabella
suddivisi, ad esempio
10,20
.
cbt
Per presuddividere una tabella in base alla chiave di riga, utilizza la seguente sintassi per
per creare la tabella. Sostituisci [TABLE_NAME]
con il nome della tabella e [SPLITS]
con un elenco separato da virgole di prefissi da chiave di riga da utilizzare per i pre-split.
```
cbt createtable [TABLE_NAME] splits=[SPLITS]
```
Ad esempio, per pre-suddividere la tabella my-table
in corrispondenza delle chiavi di riga che iniziano con
10
e 20
:
```
cbt createtable my-table splits=10,20
```
Modificare le famiglie di colonne in una tabella
Puoi aggiungere famiglie di colonne in una tabella esistente. Se la tabella non presenta la protezione da eliminazione attiva, quindi puoi eliminare famiglie di colonne nella tabella.
Aggiungi famiglie di colonne
Console
Apri l'elenco delle istanze Bigtable nella console Google Cloud.
Fai clic sull'istanza di cui vuoi visualizzare le tabelle.
Fai clic su Tables nel riquadro a sinistra.
La pagina Tabelle mostra un elenco di tabelle nell'istanza.
Fai clic su
Modifica per la tabella. che desideri modificare.Per ogni famiglia di colonne che vuoi aggiungere, completa quanto segue:
- Fai clic su Aggiungi famiglia di colonne.
- Fornisci un identificatore univoco per la famiglia di colonne.
- Imposta il criterio di garbage collection per la colonna. famiglia.
- Fai clic su Fine.
- Fai clic su Salva.
gcloud
Non puoi utilizzare gcloud CLI per aggiungere famiglie di colonne a una tabella.
cbt
Per aggiungere una famiglia di colonne a una tabella, utilizza il seguente comando:
cbt createfamily TABLE_ID FAMILY_NAME
Ad esempio, per aggiungere le famiglie di colonne cf1
e cf2
alla tabella my-table
:
cbt createfamily my-table cf1
cbt createfamily my-table cf2
Facoltativo: per aggiungere una colonna aggregata
famiglia alla tabella,
aggiungi il nome della famiglia di colonne con il tipo di aggregazione. Le seguenti
crea una tabella che ha una famiglia di colonne aggregata con una garbage collection
criterio di never
.
cbt createfamily TABLE_ID FAMILY_NAME:never:TYPE
Sostituisci quanto segue:
- TABLE_ID: l'ID tabella
- FAMILY_NAME: un elenco di famiglia di colonne separate da virgole i nomi degli utenti. Puoi aggiungere altre famiglie di colonne in un secondo momento.
- TYPE: il tipo di aggregazione. Deve essere
intsum
,intmin
,intmax
ointhll
.
Elimina famiglie di colonne
Puoi eliminare le famiglie di colonne in una tabella che non ha sia attiva la protezione da eliminazione.
Console
Apri l'elenco delle istanze Bigtable nella console Google Cloud.
Fai clic sull'istanza di cui vuoi visualizzare le tabelle.
Fai clic su Tables nel riquadro a sinistra.
La pagina Tabelle mostra un elenco di tabelle nell'istanza.
Fai clic su
Modifica per la tabella. che desideri modificare.Per ogni famiglia di colonne da eliminare, completa quanto segue:
- Passa il mouse sopra la riga della famiglia di colonne da eliminare.
- Fai clic su .
Fai clic su Salva.
Per confermare di aver compreso che l'eliminazione di una famiglia di colonne è permanente e che tutti i dati nella famiglia di colonne vengano eliminati, digita "Elimina famiglie di colonne" nel campo di testo.
Fai clic su Conferma.
gcloud
Non puoi utilizzare gcloud CLI per eliminare le famiglie di colonne da una tabella.
cbt
Per eliminare una famiglia di colonne da una tabella, utilizza il seguente comando, sostituendo
[TABLE_NAME]
con il nome della tabella e [FAMILY_NAME]
con la colonna
cognome:
cbt deletefamily [TABLE_NAME] [FAMILY_NAME]
Ad esempio, per eliminare la famiglia di colonne cf2
dalla tabella my-table
:
cbt deletefamily my-table cf2
Visualizza un elenco di tabelle
Console
Per visualizzare un elenco di tabelle in un'istanza:
Apri l'elenco delle istanze Bigtable nella console Google Cloud.
Fai clic sull'istanza di cui vuoi visualizzare le tabelle.
Fai clic su Tables nel riquadro a sinistra.
La pagina Tabelle mostra un elenco di tabelle nell'istanza.
- Fai clic sulla freccia accanto all'ID tabella per espandere un elenco di repliche della tabella.
- Fai clic su Visualizza metriche accanto al nome di una tabella per visualizzare i dati di monitoraggio per la tabella.
gcloud
Per visualizzare un elenco di tabelle, esegui il comando gcloud bigtable instances table list .
gcloud bigtable instances tables list --instances=INSTANCE_IDS
Sostituisci quanto segue:
- INSTANCE_IDS: un elenco di ID istanza separati da virgole.
cbt
Per visualizzare un elenco di tabelle in un'istanza, esegui questo comando:
cbt ls INSTANCE_ID
Sostituisci quanto segue:
INSTANCE_ID
: L'identificatore permanente dell'istanza.
C++
Per scoprire come installare e utilizzare la libreria client per Bigtable, consulta Librerie client di Bigtable.
Per eseguire l'autenticazione su Bigtable, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
C#
Per scoprire come installare e utilizzare la libreria client per Bigtable, consulta Librerie client di Bigtable.
Per eseguire l'autenticazione su Bigtable, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Per scoprire come installare e utilizzare la libreria client per Bigtable, consulta Librerie client di Bigtable.
Per eseguire l'autenticazione su Bigtable, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per scoprire come installare e utilizzare la libreria client per Bigtable, consulta Librerie client di Bigtable.
Per eseguire l'autenticazione su Bigtable, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
PHP
Per scoprire come installare e utilizzare la libreria client per Bigtable, consulta Librerie client di Bigtable.
Per eseguire l'autenticazione su Bigtable, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare e utilizzare la libreria client per Bigtable, consulta Librerie client di Bigtable.
Per eseguire l'autenticazione su Bigtable, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Ruby
Per scoprire come installare e utilizzare la libreria client per Bigtable, consulta Librerie client di Bigtable.
Per eseguire l'autenticazione su Bigtable, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Visualizzare le informazioni su una tabella
Console
Per visualizzare le informazioni su una tabella:
Apri l'elenco delle istanze Bigtable nella console Google Cloud.
Fai clic sull'istanza di cui vuoi visualizzare le tabelle.
Fai clic su Tables nel riquadro a sinistra.
La pagina Tabelle mostra un elenco di tabelle nell'istanza. Per ogni tabella, la console Google Cloud mostra il numero di cluster su cui è archiviata la tabella, lo stato della tabella, l'utilizzo dello spazio di archiviazione identificatori per eventuali backup attuali della tabella.
Per visualizzare i nomi famiglia di colonne per la tabella, fai clic su
. Per chiudere la Modifica tabella fai clic su Annulla.Per visualizzare ulteriori dettagli sulla tabella, anche a livello di tabella le metriche e lo stato di replica, fai clic sul nome della tabella.
gcloud
Per visualizzare le informazioni su una tabella, esegui il comando Comando gcloud bigtable instances table describe.
gcloud bigtable instances tables describe TABLE_ID \
--instance=INSTANCE_ID
Sostituisci quanto segue:
- TABLE_ID: un ID univoco della tabella
- INSTANCE_ID: l'ID dell'istanza
cbt
Puoi utilizzare lo
Interfaccia a riga di comando cbt
per ottenere un elenco delle famiglie di colonne esistenti in un
tabella.
Utilizza il seguente comando, sostituendo [TABLE_NAME]
con il nome della tabella:
cbt ls [TABLE_NAME]
Imposta criteri di garbage collection
Un criterio di garbage collection indica a Bigtable quali dati da conservare e quali dati contrassegnare per l'eliminazione. I criteri di garbage collection sono impostati a livello della famiglia di colonne. Puoi impostarle al momento della creazione della tabella o in un secondo momento.
Quando crei una famiglia di colonne, puoi specificare il numero di celle che da conservare in ogni colonna della famiglia di colonne. Se non o specifica questa impostazione, Bigtable utilizza una delle seguenti opzioni impostazioni:
Se crei la famiglia di colonne con il client Cloud Bigtable HBase per Java o la shell HBase o un altro strumento che utilizza il client HBase per Java, Bigtable conserva solo una cella per ogni intersezione di riga/colonna la famiglia di colonne. Questa impostazione predefinita è coerente con HBase.
Se crei la famiglia di colonne utilizzando la console Google Cloud, qualsiasi altro libreria client o interfaccia a riga di comando
cbt
, Bigtable conserva numero di celle in ogni colonna.
Per informazioni dettagliate, consulta Configurare i criteri di garbage collection istruzioni su come visualizzare, impostare e aggiornare i criteri di garbage collection.
Eseguire il backup e il ripristino di una tabella
Per istruzioni su come eseguire il backup di una tabella ed eseguire il ripristino da un backup a una nuova tabella, consulta Gestire i backup.
Se hai abilitato il backup automatico durante la creazione di una tabella, puoi modificare configurazione del backup automatico per una tabella per abilitare o disabilitare backup o modificare il periodo di conservazione impostandolo su 90 giorni dalla data di creazione del backup. Per ulteriori informazioni informazioni, consulta Utilizzare il backup automatico.
Abilitare, disabilitare o configurare un flusso di modifiche
Per istruzioni sulle attività seguenti, vedi Configurare un flusso di modifiche.
- Abilitazione di un flusso di modifiche in una tabella esistente
- Disabilitazione di un flusso di modifiche
- Aggiornare il periodo di conservazione per una modifica in tempo reale
Eliminazione di una tabella
L'eliminazione di una tabella elimina anche tutte le visualizzazioni autorizzate della tabella. Non puoi eliminare una tabella se alcune viste autorizzate della tabella hanno la protezione da eliminazione abilitata.
Console
Apri l'elenco delle istanze Bigtable nella console Google Cloud.
Fai clic sull'istanza di cui vuoi visualizzare le tabelle.
Fai clic su Tables nel riquadro a sinistra.
La pagina Tabelle mostra un elenco di tabelle nell'istanza.
Fai clic su
per la tabella da eliminare.Fai clic su Elimina.
Per confermare che accetti che questa azione eliminerà la tabella da tutti i cluster dell'istanza e che hai a disposizione solo annullare l'eliminazione della tabella, digita l'ID tabella nella casella di testo.
Fai clic su Elimina.
gcloud
Per eliminare le tabelle, esegui gcloud bigtable instances table delete .
gcloud bigtable instances tables delete --instance=INSTANCE_ID
Sostituisci quanto segue:
- INSTANCE_ID: l'ID dell'istanza
Nel terminale, inserisci
y
per confermare l'eliminazione della tabella.
cbt
Per eliminare una tabella, utilizza il seguente comando, sostituendo [TABLE_NAME]
con
il nome della tabella:
cbt deletetable [TABLE_NAME]
Annullare l'eliminazione di una tabella
Se elimini accidentalmente una tabella, puoi utilizzare gcloud CLI
il comando bigtable instances tables undelete
per annullare l'eliminazione,
o ripristinare la tabella. Non tentare prima di creare manualmente la tabella eliminata.
Per annullare l'eliminazione di una tabella, esegui questo comando nel terminale:
gcloud bigtable instances tables undelete TABLE_ID --instance=INSTANCE_ID
Sostituisci quanto segue:
- TABLE_ID: l'identificatore univoco della tabella
- INSTANCE_ID: l'ID dell'istanza
Si applicano le seguenti limitazioni:
- La possibilità di annullare l'eliminazione di una tabella è disponibile per circa sette giorni dal momento dell'eliminazione della tabella.
- Non puoi annullare l'eliminazione di una tabella utilizzando la console Google Cloud,
librerie client di Cloud Bigtable
Interfaccia a riga di comando
cbt
di Google. - Non puoi annullare l'eliminazione di una tabella da un'istanza che è stata eliminata.
- Non puoi annullare l'eliminazione di una tabella in cui è abilitata una CMEK.
- Qualsiasi associazione di criteri IAM granulare a cui una tabella ha prima all'eliminazione non vengono ripristinate quando l'eliminazione della tabella viene annullata.
Facoltativamente, puoi controllare lo stato dell'operazione undelete
nella
log di controllo.
Modifica la protezione da eliminazione
Puoi abilitare o disabilitare la protezione da eliminazione per una tabella se sei un'entità
in un ruolo che include l'autorizzazione bigtable.tables.update
, ad esempio roles/bigtable.admin
. La protezione dall'eliminazione impedisce l'eliminazione della tabella,
tutte le famiglie di colonne nella tabella e l'istanza che contiene la tabella.
L'abilitazione della protezione da eliminazione di una tabella non la abilita per le viste autorizzate tabella. Allo stesso modo, la disabilitazione della protezione da eliminazione di una tabella non la disabilita per le visualizzazioni autorizzate della tabella. Devi aggiornare le autorizzazioni della tabella visualizzazioni separatamente.
Console
Apri l'elenco delle istanze Bigtable nella console Google Cloud.
Fai clic sull'istanza di cui vuoi visualizzare le tabelle.
Fai clic su Tables nel riquadro a sinistra.
La pagina Tabelle mostra un elenco di tabelle nell'istanza.
Fai clic su
accanto alla tabella ID.Per attivare la protezione da eliminazione, fai clic su Impedisci eliminazione. Per disattivare protezione da eliminazione, fai clic su Abilita eliminazione. Solo l'opzione valida è visibile.
gcloud
Per abilitare la protezione da eliminazione di una tabella, esegui il comando gcloud bigtable instances
table update
:
gcloud bigtable instances tables update TABLE_ID \
--instance=INSTANCE_ID \
--deletion-protection
Per disabilitare la protezione da eliminazione di una tabella, esegui questo comando:
gcloud bigtable instances tables update TABLE_ID \
--instance=INSTANCE_ID \
--no-deletion-protection
Sostituisci quanto segue:
+ TABLE_ID: the unique identifier for the table
+ INSTANCE_ID: the ID of the instance
cbt
Non puoi utilizzare
Interfaccia a riga di comando cbt
per attivare o disattivare l'eliminazione
protezione dei dati.