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 |