Sei sulla pagina 1di 14

CONFIGURACIN Y ADMINISTRACIN

DEL ESPACIO EN DISCO


3.1.4 Particiones
PARTICIONES

Una particin es una divisin de una base de datos lgica.


Las particiones nos permiten descomponer tablas muy grandes y los
ndices en partes ms pequeas y manejables llamadas particiones. Cada
particin es un objeto independiente con su propio nombre y,
opcionalmente, sus propias caractersticas de almacenamiento.
La particin de bases de datos se hace normalmente por razones de
mantenimiento, rendimiento o manejo.
IMPORTANCIA DE LA PARTICIN

Particionar tablas en MySQL


permite rotar la informacin de
nuestras tablas en diferentes
particiones, consiguiendo as
realizar consultas ms rpidas
y recuperar espacio en disco al
borrar los registros.
PARTICIONES

Para ver si nuestra base de datos soporta particionado simplemente


ejecutamos:

SHOW VARIABLES LIKE '%partition%';


TIPOS DE PARTICIONES

Particin horizontal consiste en poner diferentes filas en diferentes tablas.


Ejemplo
Clientes con cdigos postales menores que 50000 estn almacenados en la
tabla ClientesEste, mientras que los clientes con cdigos postales mayores
o iguales a 50000 estn almacenados en la tabla ClientesOeste. Las dos
tablas de particin son entonces ClientesEste y ClientesOeste, mientras
que una vista con una unin podra ser creada con las dos tablas para poder
dar una vista completa de todos los clientes.
PARTICIN VERTICAL

Consiste en crear miles de tablas con miles de columnas y crear tablas para
poner las columnas restantes.
Ejemplo
Por ejemplo, si tenemos una tabla de usuarios con los siguientes campos:

Divisin
RENDIMIENTO

En MySQL se puede observar la gran diferencia de rendimiento con dos


tablas que tienen exactamente la misma data (8 millones de registros), una
sin particionar y la otra particionada por aos. Al realizar una consulta
filtrando por la columna en la cual se bas el particionado se obtuvieron los
siguientes resultados:

Tabla sin particionado: 38.30 segundos


Tabla con particionado: 0.34 segundos
PARTICIONES DE UNA TABLA

Por rango: para construir nuestras particiones especificamos rangos de


valores. Por ejemplo, podramos segmentar los datos en 12 particiones:
una para los contratos de 1950 a 1960, otra para los aos 60, los 70, 80,
90, la dcada del 2000 y la dcada actual
POR LISTA
Para construir nuestras particiones especificamos listas de valores concretos.
POR HASH

MySQL se encarga de distribuir las tuplas automticamente usando una


operacin de mdulo. Slo hay que pasarle una columna o expresin que
resulte en un entero (el hash) y el nmero de particiones que queramos
crear.
POR CLAVE

Similar a la particin por hash, pero en este caso no necesitamos


pasarle un entero; MySQL utilizar su propia funcin de hash para
generarlo. Si no se indica ninguna columna a partir de la que generar
el hash, se utiliza la clave primaria por defecto.

Compuesta: podemos combinar los distintos mtodos de


particionado y crear particiones de particiones
EJEMPLO DE CONSULTAS

Consulta sin particin

Consulta con particin


EVALUACIN

1.- Define el concepto de particin


2.-Cual es el comando para ver si nuestra base de datos soporta
particionado?
3.- Menciona tres formas de particionar una tabla
4.- Cual es la importancia de realizar una particin?

Potrebbero piacerti anche