Creazione e gestione delle tabelle

Le tabelle Bigtable ti consentono di organizzare e archiviare dati su larga scala per i workload delle applicazioni a bassa latenza. Puoi creare e gestire queste tabelle utilizzando la console Google Cloud , Google Cloud CLI, l'interfaccia a riga di comandocbto in modo programmatico con le librerie client di Cloud Bigtable.

Per saperne di più sulla creazione e sulla gestione delle viste autorizzate di una tabella, consulta Viste autorizzate.

Prima di iniziare

Se prevedi di lavorare con le tabelle utilizzando gli strumenti a riga di comando, segui i passaggi descritti in questa sezione.

  1. Installa gcloud CLI.

  2. (Facoltativo) Se prevedi di utilizzare l'interfaccia a riga di comando cbt, segui le istruzioni riportate in Installazione dell'interfaccia a riga di comando cbt , incluso il passaggio per creare un file .cbtrc.

    Le istruzioni relative a cbtgcloud CLI in questa pagina presuppongono che tu abbia impostato l'ID progetto e l'ID istanza nel file .cbtrc. In alternativa, puoi utilizzare i flag -project e -instance per impostare questi valori ogni volta che esegui un comando dell'interfaccia a riga di comando cbt.

Creare una tabella

Quando crei una tabella, non è necessario specificare le famiglie di colonne da utilizzare nella tabella. Puoi aggiungere o eliminare le famiglie di colonne in un secondo momento.

Console

Per creare una nuova tabella in un'istanza:

  1. Nella console Google Cloud , apri l'elenco delle istanze Bigtable.

    Apri l'elenco delle istanze

  2. // Fai clic sull'istanza di cui vuoi visualizzare le tabelle.

  3. Fai clic su Tabelle nel riquadro a sinistra.

    La pagina Tabelle mostra un elenco di tabelle nell'istanza.

  4. Fai clic su Crea tabella.

  5. Inserisci un ID tabella per la tabella.

  6. (Facoltativo) Aggiungi famiglie di colonne.

    Puoi aggiungere colonne ora o in un secondo momento. Una tabella deve avere almeno una famiglia di colonne prima di poter scrivere dati o leggere un feed delle modifiche in tempo reale.

  7. (Facoltativo) Versione Enterprise Plus: per utilizzare la granularità del timestamp in microsecondi, seleziona Utilizza timestamp in microsecondi.

  8. (Facoltativo) Abilita un feed delle modifiche in tempo reale per la tabella. Prima di attivare le modifiche in tempo reale, assicurati di comprendere le implicazioni, tra cui l'aumento dei costi di archiviazione e i requisiti di utilizzo del profilo dell'app. Per saperne di più, consulta la panoramica delle modifiche in tempo reale.

    1. Seleziona Abilita modifiche in tempo reale.

    2. Nel campo Tempo di conservazione, inserisci un numero compreso tra 1 e 7 per specificare il numero di giorni per cui devono essere conservati i dati delle modifiche in tempo reale.

  9. (Facoltativo) Se non vuoi che Bigtable crei un backup giornaliero della tabella, deseleziona la casella di controllo Abilita backup automatico. Per saperne di più, consulta Utilizza il backup automatico.

  10. (Facoltativo) Attiva l'accesso non frequente per la tabella nell'ambito dell'archiviazione a livelli (anteprima):

    1. Seleziona Abilita archiviazione a livelli.

    2. Nel campo Soglia di età, inserisci il numero di giorni dopo i quali Bigtable sposta i dati dallo spazio di archiviazione SSD allo spazio di archiviazione ad accesso non frequente. Il numero deve essere maggiore o uguale a 30.

  11. (Facoltativo) Versione Enterprise Plus: per impostazione predefinita, viene creato un backup giornaliero in tutti i cluster nell'istanza della tabella. Per scegliere i cluster in cui Bigtable deve creare un backup giornaliero della tabella, seleziona le località dei cluster nel campo Seleziona i cluster di cui eseguire il backup. Per saperne di più, consulta Configura le località dei cluster di backup automatico.

  12. (Facoltativo) Per configurare lo schema della chiave di riga, seleziona Definisci lo schema della chiave di riga, quindi segui questi passaggi:

    1. Nell'elenco Codifica, seleziona un tipo di codifica per lo schema della chiave di riga.

    2. Se hai selezionato DelimitedBytes, nel campo Delimitatore inserisci un delimitatore che separa i segmenti nelle chiavi di riga esistenti. Il valore predefinito è un simbolo di cancelletto (#).

    3. Nel campo Segmento, inserisci un nome per il segmento, ad esempio device_type.

    4. Nell'elenco Tipo, seleziona il tipo di dati del segmento della chiave di riga.

    5. A seconda del tipo di dati selezionato, nell'elenco Codifica byte, lascia il tipo di codifica predefinito del segmento della chiave di riga o modificalo.

    6. (Facoltativo) Se il segmento della chiave di riga ha più di una parte, fai clic su Aggiungi segmento della chiave di riga per aggiungere altri campi.

  13. Fai clic su Crea.

gcloud

Per creare una tabella, esegui questo comando. Consulta gcloud bigtable instances tables 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 separato da virgole di nomi di famiglia di colonne. Puoi aggiungere altre famiglie di colonne in un secondo momento.

Facoltativamente,

  • Per proteggere la tabella dall'eliminazione, aggiungi il comando con --deletion-protection. Se non applichi questa impostazione, la tabella può essere eliminata. Puoi anche consentire esplicitamente l'eliminazione della tabella aggiungendo --no-deletion-protection.

  • Per abilitare le modifiche in tempo reale per la tabella, specifica un periodo di conservazione per i dati delle modifiche in tempo reale. Prima di attivare le modifiche in tempo reale, assicurati di comprendere le implicazioni, tra cui l'aumento dei costi di archiviazione e i requisiti di utilizzo del profilo dell'app. Per saperne di più, consulta la panoramica delle modifiche in tempo reale.

    --change-stream-retention-period=RETENTION_PERIOD
    

    Sostituisci RETENTION_PERIOD con il periodo di tempo per 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 o 6d

  • Per consentire a Bigtable di creare un backup giornaliero della tabella e conservare ogni backup per il periodo di conservazione predefinito di sette giorni, utilizza il flag --enable-automated-backup quando crei la tabella.

    gcloud bigtable instances tables create TABLE_ID \
        --instance=INSTANCE_ID \
        --project=PROJECT_ID \
        --column-families=COLUMN-FAMILIES \
        --enable-automated-backup
    

    Per configurare un periodo di conservazione diverso, utilizza il flag --automated-backup-retention-period anziché il flag --enable-automated-backup e fornisci un valore fino a 90 giorni. Il valore deve essere espresso come numero con un'unità di m, h o d (minuti, ore o giorni), ad esempio 15d per 15 giorni.

    Versione Enterprise Plus: per impostazione predefinita, viene creato un backup giornaliero in tutti i cluster nell'istanza della tabella. Per configurare le località del cluster in cui Bigtable deve creare un backup giornaliero della tabella, utilizza il flag --automated-backup-locations anziché il flag --enable-automated-backup. Fornisci un elenco separato da virgole delle località dei cluster in cui deve essere abilitato il backup automatico. Esempio: us-central1-a,us-east1-b,europe-west1-c.

  • Per attivare l'accesso non frequente nell'ambito dell'archiviazione a livelli (anteprima), utilizza il flag
    --tiered-storage-infrequent-access-older-than e sostituisci AGE_THRESHOLD con un valore di almeno 30 giorni. Le unità accettabili sono giorni (d), ore (h), minuti (m) e secondi (s). Esempio: 32d o 32d12h.

    gcloud beta bigtable instances tables create TABLE_ID \
        --instance=INSTANCE_ID \
        --project=PROJECT_ID \
        --tiered-storage-infrequent-access-older-than=AGE_THRESHOLD
    
  • Per configurare la granularità del timestamp per la tabella, utilizza il flag --timestamp-granularity e sostituisci TIMESTAMP_GRANULARITY con il livello di precisione. La precisione predefinita è in millisecondi e il valore è MILLIS. Se vuoi che la tabella accetti timestamp con precisione in microsecondi, imposta il valore su MICROS. I timestamp con precisione al microsecondo sono disponibili solo per le istanze della versione Enterprise Plus.

    gcloud bigtable instances tables create TABLE_ID \
        --instance=INSTANCE_ID \
        --project=PROJECT_ID \
        --column-families=COLUMN-FAMILIES \
        --timestamp-granularity=TIMESTAMP_GRANULARITY
    

cbt

Utilizza il seguente comando, sostituendo TABLE_NAME con il nome della tabella. Non puoi utilizzare l'interfaccia a riga di comando cbt per creare una tabella con modifiche in tempo reale abilitate.

cbt createtable TABLE_ID

(Facoltativo) Per creare una famiglia di colonne aggregate nella tabella, aggiungi il tipo di aggregazione al nome della famiglia di colonne. Il seguente comando crea una famiglia di colonne aggregate con una policy di garbage collection 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 separato da virgole di nomi di famiglia di colonne. Puoi aggiungere altre famiglie di colonne in un secondo momento.
  • TYPE: il tipo di aggregato. Deve essere intsum, intmin, intmax o inthll.

Per altre opzioni, consulta Crea una tabella nel riferimento dell'interfaccia a riga di comando cbt.

Se hai eliminato una tabella per errore, non tentare di crearla manualmente. Utilizza il comando gcloud CLI bigtable instances tables undelete per recuperare la tabella.

(Facoltativo) Suddividi la tabella in base alla chiave di riga

Per ottimizzare le prestazioni, Bigtable suddivide continuamente le tabelle su più nodi, distribuendo in modo uniforme la quantità di dati archiviati su ciascun nodo e mantenendo separate, ove possibile, le righe a cui si accede di frequente. 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 fornite. Se gli spazi delle chiavi sono troppo grandi, Bigtable suddivide ulteriormente la tabella. Le suddivisioni iniziali vengono mantenute per circa 24 ore dopo il completamento della creazione della tabella. Puoi fornire fino a 100 chiavi di riga in cui devono avvenire le suddivisioni iniziali.

Ad esempio, puoi designare righe specifiche per pre-suddividere la tabella se stai per scrivere molte righe nella tabella.

La pre-suddivisione della tabella non è essenziale, ma è utile perché fornisce a Bigtable informazioni su dove è probabile che si trovino il carico e l'impronta dei dati quando viene creata la tabella. La suddivisione preventiva evita che Bigtable debba suddividere le tabelle e riequilibrare il carico tutto in una volta man mano che arrivano i dati.

Console

Non puoi pre-suddividere le righe quando crei una tabella utilizzando la consoleGoogle Cloud .

gcloud

Per suddividere una tabella in base alla chiave di riga, esegui questo comando. Consulta gcloud bigtable instances tables 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 separato da virgole di nomi di famiglia di colonne. Puoi aggiungere altre famiglie di colonne in un secondo momento.
  • SPLITS: le chiavi di riga in cui la tabella deve essere inizialmente suddivisa, ad esempio 10,20.

cbt

Per pre-suddividere una tabella in base alla chiave di riga, utilizza la seguente sintassi per creare la tabella. Sostituisci [TABLE_NAME] con il nome della tabella e [SPLITS] con un elenco separato da virgole di prefissi delle chiavi di riga da utilizzare per le suddivisioni preliminari.

```none
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:

```none
cbt createtable my-table splits=10,20
```

Modifica le famiglie di colonne in una tabella

Puoi aggiungere famiglie di colonne quando crei una tabella o a una tabella esistente. Se nella tabella non è abilitata la protezione da eliminazione, puoi eliminare le famiglie di colonne nella tabella.

Aggiungi famiglie di colonne

Console

Aggiungi famiglie di colonne a una nuova tabella

  1. Nel riquadro Crea tabella, per ogni famiglia di colonne che vuoi aggiungere, fai clic su Aggiungi una famiglia di colonne.

  2. Nel campo Nome famiglia di colonne, inserisci un identificatore univoco per la famiglia di colonne.

  3. Scegli il tipo di famiglia di colonne:

  4. Se hai selezionato Aggrega, nel campo Aggregatore, seleziona una delle seguenti opzioni:

    • Somma: aggrega la somma di tutti i valori delle celle.
    • Min: aggrega il valore minimo della cella.
    • Max: aggrega il valore massimo della cella.
    • HyperLogLog: aggrega la cardinalità approssimativa dei valori delle celle.
  5. Imposta la policy di garbage collection per la famiglia di colonne.

  6. Fai clic su Fine.

Aggiungi famiglie di colonne a una tabella esistente

  1. Nella console Google Cloud , apri l'elenco delle istanze Bigtable.

    Apri l'elenco delle istanze

  2. // Fai clic sull'istanza di cui vuoi visualizzare le tabelle.

  3. Fai clic su Tabelle nel riquadro a sinistra.

    La pagina Tabelle mostra un elenco di tabelle nell'istanza.

  4. Fai clic su Modifica per la tabella che vuoi modificare.

  5. Per ogni famiglia di colonne che vuoi aggiungere, segui questi passaggi:

    1. Fai clic su Aggiungi famiglia di colonne.
    2. Nel campo Nome famiglia di colonne, inserisci un identificatore univoco per la famiglia di colonne.
    3. Scegli il tipo di famiglia di colonne:

    4. Se hai selezionato Aggrega, nel campo Aggregatore, seleziona una delle seguenti opzioni:

      • Somma: aggrega la somma di tutti i valori delle celle.
      • Min: aggrega il valore minimo della cella.
      • Max: aggrega il valore massimo della cella.
      • HyperLogLog: aggrega la cardinalità approssimativa dei valori delle celle.
    5. Imposta la policy di garbage collection per la famiglia di colonne.

    6. Fai clic su Fine.

  6. 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 famiglia di colonne aggregate alla tabella, aggiungi il nome della famiglia di colonne con il tipo di aggregazione. Il seguente comando crea una tabella con una famiglia di colonne aggregate con una policy di garbage collection di never.

cbt createfamily TABLE_ID FAMILY_NAME:never:TYPE

Sostituisci quanto segue:

  • TABLE_ID: l'ID tabella
  • FAMILY_NAME: un elenco separato da virgole di nomi di famiglia di colonne. Puoi aggiungere altre famiglie di colonne in un secondo momento.
  • TYPE: il tipo di aggregazione. Deve essere intsum, intmin, intmax o inthll.

Elimina famiglie di colonne

Puoi eliminare le famiglie di colonne in una tabella in cui non è abilitata la protezione da eliminazione.

Console

  1. Nella console Google Cloud , apri l'elenco delle istanze Bigtable.

    Apri l'elenco delle istanze

  2. // Fai clic sull'istanza di cui vuoi visualizzare le tabelle.

  3. Fai clic su Tabelle nel riquadro a sinistra.

    La pagina Tabelle mostra un elenco di tabelle nell'istanza.

  4. Fai clic su Modifica per la tabella che vuoi modificare.

  5. Per ogni famiglia di colonne che vuoi eliminare, completa quanto segue:

    1. Passa il mouse sopra la riga della famiglia di colonne che vuoi eliminare.
    2. Fai clic su .
  6. Fai clic su Salva.

  7. Per confermare di aver compreso che l'eliminazione di una famiglia di colonne è permanente e che tutti i dati al suo interno verranno eliminati, digita "Elimina famiglie di colonne" nel campo di testo.

  8. 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 il nome della famiglia di colonne:

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:

  1. Nella console Google Cloud , apri l'elenco delle istanze Bigtable.

    Apri l'elenco delle istanze

  2. // Fai clic sull'istanza di cui vuoi visualizzare le tabelle.

  3. Fai clic su Tabelle 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 System Insights per la tabella.

gcloud

Per visualizzare un elenco di tabelle, esegui il comando gcloud bigtable instances tables list.

gcloud bigtable instances tables list --instances=INSTANCE_IDS

Sostituisci quanto segue:

  • INSTANCE_IDS: un elenco separato da virgole di ID istanza.

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 in Bigtable, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.

namespace cbt = ::google::cloud::bigtable;
namespace cbta = ::google::cloud::bigtable_admin;
using ::google::cloud::StreamRange;
[](cbta::BigtableTableAdminClient admin, std::string const& project_id,
   std::string const& instance_id) {
  std::string instance_name = cbt::InstanceName(project_id, instance_id);

  google::bigtable::admin::v2::ListTablesRequest r;
  r.set_parent(instance_name);
  r.set_view(google::bigtable::admin::v2::Table::NAME_ONLY);

  StreamRange<google::bigtable::admin::v2::Table> tables =
      admin.ListTables(std::move(r));
  for (auto& table : tables) {
    if (!table) throw std::move(table).status();
    std::cout << table->name() << "\n";
  }
}

C#

Per scoprire come installare e utilizzare la libreria client per Bigtable, consulta Librerie client di Bigtable.

Per eseguire l'autenticazione in Bigtable, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.

// Lists tables in intance.
// Initialize request argument(s).
ListTablesRequest request = new ListTablesRequest
{
    ParentAsInstanceName = s_instanceName
};
try
{
    // Make the request.
    PagedEnumerable<ListTablesResponse, Table> response = bigtableTableAdminClient.ListTables(request);

}
catch (Exception ex)
{
    Console.WriteLine($"Error listing tables {ex.Message}");
}

Java

Per scoprire come installare e utilizzare la libreria client per Bigtable, consulta Librerie client di Bigtable.

Per eseguire l'autenticazione in Bigtable, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.

// Lists tables in the current instance.
try {
  String parent = "projects/" + projectId + "/instances/" + instanceId;
  ListTablesRequest request = ListTablesRequest.newBuilder().setParent(parent).build();
  for (Table table : adminClient.listTables(request).iterateAll()) {
    System.out.println(table.getName());
  }
} catch (NotFoundException e) {
  System.err.println("Failed to list tables from a non-existent instance: " + e.getMessage());
}

Node.js

Per scoprire come installare e utilizzare la libreria client per Bigtable, consulta Librerie client di Bigtable.

Per eseguire l'autenticazione in Bigtable, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.

// List tables in current project
const [tables] = await adminClient.listTables({parent: instance.name});
tables.forEach(table => {
  console.log(table.name);
});

PHP

Per scoprire come installare e utilizzare la libreria client per Bigtable, consulta Librerie client di Bigtable.

Per eseguire l'autenticazione in Bigtable, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.

use Google\Cloud\Bigtable\Admin\V2\Client\BigtableInstanceAdminClient;
use Google\Cloud\Bigtable\Admin\V2\Client\BigtableTableAdminClient;
use Google\Cloud\Bigtable\Admin\V2\ListTablesRequest;

/**
 * List tables in an instance
 *
 * @param string $projectId The Google Cloud project ID
 * @param string $instanceId The ID of the Bigtable instance
 */
function list_tables(
    string $projectId,
    string $instanceId
): void {
    $instanceAdminClient = new BigtableInstanceAdminClient();
    $tableAdminClient = new BigtableTableAdminClient();

    $instanceName = $instanceAdminClient->instanceName($projectId, $instanceId);

    printf('Listing Tables:' . PHP_EOL);
    $listTablesRequest = (new ListTablesRequest())
        ->setParent($instanceName);
    $tables = $tableAdminClient->listTables($listTablesRequest)->iterateAllElements();
    $tables = iterator_to_array($tables);
    if (empty($tables)) {
        print('No table exists.' . PHP_EOL);
        return;
    }
    foreach ($tables as $table) {
        print($table->getName() . PHP_EOL);
    }
}

Python

Per scoprire come installare e utilizzare la libreria client per Bigtable, consulta Librerie client di Bigtable.

Per eseguire l'autenticazione in Bigtable, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.

tables = instance.list_tables()
print("Listing tables in current project...")
if tables != []:
    for tbl in tables:
        print(tbl.table_id)
else:
    print("No table exists in current project...")

Ruby

Per scoprire come installare e utilizzare la libreria client per Bigtable, consulta Librerie client di Bigtable.

Per eseguire l'autenticazione in Bigtable, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.

# instance_id = "my-instance"
bigtable.tables(instance_id).all.each do |t|
  puts "Table: #{t.name}"
end

Visualizza le informazioni su una tabella

Console

Per visualizzare le informazioni su una tabella:

  1. Nella console Google Cloud , apri l'elenco delle istanze Bigtable.

    Apri l'elenco delle istanze

  2. // Fai clic sull'istanza di cui vuoi visualizzare le tabelle.

  3. Fai clic su Tabelle 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 in cui è archiviata la tabella, lo stato della tabella, l'utilizzo dello spazio di archiviazione e gli identificatori di eventuali backup attuali della tabella. Per le tabelle con archiviazione a livelli (anteprima) abilitata, puoi visualizzare l'utilizzo dello spazio di archiviazione SSD e l'utilizzo dello spazio di archiviazione ad accesso non frequente.

  4. Per visualizzare i nomi famiglia di colonne della tabella, fai clic su . Per chiudere il riquadro Modifica tabella, fai clic su Annulla.

  5. Per visualizzare ulteriori dettagli sulla tabella, tra cui le metriche a livello di tabella e lo stato di replica, fai clic sul nome della tabella.

gcloud

Per visualizzare le informazioni su una tabella, esegui il comando gcloud bigtable instances tables 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 l'interfaccia a riga di comando cbt per ottenere un elenco delle famiglie di colonne esistenti in una tabella.

Utilizza il seguente comando, sostituendo [TABLE_NAME] con il nome della tabella:

cbt ls [TABLE_NAME]

Imposta le policy di garbage collection

Una policy di garbage collection indica a Bigtable quali dati conservare e quali contrassegnare per l'eliminazione. Puoi impostare le policy di garbage collection a livello di famiglia di colonne quando crei la tabella o in un secondo momento.

Quando crei una famiglia di colonne, puoi specificare il numero di celle che vuoi conservare in ogni colonna della famiglia. Se non specifichi questa impostazione, Bigtable utilizza una delle seguenti impostazioni predefinite:

  • Se crei la famiglia di colonne con il client HBase Cloud Bigtable 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 o colonna nella famiglia di colonne. Questa impostazione predefinita è coerente con HBase.

  • Se crei la famiglia di colonne utilizzando la console Google Cloud , qualsiasi altra librera client o l'interfaccia a riga di comandocbt , Bigtable conserva un numero infinito di celle in ogni colonna.

Consulta Configura le policy di garbage collection per istruzioni dettagliate su come visualizzare, impostare e aggiornare le policy di garbage collection.

Esegui il backup e il ripristino di una tabella

Per istruzioni su come eseguire il backup di una tabella e il ripristino da un backup in una nuova tabella, consulta Gestisci i backup.

Se hai abilitato il backup automatico durante la creazione di una tabella, puoi modificare la configurazione del backup automatico per una tabella per abilitarlo o disabilitarlo o modificare il periodo di conservazione fino a 90 giorni. Per saperne di più, consulta Utilizza il backup automatico.

Attiva, disattiva o configura le modifiche in tempo reale

Per istruzioni sulle seguenti attività, consulta Configura modifiche in tempo reale.

  • Abilitazione di un flusso di modifiche in tempo reale su una tabella esistente
  • Disattivazione di un flusso di modifiche in tempo reale
  • Aggiorna il periodo di conservazione per un flusso di modifiche in tempo reale

Eliminazione di una tabella

L'eliminazione di una tabella comporta anche l'eliminazione di tutte le visualizzazioni autorizzate della tabella. Se per una qualsiasi vista autorizzata della tabella è abilitata la protezione da eliminazione, non puoi eliminare la tabella. Inoltre, non puoi eliminare una tabella su cui si basa una vista materializzata continua.

Console

  1. Nella console Google Cloud , apri l'elenco delle istanze Bigtable.

    Apri l'elenco delle istanze

  2. // Fai clic sull'istanza di cui vuoi visualizzare le tabelle.

  3. Fai clic su Tabelle nel riquadro a sinistra.

    La pagina Tabelle mostra un elenco di tabelle nell'istanza.

  4. Fai clic su per la tabella che vuoi eliminare.

  5. Fai clic su Elimina.

  6. Per confermare di essere a conoscenza del fatto che questa azione eliminerà la tabella da tutti i cluster nell'istanza e che hai solo sette giorni di tempo per annullare l'eliminazione della tabella, digita l'ID tabella nella casella Elimina tabella.

  7. Fai clic su Elimina.

gcloud

  1. Per eliminare le tabelle, esegui il comando gcloud bigtable instances tables delete.

    gcloud bigtable instances tables delete TABLE_ID --instance=INSTANCE_ID
    

    Sostituisci quanto segue:

    • TABLE_ID: l'ID univoco della tabella
    • INSTANCE_ID: l'ID dell'istanza
  2. 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]

Annulla l'eliminazione di una tabella

Se elimini accidentalmente una tabella, puoi utilizzare il comando gcloud CLI bigtable instances tables undelete per annullare l'eliminazione o recuperare la tabella. Non provare a ricreare 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

Quando annulli l'eliminazione di una tabella, Bigtable attiva automaticamente la protezione da eliminazione per la tabella.

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 , le librerie client di Cloud Bigtable o l'interfaccia a riga di comandocbt.
  • Non puoi annullare l'eliminazione di una tabella da un'istanza che è stata eliminata.
  • Non puoi annullare l'eliminazione di una tabella per cui era abilitata la chiave CMEK.
  • Se hai eseguito il downgrade dell'istanza alla versione Enterprise, non puoi annullare l'eliminazione di una tabella con granularità del timestamp in microsecondi. Per annullare l'eliminazione di una tabella, l'istanza deve essere nella versione Enterprise Plus.
  • Quando annulli l'eliminazione di una tabella, Bigtable non ripristina le associazioni dei criteri IAM granulari alla tabella eliminata.

Facoltativamente, puoi controllare lo stato dell'operazione undelete negli audit log.

Modifica protezione da eliminazione

Puoi attivare o disattivare la protezione da eliminazione per una tabella se sei un'entità con un ruolo che include l'autorizzazione bigtable.tables.update, ad esempio roles/bigtable.admin. La protezione da eliminazione impedisce l'eliminazione della tabella, di tutte le famiglie di colonne nella tabella e dell'istanza che contiene la tabella.

L'abilitazione della protezione da eliminazione per una tabella non la abilita per le visualizzazioni autorizzate della tabella. Analogamente, la disattivazione della protezione da eliminazione di una tabella non la disattiva per le viste autorizzate della tabella. Devi aggiornare le viste autorizzate della tabella separatamente.

Console

  1. Nella console Google Cloud , apri l'elenco delle istanze Bigtable.

    Apri l'elenco delle istanze

  2. // Fai clic sull'istanza di cui vuoi visualizzare le tabelle.

  3. Fai clic su Tabelle nel riquadro a sinistra.

    La pagina Tabelle mostra un elenco di tabelle nell'istanza.

  4. Fai clic su accanto all'ID tabella.

  5. Per attivare la protezione da eliminazione, fai clic su Impedisci l'eliminazione. Per disattivare la protezione da eliminazione, fai clic su Attiva eliminazione. È visibile solo l'opzione valida.

gcloud

Per abilitare la protezione da eliminazione per una tabella, esegui il comando gcloud bigtable instances table update:

```sh
gcloud bigtable instances tables update TABLE_ID \
    --instance=INSTANCE_ID \
    --deletion-protection
```

Per disattivare la protezione da eliminazione per una tabella, esegui questo comando:

```sh
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 l'interfaccia a riga di comando cbt per attivare o disattivare la protezione da eliminazione.

Modifica la soglia di età dello spazio di archiviazione ad accesso sporadico

Puoi modificare la soglia di età per l'accesso non frequente che fa parte dell'archiviazione a livelli in qualsiasi momento.

Console

  1. Nella console Google Cloud , apri l'elenco delle istanze Bigtable.

    Apri l'elenco delle istanze

  2. // Fai clic sull'istanza di cui vuoi visualizzare le tabelle.

  3. Fai clic su Tabelle nel riquadro a sinistra.

    La pagina Tabelle mostra un elenco di tabelle nell'istanza.

  4. Fai clic su Modifica per la tabella che vuoi modificare.

  5. Nel campo Soglia di età, inserisci il nuovo numero di giorni dopo i quali Bigtable sposta i dati dallo spazio di archiviazione SSD allo spazio di archiviazione ad accesso non frequente. Il numero deve essere maggiore o uguale a 30.

gcloud

Per modificare la soglia di età dello spazio di archiviazione ad accesso sporadico, esegui il comando gcloud beta bigtable instances tables update con il flag --tiered-storage-infrequent-access-older-than:

    gcloud beta bigtable instances tables update TABLE_ID \
        --instance=INSTANCE_ID \
        --project=PROJECT_ID \
        --tiered-storage-infrequent-access-older-than=AGE_THRESHOLD

Sostituisci quanto segue:

  • TABLE_ID: l'ID della tabella che vuoi aggiornare.
  • INSTANCE_ID: l'ID dell'istanza.
  • PROJECT_ID: il progetto che contiene la tabella che vuoi aggiornare.
  • AGE_THRESHOLD: la soglia di età, che deve essere di almeno 30 giorni. Le unità accettabili sono giorni (d), ore (h), minuti (m) e secondi (s). Esempio: da 32d in precedenza a 33d.

Disattiva l'archiviazione ad accesso sporadico

Puoi disattivare l'accesso non frequente allo spazio di archiviazione a livelli in qualsiasi momento. Di conseguenza, Bigtable sposta tutti i dati dallo spazio di archiviazione ad accesso non frequente allo spazio di archiviazione SSD. Prima di disattivare l'archiviazione ad accesso non frequente, assicurati di aver compreso le implicazioni sui costi.

Console

  1. Nella console Google Cloud , apri l'elenco delle istanze Bigtable.

    Apri l'elenco delle istanze

  2. // Fai clic sull'istanza di cui vuoi visualizzare le tabelle.

  3. Fai clic su Tabelle nel riquadro a sinistra.

    La pagina Tabelle mostra un elenco di tabelle nell'istanza.

  4. Fai clic su Modifica per la tabella che vuoi modificare.

  5. Deseleziona la casella di controllo Abilita archiviazione a livelli.

  6. Fai clic su Salva.

gcloud

Per disattivare l'archiviazione ad accesso non frequente, utilizza il comando gcloud beta bigtable instances tables update con il flag --clear-tiered-storage-config:

    gcloud beta bigtable instances tables update TABLE_ID \
        --instance=INSTANCE_ID \
        --project=PROJECT_ID \
        --clear-tiered-storage-config

Sostituisci quanto segue:

  • TABLE_ID: l'ID della tabella che vuoi aggiornare
  • INSTANCE_ID: l'ID dell'istanza
  • PROJECT_ID: il progetto che contiene la tabella che vuoi aggiornare

Passaggi successivi