Tutorial de partición de PostgreSQL

Tutorial De Particion De Postgresql



Para cualquier base de datos, el rendimiento es una métrica que debe abordarse para lograr una confiabilidad efectiva, especialmente cuando se trata de una gran cantidad de datos. Con PostgreSQL, debe crear las particiones de la tabla para ahorrar el tiempo y los recursos necesarios para escanear una tabla mientras busca un registro. Al dividir una tabla grande en porciones más pequeñas, se necesita menos intercambio de memoria y su aplicación funcionará mejor ya que ahorra en operaciones de base de datos.

Esta publicación cubre la partición de PostgreSQL. Discutiremos las diferentes opciones de partición que puede usar y daremos ejemplos sobre cómo usarlas para una mejor comprensión.

Cómo crear las particiones PostgreSQL

Cualquier base de datos podría contener numerosas tablas con múltiples entradas. Para facilitar la administración, debe particionar las tablas, lo cual es una excelente y recomendada rutina de almacenamiento de datos para la optimización de la base de datos y para ayudar en la confiabilidad. Puede crear diferentes particiones, incluida la lista, el rango y el hash. Analicemos cada uno en detalle.







1. Partición de listas

Antes de considerar cualquier partición, debemos crear la tabla que usaremos para las particiones. Al crear la tabla, siga la sintaxis proporcionada para todas las particiones:



CREAR TABLA nombre_tabla(columna1 tipo_datos, columna2 tipo_datos) PARTICIÓN POR (clave_partición);

El 'nombre_tabla' es el nombre de su tabla junto con las diferentes columnas que tendrá la tabla y sus tipos de datos. Para 'partition_key', es la columna mediante la cual se producirá la partición. Por ejemplo, la siguiente imagen muestra que creamos la tabla 'cursos' con tres columnas. Además, nuestro tipo de partición es LISTA y seleccionamos la columna de facultad como nuestra clave de partición:







Una vez creada la tabla, debemos crear las diferentes particiones que necesitemos. Para eso, proceda con la siguiente sintaxis:

CREAR TABLA partición_table PARTICIÓN DE main_table PARA VALORES EN (VALOR);

Por ejemplo, el primer ejemplo en la siguiente imagen muestra que creamos una tabla de partición llamada 'Fset' que contiene todos los valores en la columna 'facultad' que seleccionamos como nuestra clave de partición cuyo valor es 'FSET'. Usamos una lógica similar para las otras dos particiones que creamos.



Una vez que tenga las particiones, puede insertar los valores en la tabla principal que creamos. Cada valor que inserta coincide con la partición respectiva según los valores en la clave de partición que seleccionó.

Si enumeramos todas las entradas en la tabla principal, podemos ver que tiene todas las entradas que insertamos.

Para verificar que creamos correctamente las particiones, verifiquemos los registros en cada una de las particiones creadas.

Observe cómo cada tabla particionada solo contiene las entradas que coinciden con los criterios definidos al realizar la partición. Así es como funciona la partición por lista.

2. Partición de rango

Otro criterio para crear particiones es utilizar la opción RANGO. Para esto, debemos especificar los valores inicial y final a usar para el rango. Usar este método es ideal cuando se trabaja con fechas.

Su sintaxis para crear la tabla principal es la siguiente:

CREAR TABLA nombre_tabla(columna1 tipo_datos, columna2 tipo_datos) PARTICIÓN POR RANGO (clave_partición);

Creamos la tabla 'cust_orders' y la especificamos para usar la fecha como nuestra 'partition_key'.

Para crear las particiones, utilice la siguiente sintaxis:

CREAR TABLA partición_tabla PARTICIÓN DE tabla_principal PARA VALORES DESDE (valor_inicial) HASTA (valor_final);

Definimos nuestras particiones para que funcionen trimestralmente usando la columna 'fecha'.

Después de crear todas las particiones e insertar los datos, así queda nuestra tabla:

Si verificamos las entradas en las particiones creadas, verificamos que nuestra partición funcione y solo tengamos los registros apropiados según los criterios de partición que especificamos. Para todas las entradas nuevas que agregue a su tabla, se agregan automáticamente a la partición respectiva.

3. Partición hash

El último criterio de partición que discutiremos es el uso de hash. Creemos rápidamente la tabla principal usando la siguiente sintaxis:

CREAR TABLA nombre_tabla (columna1 tipo_datos, columna2 tipo_datos) PARTICIÓN POR HASH (clave_partición);

Al particionar con hash, debe proporcionar el módulo y el resto, las filas que se dividirán por el valor hash de su 'partition_key' especificada. Para nuestro caso, utilizamos un módulo de 4.

Nuestra sintaxis es la siguiente:

CREAR TABLA partición_tabla PARTICIÓN DE tabla_principal PARA VALORES CON (MÓDULO num1, RESTO num2);

Nuestras particiones son las siguientes:

Para 'main_table', contiene las entradas que se muestran a continuación:

Para las particiones creadas, podemos acceder a sus entradas rápidamente y verificar que nuestra partición funciona.

Conclusión

Las particiones PostgreSQL son una forma práctica de optimizar la base de datos para ahorrar tiempo y mejorar la confiabilidad. Discutimos la partición en detalle, incluidas las diferentes opciones disponibles. Además, proporcionamos ejemplos sobre cómo implementar las particiones. ¡Pruébalos!