Paçi një të premte të mrekullueshme të gjithëve! Gjithnjë e më pak kohë mbetet para fillimit të kursit
Në fazën e zhvillimit
Në PostgreSQL 10, ne pamë lindjen e "ndarjes deklarative", një veçori e krijuar për të zgjidhur shumë probleme që ishin të pazgjidhshme duke përdorur metodën e vjetër të trashëgimisë. Kjo çoi në një mjet shumë më të fuqishëm që na lejoi të ndajmë të dhënat horizontalisht!
Krahasimi i veçorive
PostgreSQL 11 prezanton një grup mbresëlënës karakteristikash të reja që ndihmojnë në përmirësimin e performancës dhe i bëjnë tabelat e ndara më transparente për aplikacionet.
1. Përdorimi i përjashtimeve kufizuese
2. Shton vetëm nyje
3. Vetëm për një tabelë të ndarë që i referohet një jo të ndarë
4. Indekset duhet të përmbajnë të gjitha kolonat kryesore të ndarjes
5. Kufizimet e seksioneve në të dyja anët duhet të përputhen
prodhimtari
Edhe këtu kemi lajme të mira! U shtua një metodë e re WHERE
. Algoritmi i mëparshëm, nga ana tjetër, kontrolloi çdo seksion për të përcaktuar nëse ai mund të përmbushte kushtin WHERE
. Kjo rezultoi në një rritje shtesë në kohën e planifikimit me rritjen e numrit të seksioneve.
Në 9.6, me ndarjen nëpërmjet trashëgimisë, kursimi i tuples në ndarje zakonisht bëhej duke shkruar një funksion aktivizues që përmbante një seri deklaratash IF për të futur tuplen në ndarjen e duhur. Këto funksione mund të jenë shumë të ngadalta për t'u ekzekutuar. Me ndarjen deklarative të shtuar në versionin 10, kjo funksionon shumë më shpejt.
Duke përdorur një tabelë të ndarë me 100 ndarje, ne mund të vlerësojmë performancën e ngarkimit të 10 milion rreshtave në një tabelë me 1 kolonë BIGINT dhe 5 kolona INT.
Performanca e kërkimit të kësaj tabele për të gjetur një rekord të indeksuar dhe për të ekzekutuar DML për të manipuluar një rekord (duke përdorur vetëm 1 procesor):
Këtu mund të shohim se performanca e secilit operacion është rritur ndjeshëm që nga PG 9.6. Kërkesat SELECT
duken shumë më mirë, veçanërisht ato që janë në gjendje të përjashtojnë ndarje të shumta gjatë planifikimit të pyetjeve. Kjo do të thotë që planifikuesi mund të kapërcejë shumë punë që duhet të kishte bërë më parë. Për shembull, shtigjet nuk ndërtohen më për seksione të panevojshme.
Përfundim
Ndarja e tabelave ka filluar të bëhet një veçori shumë e fuqishme në PostgreSQL. Kjo ju lejon të shfaqni shpejt të dhënat në internet dhe t'i merrni ato jashtë linje pa pritur për të përfunduar operacionet e ngadalta dhe masive DML.. Kjo gjithashtu do të thotë që të dhënat e lidhura mund të ruhen së bashku, që do të thotë se të dhënat që ju nevojiten mund të aksesohen në mënyrë shumë më efikase. Përmirësimet e bëra në këtë version nuk do të ishin të mundura pa zhvilluesit, rishikuesit dhe autorët që punuan pa u lodhur në të gjitha këto veçori.
Faleminderit të gjithëve! PostgreSQL 11 duket fantastike!
Këtu është një artikull kaq i shkurtër, por mjaft interesant. Ndani komentet tuaja dhe mos harroni të regjistroheni
Burimi: www.habr.com