ARTICULO: Qué hacer cuando una tabla llega al número máximo de páginas

ARTICULO: Qué hacer cuando una tabla llega al número máximo de páginas

13 marzo, 2024 ARTÍCULOS 0

Como vimos en el articulo anterior (https://www.proyectosysoluciones.es/articulo-limites-en-informix-numero-de-paginas-para-una-tabla/#page-content), tenemos un límite de 16.777.215 páginas para cada tabla. Si nuestra tabla crece es posible que alcance ese límite y en ese punto nos aparecerá un error indicando que no puede insertar en la tabla porque no puede conseguir mas extents.

Si trabajamos con una tabla de tamaño de página de 2KB este límite es de unos 32 GB.

La primera solución que viene a la cabeza pasa por mover la tabla a un dbspace con un tamaño de página más grande. Eso nos permite disponer de más registros por página y, por tanto, podemos insertar muchos más datos. Los tamaños de página que pueden tener los dbspaces dependen del tamaño de página de sistema: tienen que se múltiplos de tamaño de página de sistema y no superar los 16KB. En el caso de pasar de un dbspace de 2KB (que nos permite tener 32 GB de datos) a uno de 16Kb (que nos permite tener 256 GB) multiplicamos por 8 la capacidad de almacenar datos de la tabla. El principal problema de este método es que exige descargar y cargar la tabla en el nuevo dbspace, con el tiempo necesario de parada del sistema que ello implica más los problemas que puede suponer tener que regenerar las foreign key.

Otra opción pasa por fragmentar la tabla. En este caso podemos distribuir la tabla por varios dbspaces y establecer una estrategia de fragmentación que nos sirva para no superar el límite de páginas, que en este caso aplicaría a cada fragmento. Son estrategias típicas para evitar este problema del límite de páginas el round-robin o la expresión. La estrategia de Round Robin tiene varias ventajas, ya que distribuye uniformemente y, una vez definida, permite añadir nuevos fragmentos con mucha facilidad. La estrategia de fragmentación por expresión requiere de un conocimiento de los datos para saber si se van a distribuir bien con la expresión definida.

Por último, podemos combinar ambas opciones: fragmentar la tabla y hacerlo en dbspaces con tamaño de página más grande.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *