Tabelle e viste
In Bigtable, memorizzi i dati in tabelle e puoi creare diversi tipi di viste delle tabelle. Il tipo di visualizzazione da utilizzare dipende dal tuo caso d'uso.
Tabelle
Una tabella Bigtable è una mappa chiave/valore ordinata che archivia i dati in righe e colonne. Ogni riga è indicizzata da una singola chiave di riga univoca. Le colonne correlate tra loro sono generalmente raggruppate in una famiglia di colonne.
Bigtable ha un modello di dati flessibile e le sue tabelle sono sparse. Ciò significa che se una colonna non viene utilizzata in una riga, non vengono memorizzati dati per la colonna. Non è necessario memorizzare valori NULL per le colonne inutilizzate, come faresti con un database relazionale. In una tabella Bigtable, una determinata riga potrebbe avere una colonna e la riga successiva 100 colonne.
In una riga, una colonna può contenere più celle, ciascuna identificata dalla quadrupletta (chiave di riga, famiglia di colonne, qualificatore di colonna, timestamp). La memorizzazione di più celle in una colonna fornisce un record delle modifiche apportate ai dati archiviati per quella riga e colonna nel tempo.
Una tabella Bigtable non supporta i join e le transazioni sono supportate solo all'interno di una singola riga.
Una tabella è una risorsa a livello di istanza che viene replicata automaticamente in ogni cluster dell'istanza. La conservazione dei dati è controllata con i criteri di garbage collection impostati a livello di famiglia di colonne.
Per ulteriori informazioni, consulta la panoramica di Bigtable e le best practice per la progettazione degli schemi.
Visualizzazioni
Bigtable supporta tre tipi di viste tabella: viste logiche, viste materializzate continue e viste autorizzate. Le viste ti consentono di condividere i dati delle tabelle con utenti e gruppi specifici senza concedere loro l'accesso ai dati di origine sottostanti.
Visualizzazioni logiche
Una visualizzazione logica, spesso indicata semplicemente come visualizzazione, è il risultato di una query SQL. Funziona come una tabella virtuale su cui è possibile eseguire query da altre query SQL. Per saperne di più, vedi Creare e gestire le visualizzazioni logiche.
Viste materializzate continue
Una vista materializzata continua viene creata eseguendo continuamente una query SQL su una tabella Bigtable. Bigtable crea una nuova tabella in base all'output della query e la mantiene sincronizzata con la tabella di origine.
Le viste materializzate continue possono contribuire a migliorare le prestazioni delle query. La nuova tabella, ovvero la visualizzazione materializzata continua, ha uno schema diverso rispetto alla tabella di origine, conteniendo dati preaggregati o trasformati ottimizzati per query diverse rispetto a quelle utilizzate nella tabella di origine.
Le viste materializzate continue sono di sola lettura. Ti viene addebitato lo spazio di archiviazione di una vista materializzata continua, nonché il lavoro di elaborazione necessario per creare la seconda tabella, mantenerla sincronizzata con la tabella di origine e replicarla.
Per ulteriori informazioni, consulta Visualizzazioni materializzate continue.
Visualizzazioni autorizzate
Le viste autorizzate sono viste delle tabelle che puoi configurare in modo da includere dati specifici della tabella e poi concedere l'accesso separatamente da quello alla tabella di origine. Una visualizzazione autorizzata è definita da un file di definizione in formato JSON.
A differenza delle viste materializzate continue o delle viste logiche, le viste autorizzate di Bigtable possono essere utilizzate per controllare sia l'accesso in lettura che quello in scrittura.
Le viste autorizzate sono utili nei casi in cui memorizzi i dati di più clienti in una tabella Bigtable e vuoi concedere a ciascun cliente l'accesso solo a un sottoinsieme della tabella contenente i suoi dati.
Le visualizzazioni autorizzate non comportano costi di archiviazione aggiuntivi.
Per ulteriori informazioni, consulta la Panoramica delle visualizzazioni autorizzate.
Confronti
La tabella seguente fornisce ulteriori informazioni sulle differenze tra le viste delle tabelle Bigtable.
Visualizzazioni logiche | Viste materializzate continue | Visualizzazioni autorizzate | |
---|---|---|---|
Struttura | Tabella virtuale che rappresenta i risultati di una query SQL | Tabella di sola lettura basata su una tabella di origine | Sottoinsieme di una tabella |
Definizione | Query SQL | Query SQL | File di definizione JSON |
Congruenza con la tabella di origine | Coerenti quando viene eseguita la query | Coerenza finale | Coerenti quando viene eseguita la query |
Opzioni di query | Devi utilizzare SQL | API SQL o Bigtable Data | API Bigtable Data |
Scrittura | No | No | Sì |
Spazio di archiviazione | I dati rimangono nella tabella di origine | I dati vengono duplicati, aggregati o trasformati e archiviati in una nuova tabella di sola lettura | I dati rimangono nella tabella di origine |
Costi di utilizzo | Elaborazione del calcolo per eseguire la query | Elaborazione di calcolo durante la sincronizzazione, costi di archiviazione | Elaborazione del calcolo per eseguire la query |