Bonan vendredon al ĉiuj! Malpli kaj malpli da tempo restas antaŭ ol la kurso komenciĝas
En evolufazo
En PostgreSQL 10, ni vidis la naskiĝon de "deklara dispartigo", trajto desegnita por solvi multajn problemojn, kiuj estis nesolveblaj per la malnova hereda metodo. Ĉi tio kondukis al multe pli potenca ilo, kiu permesis al ni disigi datumojn horizontale!
Karakterizaĵa komparo
PostgreSQL 11 enkondukas imponan aron de novaj funkcioj, kiuj helpas plibonigi rendimenton kaj fari dividitajn tabelojn pli travideblaj al aplikaĵoj.
1. Uzante Limigajn Esceptojn
2. Aldonas nur nodojn
3. Nur por dividita tabelo referencanta ne-dispartita tabelo
4. Indeksoj devas enhavi ĉiujn ŝlosilajn kolumnojn de la sekcio
5. Sekciaj limigoj ambaŭflanke devas kongrui
Produkteco
Ni ankaŭ havas bonajn novaĵojn ĉi tie! Nova metodo aldonita WHERE
. La antaŭa algoritmo, siavice, kontrolis ĉiun sekcion por determini ĉu ĝi povis renkonti la kondiĉon WHERE
. Tio rezultigis kroman pliiĝon en planada tempo kiam la nombro da sekcioj pliiĝis.
En 9.6, kun dispartigo per heredo, vojigo de opoj en sekciojn estis tipe farita skribante ellasilfunkcion kiu enhavis serion de IF-deklaroj por enigi la opon en la ĝustan sekcion. Ĉi tiuj funkcioj povus esti tre malrapide plenumi. Kun deklara dispartigo aldonita en versio 10, tio funkcias multe pli rapide.
Uzante dividitan tablon kun 100 sekcioj, ni povas taksi la agadon de ŝarĝo de 10 milionoj da vicoj en tabelon kun 1 BIGINT-kolumno kaj 5 INT-kolumnoj.
Agado de pridemando de ĉi tiu tablo por trovi unu indeksitan rekordon kaj ekzekuti DML por manipuli unu rekordon (uzante nur 1 procesoron):
Ĉi tie ni povas vidi, ke la agado de ĉiu operacio signife pliiĝis ekde PG 9.6. Petoj SELECT
aspektas multe pli bone, precipe tiuj, kiuj kapablas ekskludi plurajn subdiskojn dum demanda planado. Ĉi tio signifas, ke la planisto povas preterlasi multan laboron, kiun ĝi devus esti farinta antaŭe. Ekzemple, vojoj ne plu estas konstruitaj por nenecesaj sekcioj.
konkludo
Tabla dispartigo komencas fariĝi tre potenca funkcio en PostgreSQL. Ĝi permesas vin rapide montri datumojn interrete kaj preni ĝin eksterrete sen atendi malrapidajn, amasajn DML-operaciojn por plenumi.. Ĉi tio ankaŭ signifas, ke rilataj datumoj povas esti konservitaj kune, tio signifas, ke la datumoj, kiujn vi bezonas, povas esti alireblaj multe pli efike. La plibonigoj faritaj en ĉi tiu versio ne estus eblaj sen la programistoj, recenzistoj kaj komitantoj, kiuj senlace laboris pri ĉiuj ĉi tiuj funkcioj.
Dankon al ili ĉiuj! PostgreSQL 11 aspektas mirinda!
Jen tiel mallonga sed sufiĉe interesa artikolo. Kunhavigu viajn komentojn kaj ne forgesu registriĝi
fonto: www.habr.com