Nesta página, descrevemos como ativar o mecanismo colunar do Spanner em um banco de dados, tabela ou índice e acelerar a geração de formatos de arquivo.
Ativar o mecanismo colunar do Spanner (SQL do Google)
O mecanismo colunar do Spanner é ativado usando uma cláusula SET OPTIONS com a opção columnar_policy. É possível aplicar essa opção ao criar ou alterar objetos de esquema DATABASE, TABLE ou INDEX. Os objetos de esquema SEARCH INDEX e VECTOR INDEX nunca estão no formato colunar.
As tabelas e os índices herdam a columnar_policy especificada no nível do banco de dados.
A opção columnar_policy tem as seguintes flags:
'enabled'ou'disabled'ativa ou desativa o mecanismo colunar para o objeto de esquema específico.NULL(padrão) usa a política de mecanismo colunar do objeto pai, se houver.NULLlimpa as configurações anteriores em um objeto de tabela.
Também é possível omitir OPTIONS para herdar a columnar_policy do objeto pai.
O exemplo a seguir mostra como:
- Criar um banco de dados com a política colunar ativada.
- Definir uma tabela
Singersque herda a política colunar do banco de dados (omitacolumnar_policy = NULLpara a opção de tabela). - Definir uma tabela
Concertscom a política colunar explicitamente desativada.
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');
Também é possível usar ALTER TABLE com a cláusula SET OPTIONS para ativar ou desativar a columnar_policy em uma tabela. O exemplo a seguir mostra como desativar a política na tabela Singers:
ALTER TABLE Singers SET OPTIONS (columnar_policy = 'disabled');
Ativar o mecanismo colunar do Spanner (PostgreSQL)
É possível ativar o mecanismo colunar do Spanner para todas as tabelas e índices emitindo esta instrução:
ALTER DATABASE db_name SET spanner.columnar_policy TO enabled
É possível ativar o mecanismo colunar do Spanner para tabelas e índices específicos adicionando a opção COLUMNAR POLICY enabled ao criar ou alterar um objeto de esquema TABLE ou INDEX. Os objetos de esquema SEARCH INDEX e VECTOR INDEX nunca estão no formato colunar.
As tabelas e os índices herdam a COLUMNAR POLICY especificada no nível do banco de dados.
A opção de palavra-chave COLUMNAR POLICY tem os seguintes valores possíveis:
enabledoudisabledativa ou desativa o mecanismo colunar para o objeto de esquema específico.NULLusa a política de mecanismo colunar do objeto pai, se houver.NULLlimpa a configuração anterior em um objeto de esquema de tabela ou índice.
O exemplo a seguir mostra como:
- Criar um banco de dados com a política colunar ativada.
- Definir uma tabela
Singersque herda a política colunar do banco de dados (omitacolumnar_policy = NULLpara a opção de tabela). - Definir uma tabela
Concertscom a política colunar explicitamente desativada.
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;
Também é possível usar ALTER TABLE com a cláusula SET COLUMNAR POLICY para ativar ou desativar a política colunar em uma tabela. O exemplo a seguir mostra como desativar a política na tabela Singers:
ALTER TABLE Singers SET COLUMNAR POLICY disabled;
Para remover a configuração da política colunar no nível do banco de dados, use RESET:
ALTER DATABASE Music RESET spanner.columnar_policy;
A ativação do mecanismo colunar do Spanner aumenta o uso de armazenamento do banco de dados ou da tabela de destino (dependendo da opção de ativação usada) em aproximadamente 60%. O aumento exato depende do tipo de dados e das propriedades de compressibilidade. É importante garantir que a instância do Spanner tenha capacidade de armazenamento suficiente para acomodar o aumento no uso de armazenamento. Para mais informações, consulte Limites do banco de dados.
Geração de formato de arquivo colunar
O Spanner gera o formato de arquivo colunar no momento da compactação. A compactação é um processo em segundo plano que normalmente é distribuído por vários dias, mas pode acontecer mais cedo se o tamanho do banco de dados aumentar substancialmente. Para mais informações, consulte Cobertura colunar ideal.
Se você criar um novo banco de dados sem dados e ativar o mecanismo colunar, o Spanner vai armazenar os dados no formato colunar à medida que você os insere e as compactações ocorrem em segundo plano.
O formato de dados colunar não é gerado para backups.
Quando você ativa o mecanismo colunar do Spanner em um banco de dados que já tem dados, o Spanner oferece um mecanismo para acionar compactações manualmente. Para mais informações, consulte Acionar manualmente uma compactação de dados.
A seguir
- Saiba mais sobre o mecanismo colunar.
- Saiba como consultar dados colunares.
- Saiba como monitorar o mecanismo colunar.