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 FUNCTIONyALTER 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 BULKyBCPpara tablas particionadas. -
Opción de límite
LEFTpara funciones de partición. -
Tipo de datos
SQL_VARIANTpara 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_partitionpara 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.