Noções básicas do particionamento no Babelfish - Amazon Aurora

Noções básicas do particionamento no Babelfish

A partir da versão 4.3.0, o Babelfish introduz o particionamento de tabelas e índices com suporte limitado. As seções a seguir fornecem detalhes sobre como criar funções de partição, definir esquemas de partição e implementar tabelas e índices particionados no Babelfish.

Introdução ao particionamento no Babelfish

  • Funções de partição:

    • CREATE PARTITION FUNCTION: define como uma tabela ou um índice é particionado especificando o tipo de coluna de particionamento e o intervalo de valores de cada partição.

    • DROP PARTITION FUNCTION: remove uma função de partição existente.

  • Esquemas de partição:

    • CREATE PARTITION SCHEME: define o mapeamento entre partições e grupos de arquivos.

      nota

      No Babelfish, os grupos de arquivos são tratados como objetos fictícios e não representam locais de armazenamento físico.

    • DROP PARTITION SCHEME: remove um esquema de partição existente.

  • Função do sistema:

    • $PARTITION: essa função do sistema exibe o número da partição à qual um valor especificado em uma coluna de particionamento pertenceria em uma tabela particionada especificada.

  • Tabelas e índices particionados:

    • CREATE TABLE ... ON partition_scheme_name (partition_column_name): cria uma tabela particionada com base em um esquema de particionamento e uma coluna de particionamento especificados.

    • CREATE INDEX ... ON partition_scheme_name (partition_column_name): cria um índice particionado com base em um esquema de particionamento e uma coluna de particionamento especificados.

  • Visualizações do sistema para particionar metadados:

    As seguintes visualizações do sistema foram adicionadas para fornecer metadados relacionados ao particionamento:

    • sys.destination_data_spaces

    • sys.partitions

    • sys.partition_functions

    • sys.partition_parameters

    • sys.partition_range_values

    • sys.partition_schemes

Limitações e soluções alternativas

Os seguintes recursos de particionamento do SQL Server ainda não são aceitos no Babelfish:

  • ALTER PARTITION FUNCTION e ALTER PARTITION SCHEME.

    nota

    O Babelfish não comporta operações de divisão e de mesclagem. Defina todas as partições nas funções de partição durante a criação, pois não é possível adicionar nem remover partições posteriormente.

  • Colunas computadas como colunas de particionamento.

  • Utilitários INSERT BULK e BCP para tabelas particionadas.

  • Opção de limite LEFT para funções de partição.

  • Tipo de dados SQL_VARIANT para funções de partição.

  • TRUNCATE TABLE ... WITH PARTITION.

  • ALTER TABLE ... SWITCH PARTITION.

  • Índices particionados não alinhados, como esquema de partição e coluna de partição que diferem da tabela particionada.

  • A migração do DMS da origem do Babelfish é possível somente com tarefas de carga total em tabelas particionadas.

  • Uso de agrupamento na função de partição.

  • Uso de uma coluna de particionamento com um agrupamento diferente do agrupamento padrão do banco de dados.

  • O Babelfish não aceita essas opções de sintaxe, mas fornece soluções alternativas:

    • Uso do esquema de partição com restrições ou índices na instrução CREATE TABLE.

    • ALTER TABLE ... ADD CONSTRAINT ... ON partition_scheme_name (partition_column_name).

    nota

    Você pode configurar o hatch de escape babelfishpg_tsql.escape_hatch_storage_on_partition para ser ignorado. Isso permitirá que o analisador ignore a opção de esquema de partição usada com restrições ou índices, e o backend criará restrições ou índices individuais para cada partição.