¿Qué es la partición?
La partición es la división de objetos de base de datos almacenados (tablas, índices, vistas) en partes separadas. La partición se utiliza para aumentar la controlabilidad, el rendimiento y la disponibilidad de grandes objetos de base de datos.
- En algunos casos, la partición mejora el rendimiento al acceder a las tablas particionadas.
- La partición puede desempeñar el papel de columnas principales en los índices, lo que disminuye el tamaño del índice y aumenta la posibilidad de encontrar los índices más buscados en la memoria. Cuando se utiliza una gran parte de una sección en el conjunto de resultados, el escaneo de esta sección se puede realizar mucho más rápido que un acceso ocasional a los datos distribuidos por toda la tabla por índice.
- La carga y eliminación masiva de datos se puede realizar agregando y eliminando secciones, lo que ayuda a aumentar el rendimiento.
- Los datos que se utilizan raramente se pueden cargar en dispositivos de almacenamiento de datos más económicos.
En DataSunrise, la partición se utiliza para dividir las tablas de la base de datos de Almacenamiento de Auditoría en secciones (tablas más pequeñas). El Almacenamiento de Auditoría es una base de datos que se utiliza para almacenar los resultados del Monitoreo de Actividad de Base de Datos de DataSunrise.
- Hace que la administración del Almacenamiento de Auditoría sea más simple, porque los datos particionados se distribuyen por particiones según el tiempo de partición. El administrador de la base de datos puede deshabilitar la consulta de particiones, archivarlas, etc.
- Aumenta el rendimiento al acceder, recuperar datos y escribir datos en las tablas particionadas;
- Aumenta el rendimiento al eliminar datos de auditoría obsoletos del Almacenamiento de Auditoría;
DataSunrise admite particiones para los siguientes tipos de bases de datos de Almacenamiento de Auditoría:
- PostgreSQL
- MySQL
- MS SQL Server
Parámetros de Partición
Se pueden encontrar en Configuración del Sistema -> Parámetros adicionales.
- Longitud de Particiones (días) – duración de la partición, días (si AuditPartitionShort == 1, entonces minutos). Se puede encontrar en Configuración del Sistema -> Almacenamiento de Auditoría. Si Longitud de Particiones cambia, todas las particiones creadas previamente se eliminarían y se crearían nuevas particiones con los nuevos parámetros de Longitud de Particiones.
- AuditPartitionCountCreatedInAdvance – número de particiones creadas con anticipación. Por lo tanto, particiones vacías creadas para ser llenadas en el futuro. Esto permite a DataSunrise escribir datos en particiones existentes sin demoras;
- AuditPartitionFirstEndDateTime – fecha/hora del final de la primera partición. Esta hora es necesaria para el ajuste de los límites de la partición alrededor de un valor “redondo”. Por ejemplo: lunes 00:00:00 (para una duración de partición de 7 días).
Gestión de Particiones en DataSunrise
DataSunrise incluye mecanismos de gestión de particiones: DataSunrise crea tablas adicionales necesarias para el funcionamiento (para PostgreSQL), crea y mantiene funciones de particionamiento actualizadas, esquemas particionados, grupos de archivos e índices (para MS SQL), modifica claves e índices para cumplir con los requisitos de particionamiento (MySQL), habilita la partición, crea y elimina particiones.
Las SELECT se realizan a través de la tabla principal. Las INSERT/UPDATE se realizan directamente en la partición (excepto en MS SQL Server). Esto ayuda a aumentar la velocidad de escritura.
Nombres de Particiones y Tablas
Las particiones para PostgreSQL están organizadas como tablas hijas nombradas <table_name>_p<datetime>, donde <table_name> es la tabla principal, <datetime> es el tiempo límite superior de la partición en el siguiente formato: YYYYMMDDhhmm.
Para MySQL, la partición se implementa utilizando mecanismos nativos. Los nombres de las particiones se forman según el siguiente esquema: p<datetime>, donde <datetime> es el tiempo límite superior de la partición en el siguiente formato: YYYYMMDDhhmm.
Para MS SQL Server, la partición se implementa a través de esquema.