PolarDB ofrece tablas particionadas totalmente compatibles con la sintaxis y las funciones de MySQL nativo. PolarDB también proporciona un rendimiento superior al de MySQL nativo, admite más tipos y combinaciones de particiones, y resulta más conveniente, fácil de usar y eficiente.
El particionamiento divide una tabla lógica grande en varias tablas físicas pequeñas según reglas específicas. La tabla lógica grande se conoce como tabla particionada, mientras que las tablas físicas pequeñas son las particiones. Cada partición organiza y gestiona de forma independiente los datos y los índices en el motor de almacenamiento. Las reglas de particionamiento incluyen principalmente RANGE, LIST y HASH. Especifique claves de partición para distribuir los datos en distintas particiones conforme a estas reglas. PolarDB también le permite Create a hybrid partition para usar distintos motores de almacenamiento en las particiones. A continuación se muestra la tabla subparticionada Orders.
Beneficios
-
Amplia variedad de tipos y combinaciones de particiones
Es compatible con particiones RANGE, LIST, HASH y LIST DEFAULT HASH, así como con sus combinaciones. Gracias a esto, las tablas particionadas ofrecen métodos flexibles de gobernanza de datos.
Admite particiones INTEVAL RANGE, lo que simplifica el mantenimiento automático de particiones.
Admite Hybrid partitioning mediante INNODB y OSS para reducir costos y aumentar la eficiencia.
Admite Partial indexes y global secondary indexes para cubrir mejor los distintos requisitos de índices de tabla que exigen las transacciones HTAP y las cargas de consulta basadas en particiones.
-
Mejora del rendimiento
Eliminación de particiones: durante las consultas de datos, el optimizador filtra automáticamente las particiones según las condiciones de la consulta y los metadatos de partición para reducir el volumen de datos analizados. PolarDB también admite la función de eliminación dinámica de particiones para mejorar la eficiencia de las consultas.
Uniones por partición (partitionwise joins): al unir particiones, el sistema descompone la tabla particionada en uniones de particiones según las condiciones establecidas. Además, descarta las uniones que no cumplen dichas condiciones para minimizar su cantidad y mejorar la eficiencia de las consultas.
Recopilación y gestión de estadísticas: este proceso basado en particiones es preciso y flexible, por lo que permite seleccionar mejores planes de consulta.
Las consultas paralelas mejoran significativamente el rendimiento de la solución de tablas grandes basada en particiones.
-
Gestión de datos reforzada
Cree, elimine y reconstruya índices para las particiones.
Cree copias de seguridad y restaure datos por partición.
-
Reducción de costos
Las particiones se pueden almacenar según la data importance, el data storage performance, la data storage reliability y el data storage form.
Optimizaciones de funciones
En comparación con MySQL nativo, PolarDB incluye las optimizaciones que se muestran a continuación.
Categoría | Optimización | Referencias | |
Particiones extendidas | Todos los tipos de subparticiones | Subparticionamiento de particiones HASH y KEY | |
Subparticiones RANGE y LIST | |||
Eliminación de subparticiones | |||
Algunas operaciones DDL en subparticiones | |||
Particiones LIST DEFAULT HASH | Particiones LIST DEFAULT HASH | ||
Subparticionamiento de particiones LIST DEFAULT HASH | |||
Subparticiones LIST DEFAULT | |||
Instrucción REORGANIZE PARTITION para dividir una partición LIST desde la partición DEFAULT HASH | |||
Instrucción REORGANIZE PARTITION para fusionar una partición LIST en una partición DEFAULT HASH | |||
Instrucción REORGANIZE PARTITION para modificar la cantidad de particiones DEFAULT | |||
Eliminación de particiones LIST DEFAULT HASH | |||
Instrucción ADD PARTITION para agregar una partición LIST DEFAULT HASH | |||
Particiones INTERVAL-RANGE | Particiones INTERVAL-RANGE | ||
Subparticionamiento hash de particiones INTERVAL-RANGE | |||
Particiones cuya clave primaria y clave única podrían no ser exclusivas entre particiones (UNIQUE CHECK IGNORE) |
| ||
| |||
Índices particionados | Índices parciales | Índices parciales en particiones | |
Índices parciales en subparticiones | |||
Operaciones ADD, DROP y REBUILD de índices en particiones y subparticiones. | |||
Eliminación de índices parciales | |||
Estadísticas de índices parciales | |||
Índices parciales en tablas con particiones híbridas | |||
Índices parciales en particiones LIST DEFAULT HASH | |||
Índices particionados globales | Creación y eliminación de índices secundarios globales | ||
Índices secundarios globales para operaciones DML y la mayoría de las operaciones DDL en tablas | |||
Índices secundarios globales para operaciones DDL | |||
Índices secundarios globales únicos | |||
Optimización de consultas | Optimizadores de consultas | Uniones parciales por partición | No aplicable |
Eliminación dinámica de particiones | |||
Eliminación de índices particionados | |||
HyperLogLog | |||
Análisis paralelo de particiones en una tabla particionada | |||
Selección del optimizador de índices globales y análisis paralelo | |||
Combinación de particionamiento y MPP | |||
MDL basados en particiones | ADD PARTITION y DROP PARTITION admiten MDL basados en particiones | ||
EXCHANGE PARTITION admite MDL basados en particiones | |||
REBUILD PARTITION y REORGANIZE PARTITION admiten MDL basados en particiones | |||
Las subparticiones admiten MDL basados en subparticiones | |||
Operaciones DDL | Operaciones DDL para tablas comunes y tablas particionadas | Operación DDL para convertir una tabla común en una tabla particionada | |
Particiones híbridas | Compatibilidad con distintos tipos de motores de almacenamiento | ||