Questa pagina descrive come abilitare il motore colonnare di Spanner su un database, una tabella o un indice e come accelerare la generazione del formato di file.
Abilitare il motore colonnare di Spanner (GoogleSQL)
Il motore colonnare di Spanner viene abilitato utilizzando una clausola SET OPTIONS con l'opzione columnar_policy. Puoi applicare questa opzione quando crei o modifichi gli oggetti dello schema DATABASE, TABLE o INDEX. Gli oggetti dello schema SEARCH INDEX e VECTOR INDEX non sono mai in formato colonnare.
Le tabelle e gli indici ereditano il columnar_policy specificato a livello di database.
L'opzione columnar_policy ha i seguenti flag:
'enabled'o'disabled'attiva o disattiva il motore colonnare per l' oggetto dello schema specifico.NULL(valore predefinito) utilizza il criterio del motore colonnare dell'oggetto principale, se esiste.NULLcancella le impostazioni precedenti su un oggetto tabella.
Puoi anche omettere OPTIONS per ereditare columnar_policy dall'oggetto principale.
L'esempio seguente mostra come:
- Creare un database con il criterio colonnare abilitato.
- Definire una tabella
Singersche eredita il criterio colonnare dal database (ometticolumnar_policy = NULLper l'opzione della tabella). - Definire una tabella
Concertscon il criterio colonnare disabilitato in modo esplicito.
CREATE DATABASE Music;
ALTER DATABASE Music SET OPTIONS (columnar_policy = 'enabled');
CREATE TABLE Singers(
SingerId INT64 NOT NULL,
FirstName STRING(1024),
LastName STRING(1024),
BirthDate DATE,
Status STRING(1024),
LastUpdated TIMESTAMP,)
PRIMARY KEY(SingerId);
CREATE TABLE Concerts(
VenueId INT64 NOT NULL,
SingerId INT64 NOT NULL,
ConcertDate DATE NOT NULL,
BeginTime TIMESTAMP,
EndTime TIMESTAMP,)
PRIMARY KEY(VenueId, SingerId, ConcertDate),
OPTIONS (columnar_policy = 'disabled');
Puoi anche utilizzare ALTER TABLE con la clausola SET OPTIONS per abilitare o disabilitare columnar_policy su una tabella. L'esempio seguente mostra come disabilitare il criterio nella tabella Singers:
ALTER TABLE Singers SET OPTIONS (columnar_policy = 'disabled');
Abilitare il motore colonnare di Spanner (PostgreSQL)
Puoi abilitare il motore colonnare di Spanner per tutte le tabelle e gli indici eseguendo questa istruzione:
ALTER DATABASE db_name SET spanner.columnar_policy TO enabled
Puoi abilitare il motore colonnare di Spanner per tabelle e indici specifici aggiungendo l'opzione COLUMNAR POLICY enabled quando crei o modifichi un oggetto dello schema TABLE o INDEX. Gli oggetti dello schema SEARCH INDEX e VECTOR INDEX non sono mai in formato colonnare.
Le tabelle e gli indici ereditano il COLUMNAR POLICY specificato a livello di database.
L'opzione della parola chiave COLUMNAR POLICY ha i seguenti valori possibili:
enabledodisabledattiva o disattiva il motore colonnare per l'oggetto dello schema specifico.NULLutilizza il criterio del motore colonnare dell'oggetto principale, se esiste.NULLcancella l'impostazione precedente su un oggetto dello schema di tabella o indice.
L'esempio seguente mostra come:
- Creare un database con il criterio colonnare abilitato.
- Definire una tabella
Singersche eredita il criterio colonnare dal database (ometticolumnar_policy = NULLper l'opzione della tabella). - Definire una tabella
Concertscon il criterio colonnare disabilitato in modo esplicito.
CREATE DATABASE Music;
ALTER DATABASE "Music" SET spanner.columnar_policy TO enabled;
CREATE TABLE Singers(
SingerId bigint PRIMARY KEY,
FirstName varchar,
LastName varchar,
BirthDate date,
Status varchar,
LastUpdated timestamptz
);
CREATE TABLE Concerts(
VenueId bigint NOT NULL,
SingerId bigint NOT NULL,
ConcertDate date NOT NULL,
BeginTime timestamptz,
EndTime timestamptz,
PRIMARY KEY(VenueId, SingerId, ConcertDate)
) COLUMNAR POLICY disabled;
Puoi anche utilizzare ALTER TABLE con la clausola SET COLUMNAR POLICY per abilitare o disabilitare il criterio colonnare su una tabella. L'esempio seguente mostra come disabilitare il criterio nella tabella Singers:
ALTER TABLE Singers SET COLUMNAR POLICY disabled;
Per rimuovere la configurazione del criterio colonnare a livello di database, utilizza RESET:
ALTER DATABASE Music RESET spanner.columnar_policy;
L'abilitazione del motore colonnare di Spanner aumenta l'utilizzo dello spazio di archiviazione del database o della tabella di destinazione (a seconda dell'opzione di abilitazione utilizzata) di circa il 60%. L'aumento esatto dipende dal tipo di dati e dalle relative proprietà di compressione. È importante assicurarsi che l'istanza Spanner disponga di una capacità di archiviazione sufficiente per ospitare l'aumento dell'utilizzo dello spazio di archiviazione. Per saperne di più, consulta Limiti dei database.
Generazione del formato di file colonnare
Spanner genera il formato di file colonnare al momento della compattazione. La compattazione è un processo in background che in genere viene distribuito su più giorni, ma potrebbe avvenire prima se le dimensioni del database aumentano in modo sostanziale. Per saperne di più, consulta Copertura colonnare ottimale.
Se crei un nuovo database senza dati e abiliti il motore colonnare, Spanner archivia i dati in formato colonnare man mano che li inserisci e quando si verificano compattazioni in background.
Il formato dei dati colonnari non viene generato per i backup.
Quando abiliti il motore colonnare di Spanner su un database esistente che contiene dati, Spanner fornisce un meccanismo per attivare manualmente le compattazioni. Per saperne di più, consulta Attivare manualmente una compattazione dei dati.
Passaggi successivi
- Scopri di più sul motore colonnare.
- Scopri come eseguire query sui dati colonnari.
- Scopri come monitorare il motore colonnare.