Descripción de las particiones en Babelfish - Amazon Aurora

Descripción de las particiones en Babelfish

A partir de la versión 4.3.0, Babelfish introduce la partición de tablas e índices con una compatibilidad limitada. En las siguientes secciones, se proporciona información sobre la creación de funciones de partición, la definición de esquemas de partición y la implementación de tablas e índices particionados en Babelfish.

Introducción a las particiones en Babelfish

  • Funciones de partición:

    • CREATE PARTITION FUNCTION: define cómo se particiona una tabla o un índice especificando el tipo de columna de partición y el rango de valores de cada partición.

    • DROP PARTITION FUNCTION: elimina una función de partición existente.

  • Esquemas de partición:

    • CREATE PARTITION SCHEME: define la asignación entre particiones y grupos de archivos.

      nota

      En Babelfish, los grupos de archivos se tratan como objetos ficticios y no representan ubicaciones físicas de almacenamiento.

    • DROP PARTITION SCHEME: elimina un esquema de partición existente.

  • Función del sistema:

    • $PARTITION: es una función del sistema que devuelve el número de partición al que pertenecería un valor especificado en una columna de particiones de una determinada tabla con particiones.

  • Tablas e índices con particiones:

    • CREATE TABLE ... ON partition_scheme_name (partition_column_name): crea una tabla con particiones basada en un esquema de particiones y una columna de particiones específicos.

    • CREATE INDEX ... ON partition_scheme_name (partition_column_name): crea un índice con particiones basado en un esquema de particiones y una columna de particiones específicos.

  • Vistas del sistema para la partición de metadatos:

    Se han añadido las siguientes vistas del sistema para proporcionar metadatos relacionados con la partición:

    • sys.destination_data_spaces

    • sys.partitions

    • sys.partition_functions

    • sys.partition_parameters

    • sys.partition_range_values

    • sys.partition_schemes

Limitaciones y soluciones provisionales

Babelfish aún no admite las siguientes capacidades de particionamiento de SQL Server:

  • ALTER PARTITION FUNCTION y ALTER PARTITION SCHEME.

    nota

    Babelfish no es compatible con las operaciones de división y fusión. Defina todas las particiones en las funciones de partición durante la creación, ya que no podrá agregar ni eliminar particiones posteriormente.

  • Columnas calculadas como columnas de particionamiento.

  • Utilidad de INSERT BULK y BCP para tablas particionadas.

  • Opción de límite LEFT para funciones de partición.

  • Tipo de datos SQL_VARIANT para las funciones de partición.

  • TRUNCATE TABLE ... WITH PARTITION.

  • ALTER TABLE ... SWITCH PARTITION.

  • Índices con particiones no alineados, como, por ejemplo, el esquema de particiones y la columna de particiones que difieren de la tabla con particiones.

  • La migración de DMS desde el origen de Babelfish solo se admite para tareas de carga completa en tablas con particiones.

  • Uso de la intercalación en la función de partición.

  • Uso de una columna de particionamiento con una intercalación distinta de la intercalación predeterminada de la base de datos.

  • Babelfish no admite estas opciones de sintaxis, pero ofrece soluciones alternativas:

    • Uso del esquema de particiones con restricciones o índices en la instrucción CREATE TABLE.

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

    nota

    Puede configurar la escotilla de escape babelfishpg_tsql.escape_hatch_storage_on_partition para omitirlo. Esto permitirá que el analizador omita la opción de esquema de particiones utilizada con las restricciones o los índices, y el backend creará restricciones o índices individuales para cada partición.