Tutorial de partició de PostgreSQL

Tutorial De Particio De Postgresql



Per a qualsevol base de dades, el rendiment és una mètrica que s'ha de tenir en compte per a una fiabilitat eficaç, especialment quan hi ha dades grans. Amb PostgreSQL, heu de crear les particions de la taula per estalviar el temps i els recursos necessaris per escanejar una taula mentre cerqueu un registre. En dividir una taula gran en porcions més petites, es necessita menys intercanvi de memòria i la vostra aplicació funcionarà millor, ja que estalvia operacions de base de dades.

Aquesta publicació tracta sobre el particionament de PostgreSQL. Parlarem de les diferents opcions de partició que podeu utilitzar i donarem exemples sobre com utilitzar-les per entendre-les millor.

Com crear les particions PostgreSQL

Qualsevol base de dades pot contenir nombroses taules amb diverses entrades. Per facilitar la gestió, hauríeu de dividir les taules, que és una rutina de magatzem de dades fantàstica i recomanada per a l'optimització de la base de dades i per facilitar la fiabilitat. Podeu crear diferents particions incloent la llista, l'interval i el hash. Parlem de cadascun amb detall.







1. Particionament de llista

Abans de plantejar-nos qualsevol partició, hem de crear la taula que farem servir per a les particions. Quan creeu la taula, seguiu la sintaxi donada per a totes les particions:



CREATE TABLE nom_taula(tipus_dades columna1, tipus_dades columna2) PARTITION BY (clau_partició);

El 'nom_taula' és el nom de la vostra taula juntament amb les diferents columnes que tindrà la taula i els seus tipus de dades. Per a 'partition_key', és la columna per la qual es produirà la partició. Per exemple, la imatge següent mostra que hem creat la taula 'cursos' amb tres columnes. A més, el nostre tipus de partició és LIST i seleccionem la columna del professorat com a clau de partició:







Un cop creada la taula, haurem de crear les diferents particions que necessitem. Per a això, procediu amb la sintaxi següent:

CREATE TABLE taula_particions PARTICIÓ DE taula_principal PER A VALORS A (VALOR);

Per exemple, el primer exemple de la imatge següent mostra que vam crear una taula de particions anomenada 'Fset' que conté tots els valors de la columna 'facultat' que vam seleccionar com a clau de partició el valor de la qual és 'FSET'. Hem utilitzat una lògica similar per a les altres dues particions que hem creat.



Un cop tingueu les particions, podeu inserir els valors a la taula principal que hem creat. Cada valor que inseriu coincideix amb la partició corresponent en funció dels valors de la clau de partició que heu seleccionat.

Si enumerem totes les entrades de la taula principal, podem veure que té totes les entrades que hem inserit.

Per verificar que hem creat correctament les particions, comprovem els registres de cadascuna de les particions creades.

Observeu com cada taula particionada només conté les entrades que coincideixen amb els criteris que es defineixen en particionar. Així és com funciona la partició per llista.

2. Partició de rangs

Un altre criteri per crear particions és utilitzar l'opció RANGE. Per a això, hem d'especificar els valors inicial i final a utilitzar per a l'interval. Utilitzar aquest mètode és ideal quan es treballa amb dates.

La seva sintaxi per crear la taula principal és la següent:

CREATE TABLE nom_taula(tipus_dades columna1, tipus_dades columna2) PARTICIÓ PER RANG (clau_partició);

Vam crear la taula 'cust_orders' i la vam especificar per utilitzar la data com a 'partition_key'.

Per crear les particions, utilitzeu la sintaxi següent:

CREA LA TAULA taula_particions PARTICIÓ DE LA taula_principal PER A VALORS DE (valor_inici) A (valor_final);

Hem definit les nostres particions perquè funcionin trimestralment mitjançant la columna 'data'.

Després de crear totes les particions i inserir les dades, així es veu la nostra taula:

Si comprovem les entrades a les particions creades, comprovem que la nostra partició funciona i només tenim els registres adequats segons els criteris de partició que hem especificat. Per a totes les entrades noves que afegiu a la vostra taula, s'afegeixen automàticament a la partició corresponent.

3. Particionament hash

L'últim criteri de partició que parlarem és utilitzar hash. Creem ràpidament la taula principal utilitzant la sintaxi següent:

CREATE TABLE nom_taula(tipus_dades columna1, tipus_dades columna2) PARTICIÓ PER HASH (clau_partició);

Quan feu particions amb hash, heu de proporcionar el mòdul i la resta, les files que s'han de dividir pel valor hash de la vostra 'partition_key' especificada. Per al nostre cas, utilitzem un mòdul de 4.

La nostra sintaxi és la següent:

CREATE TABLE taula_particions PARTICIÓ DE taula_principal PER A VALORS AMB (MÒDUL num1, RESTA num2);

Les nostres particions són les següents:

Per a la 'main_table', conté les entrades que es mostren a continuació:

Per a les particions creades, podem accedir ràpidament a les seves entrades i verificar que la nostra partició funciona.

Conclusió

Les particions PostgreSQL són una manera útil d'optimitzar la base de dades per estalviar temps i millorar la fiabilitat. Hem parlat detalladament de la partició, incloent les diferents opcions disponibles. A més, vam proporcionar exemples sobre com implementar les particions. Prova-les!