stringtranslate.com

Partición (base de datos)

Opciones de partición de una tabla en MySQL en el entorno de la herramienta Adminer .

Una partición es una división de una base de datos lógica o de sus elementos constituyentes en distintas partes independientes. La partición de la base de datos normalmente se realiza por razones de capacidad de administración, rendimiento o disponibilidad [1] , o para equilibrio de carga . Es popular en los sistemas de gestión de bases de datos distribuidas , donde cada partición puede distribuirse en varios nodos y los usuarios del nodo realizan transacciones locales en la partición. Esto aumenta el rendimiento de los sitios que realizan transacciones regulares que involucran ciertas vistas de datos, manteniendo al mismo tiempo la disponibilidad y la seguridad.

Criterios de partición

Los sistemas actuales de gestión de bases de datos relacionales de alta gama proporcionan diferentes criterios para dividir la base de datos. Toman una clave de partición y asignan una partición según ciertos criterios. Algunos criterios comunes incluyen:

Métodos de partición

La partición se puede realizar construyendo bases de datos más pequeñas (cada una con sus propias tablas , índices y registros de transacciones ) o dividiendo elementos seleccionados, por ejemplo, solo una tabla.

Partición horizontal

La partición horizontal implica colocar diferentes filas en diferentes tablas. Por ejemplo, los clientes con códigos postales inferiores a 50000 se almacenan en CustomersEast, mientras que los clientes con códigos postales mayores o iguales a 50000 se almacenan en CustomersWest. Las dos tablas de partición son ClientesEste y ClientesOeste, mientras que se puede crear una vista con una unión sobre ambas para proporcionar una vista completa de todos los clientes.

Partición vertical

La partición vertical implica crear tablas con menos columnas y usar tablas adicionales para almacenar las columnas restantes. [1] Generalmente, esta práctica se conoce como normalización . Sin embargo, la partición vertical se extiende más allá y divide las columnas incluso cuando ya están normalizadas. Este tipo de partición también se denomina "división de filas", ya que las filas se dividen por sus columnas y pueden realizarse de forma explícita o implícita. Se pueden utilizar distintas máquinas físicas para realizar la partición vertical: almacenar columnas muy anchas o poco utilizadas, que ocupan una cantidad significativa de memoria, en una máquina diferente, por ejemplo, es un método de partición vertical. Una forma común de partición vertical es dividir datos estáticos de datos dinámicos, ya que es más rápido acceder a los primeros que a los segundos, particularmente para una tabla donde los datos dinámicos no se usan con tanta frecuencia como los estáticos. La creación de una vista en las dos tablas recién creadas restaura la tabla original con una penalización en el rendimiento, pero acceder únicamente a los datos estáticos mostrará un mayor rendimiento. Una base de datos en columnas puede considerarse como una base de datos que se ha dividido verticalmente hasta que cada columna se almacena en su propia tabla.

Ver también

Referencias

  1. ^ ab "Algoritmos de partición vertical para el diseño de bases de datos", por Shamkant Navathe, Stefano Ceri, Gio Wiederhold y Jinglie Dou, Universidad de Stanford 1984