lunes, 20 de octubre de 2025

Crecimiento o Fragmentación Horizontal

 Últimamente he estado leyendo acerca de crecimiento horizontal,  que significa eso, es poder crecer la capacidad de computo sin migrar a un nuevo servidor, distribuyendo la carga en múltiples servidores.


Conceptualmente la distribución debería ser perfecta, simétrica y balanceada. 


En la práctica tenemos Fragmentación por Esquemas, por filas, por Hash,y bueno las que vienen con el particionamiento. 


Existen bases de datos (nuevas) que naturalmente pueden manejar esto, especialmente para datawarehouse, de solo lectura y NoSql, pero por definícion su uso es limitado a tareas particulares.


En el área de las bases transaccionales, entiendo que Oracle es un capítulo aparte con la opción de RAC proveyendo Fragmentación por fila de manera bastante transparente, bueno siendo sincero esto requiere almacenamiento compartido en todos los nodos y una intensa coordinación de bloques, filas y bloqueos


De las demás bases transaccionales principales tenemos Postgresql, Mysql (en sus 3 sabores), y SQL server, ninguna tiene una solución transparente y aunque es posible dividir por filas, requiere código y planeamiento tanto para crecer, cómo para decrecer.


En general las demás soluciones no comparten el almacenamiento entre las partes requiriendo coordinadores cómo MaxScale, o Azure Elastic, Amazon Aurora, etc



No hay comentarios:

Publicar un comentario