PostgreSQL 11: Postgres 9.6tik Postgres 11ra partizioen bilakaera

Ondo pasa ostirala guztioi! Gero eta denbora gutxiago geratzen da ikastaroa abian jartzeko "DBMS erlazionala", beraz, gaur gaiari buruzko beste material baliagarri baten itzulpena partekatzen ari gara.

Garapen fasean PostgreSQL 11 Lan ikusgarria egin da taularen partizioa hobetzeko. Banaketa taulak - PostgreSQL-en denbora luzez egon zen funtzio bat da, baina, nolabait esateko, funtsean ez zen existitu 10. bertsiora arte, zeinetan oso funtzio erabilgarria bihurtu zen. Aurretik adierazi genuen taularen herentzia gure partizioaren ezarpena dela, eta hori egia da. Metodo honek bakarrik behartu zintuen lan gehienak eskuz egitera. Esate baterako, txertatu bitartean tuplak ataletan txertatzea nahi bazenu, abiarazleak konfiguratu beharko zenituzke zuretzat hori egiteko. Herentziaren bidez zatitzea oso motela eta zaila zen funtzionalitate gehigarriak garatzea.

PostgreSQL 10-n, "partizio deklaratiboa" jaio zela ikusi genuen, herentzia metodo zaharra erabiliz konpon ezinak ziren arazo asko ebazteko diseinatutako funtzioa. Horrek datuak horizontalki banatzeko aukera eman zigun tresna askoz indartsuagoa ekarri zuen!

Ezaugarrien alderaketa

PostgreSQL 11-ek funtzio berrien multzo ikusgarria aurkezten du, errendimendua hobetzen laguntzen dutenak eta zatitutako taulak aplikazioetarako gardenago bihurtzen laguntzen dutenak.

PostgreSQL 11: Postgres 9.6tik Postgres 11ra partizioen bilakaera
PostgreSQL 11: Postgres 9.6tik Postgres 11ra partizioen bilakaera
PostgreSQL 11: Postgres 9.6tik Postgres 11ra partizioen bilakaera
1. Salbuespen mugatzaileak erabiltzea
2. Nodoak bakarrik gehitzen ditu
3. Partizionatu gabeko taula bat aipatzen duen taula baterako bakarrik
4. Indizeek partizioaren gako-zutabe guztiak eduki behar dituzte
5. Bi aldeetako sekzio murrizketak bat etorri behar dira

produktibitatea

Hemen ere berri onak ditugu! Metodo berria gehitu da atalak ezabatuz. Algoritmo berri honek atal egokiak zehaztu ditzake kontsulta-baldintza ikusita WHERE. Aurreko algoritmoak, berriz, atal bakoitza egiaztatu zuen baldintza bete zezakeen ala ez zehazteko WHERE. Horrek plangintza-denbora gehitzea eragin zuen, atal kopurua handitu ahala.

9.6-n, herentzia bidezko partizioarekin, tuplak partizioetara bideratzea normalean IF adierazpen batzuk zituen abiarazle-funtzioa idatziz egiten zen tupla partizio egokian txertatzeko. Funtzio hauek oso motelak izan daitezke exekutatzen. 10. bertsioan partizio deklaratiboa gehituta, honek askoz azkarrago funtzionatzen du.

100 partizio dituen taula partizionatu bat erabiliz, 10 milioi errenkada kargatzeko errendimendua ebaluatu dezakegu BIGINT zutabe 1 eta 5 INT zutabe dituen taula batean.

PostgreSQL 11: Postgres 9.6tik Postgres 11ra partizioen bilakaera

Taula hau kontsultatzeko errendimendua indexatutako erregistro bat aurkitzeko eta DML exekutatzeko erregistro bat manipulatzeko (prozesadore bakarra erabiliz):

PostgreSQL 11: Postgres 9.6tik Postgres 11ra partizioen bilakaera

Hemen ikus dezakegu eragiketa bakoitzaren errendimendua nabarmen handitu dela PG 9.6tik aurrera. Eskaerak SELECT itxura askoz hobea, batez ere, kontsultaren planifikazioan hainbat partizio baztertzeko gai direnak. Horrek esan nahi du programatzaileak aurretik egin beharko lukeen lan asko saltatu dezakeela. Esaterako, jada ez dira alferrikako zatietarako bideak eraikitzen.

Ondorioa

Taulen partizioa PostgreSQL-en oso funtzio indartsua izaten hasi da. Datuak linean azkar bistaratzeko eta lineaz kanpo ateratzeko aukera ematen du, DML eragiketa mantso eta motelak amaituko diren itxaron gabe.. Horrek esan nahi du erlazionatutako datuak elkarrekin gorde daitezkeela, hau da, behar dituzun datuak askoz eraginkorrago atzi daitezke. Bertsio honetan egindako hobekuntzak ezin izango lirateke eginbide hauetan guztietan etengabe lan egin duten garatzaile, berrikusle eta batzordekiderik gabe.
Eskerrik asko guztioi! PostgreSQL 11 itxura bikaina da!

Hona hemen artikulu laburra baina nahiko interesgarria. Partekatu zure iruzkinak eta ez ahaztu izena emateaz Ate irekien eguna, zeinaren barruan ikastaroen programa zehatz-mehatz azalduko da.

Iturria: www.habr.com

Gehitu iruzkin berria