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.notaEn 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.notaBabelfish 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). 
 notaPuede 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.