Codificações de compactação - Amazon Redshift

Codificações de compactação

Uma codificação de compactação especifica o tipo de compactação que é aplicado a uma coluna de valores de dados conforme as linhas são adicionadas a uma tabela.

ENCODE AUTO é o padrão para tabelas. Quando a tabela é definida como ENCODE AUTO, o Amazon Redshift gerencia automaticamente a codificação de compactação para todas as colunas da tabela. Para obter mais informações, consulte CRIAR TABELA e ALTER TABLE.

Porém, se você especificar a codificação de compactação para qualquer coluna da tabela, a tabela não será mais definida como ENCODE AUTO. O Amazon Redshift não gerencia mais automaticamente a codificação de compactação para todas as colunas da tabela.

Quando você usa CREATE TABLE, ENCODE AUTO é desativada ao especificar a codificação de compactação para qualquer coluna da tabela. Se ENCODE AUTO estiver desativada, o Amazon Redshift atribuirá automaticamente uma codificação de compactação a colunas para as quais você não especificar um tipo ENCODE, da seguinte maneira:

  • Colunas que são definidas como chaves de classificação são designadas a compactação RAW.

  • Colunas que são definidas como tipos de dados BOOLEAN, REAL ou DOUBLE PRECISION recebem a compactação RAW.

  • As colunas definidas como tipos de dados SMALLINT, INTEGER, BIGINT, DECIMAL, DATE, TIMESTAMP ou TIMESTAMPTZ recebem a compactação AZ64.

  • As colunas definidas como tipos de dados CHAR ou VARCHAR recebem a compactação LZO.

Você pode alterar a codificação de uma tabela depois de criá-la usando ALTER TABLE. Se você desabilitar ENCODE AUTO usando ALTER TABLE, o Amazon Redshift deixará de gerenciar automaticamente as codificações de compactação de suas colunas. Todas as colunas manterão os tipos de codificação de compactação que tinham quando você desativou ENCODE AUTO até que sejam alteradas ou até que ENCODE AUTO seja reativada.

A tabela a seguir identifica as codificações de compactação compatíveis e os tipos de dados compatíveis com a codificação.

Tipo de codificação Palavra chave em CREATE TABLE e ALTER TABLE Tipos de dados
Bruto (sem compactação) RAW Todos
AZ64 AZ64 SMALLINT, INTEGER, BIGINT, DECIMAL, DATE, TIMESTAMP, TIMESTAMPTZ
Dicionário de bytes BYTEDICT SMALLINT, INTEGER, BIGINT, DECIMAL, REAL, DOUBLE PRECISION, CHAR, VARCHAR, DATE, TIMESTAMP, TIMESTAMPTZ
Delta

DELTA

DELTA32K

SMALLINT, INT, BIGINT, DATE, TIMESTAMP, DECIMAL

INT, BIGINT, DATE, TIMESTAMP, DECIMAL

LZO LZO SMALLINT, INTEGER, BIGINT, DECIMAL, CHAR, VARCHAR, DATE, TIMESTAMP, TIMESTAMPTZ, SUPER
Mostlyn

MOSTLY8

MOSTLY16

MOSTLY32

SMALLINT, INT, BIGINT, DECIMAL

INT, BIGINT, DECIMAL

BIGINT, DECIMAL

Run-length RUNLENGTH SMALLINT, INTEGER, BIGINT, DECIMAL, REAL, DOUBLE PRECISION, BOOLEAN, CHAR, VARCHAR, DATE, TIMESTAMP, TIMESTAMPTZ
Texto

TEXT255

TEXT32K

Somente VARCHAR

Somente VARCHAR

Zstandard ZSTD SMALLINT, INTEGER, BIGINT, DECIMAL, REAL, DOUBLE PRECISION, BOOLEAN, CHAR, VARCHAR, DATE, TIMESTAMP, TIMESTAMPTZ, SUPER