Particionado Horizontal de tablas en PostgreSQL
Sistema de apoyo a la toma de decisiones (SATD)
Sistemas de información geográfica (SIG)
Autor(a): Ailen Delgado González
Índice
Introducción .................................................................................................................................... 3
Particionado en PostgreSQL........................................................................................................... 4
Particionado mediante herencia de tablas ................................................................................... 5
Ejemplo ....................................................................................................................................... 5
Solución de particionado horizontal................................................................................................. 9
Preparar la base de datos para el particionado ........................................................................... 9
Seleccionar la tabla a particionar .............................................................................................. 11
Ejemplo..................................................................................................................................... 12
Particionado de tablas con relaciones ....................................................................................... 16
A tener en cuenta ...................................................................................................................... 19
Introducción
Cuando se trabajacon bases de datos de perspectiva histórica o que contengan tablas que
presenten un crecimiento considerable de los datos de forma periódica, es indispensable contar
con estrategias para aumentar la velocidad de recuperación y presentación de los datos.
En el caso del manejo de tablas que almacenan un conjunto demasiado grande de registros
(varios millones o más), las consultas que se realizansobre estos datos suelen tener un bajo
rendimiento. Se hace necesario entonces aplicar técnicas de optimización para obtener un mejor
desempeño en el trabajo con la base de datos.
Existen diversos métodos de optimización que van desde la desnormalización de tablas hasta la
creación de índices, vistas materializadas o el particionado. En el presente informe se trata
específicamente elparticionado horizontal de tablas, explicando su funcionamiento mediante un
ejemplo práctico.
Se presenta también una solución de particionado basada en el tipo soportado por PostgreSQL:
particionado mediante herencia de tablas. Se explica de forma breve su funcionamiento y se
detallan los pasos a seguir para su implantación.
Particionado en PostgreSQL
El particionado de tablas es el método usadopara descomponer una enorme tabla padre en un
conjunto de tablas hijas. Básicamente se trata de repartir la información de una tabla que contiene
miles o millones de filas (en continuo crecimiento) en varias tablas que contendrán menor número
de registros.
Algunas de las ventajas que se pueden obtener haciendo uso de esta configuración son las
siguientes:
1.
Mayor velocidad de lectura de losdatos de la tabla
2.
Mayor velocidad de escritura en UPDATE
3.
Mayor velocidad de escritura en DELETE ya que se puede emplear DROP TABLE
4.
Índices más pequeños contra uno grande, recarga menos la memoria del servidor
5.
Al separar los datos en varias tablas el tamaño en disco de las partes es menor y es más
fácil transportar los datos en dispositivos externos.
Para tablas concrecimiento crítico el particionado es una buena opción de optimización en cuanto
a tratamiento de los datos y tiempo de respuesta de las consultas.
Una situación crítica podría ser el caso de un simulador de trayectoria, un sistema que almacena
los datos del trayecto de uno o varios objetivos para luego realizar consultas sobre ellos.
Suponiendo que un avión realiza un vuelo de 2 horas, en el cual...
Regístrate para leer el documento completo.