In moaie freed allegear! Hieltyd minder tiid bliuwt foardat de kursus begjint
Op ûntwikkeling poadium
Yn PostgreSQL 10 seagen wy de berte fan "declarative partitioning," in funksje ûntworpen om in protte problemen op te lossen dy't ûnoplosber wiene mei de âlde erfskipmetoade. Dit late ta in folle machtiger ark dat ús tastien om gegevens horizontaal te splitsen!
Feature ferliking
PostgreSQL 11 yntrodusearret in yndrukwekkende set fan nije funksjes dy't helpe ferbetterjen prestaasjes en meitsje partitioned tabellen mear transparant foar applikaasjes.
1. Mei help fan beheinende útsûnderings
2. Foeget allinnich knopen
3. Allinne foar in partitioned tabel ferwiist nei in net-partitioned
4. Yndeksen moatte befetsje alle kaai kolommen fan de dieling
5. Seksje beheinings oan beide kanten moatte oerien
Produktiviteit
Wy hawwe hjir ek goed nijs! Nije metoade tafoege WHERE
. It foarige algoritme kontrolearre op syn beurt elke seksje om te bepalen oft it oan de betingst koe foldwaan WHERE
. Dit resultearre yn in ekstra ferheging fan planning tiid as it oantal seksjes tanommen.
Yn 9.6, mei partitionearring fia erfskip, waard it routing fan tuples yn partysjes typysk dien troch it skriuwen fan in triggerfunksje dy't in searje IF-útspraken befette om de tuple yn de juste partysje yn te foegjen. Dizze funksjes kinne heul traach wêze om út te fieren. Mei deklarative partitioning tafoege yn ferzje 10, wurket dit folle rapper.
Mei help fan in partitioned tabel mei 100 partysjes, kinne wy evaluearje de prestaasjes fan it laden fan 10 miljoen rigen yn in tabel mei 1 BIGINT kolom en 5 INT kolommen.
Prestaasje fan it opfreegjen fan dizze tabel om ien yndeksearre record te finen en DML út te fieren om ien record te manipulearjen (mei mar 1 prosessor):
Hjir kinne wy sjogge dat de prestaasjes fan elke operaasje signifikant tanommen binne sûnt PG 9.6. Fersiken SELECT
sjoch folle better, benammen dyjingen dy't by steat binne om útslute meardere partysjes tidens query planning. Dit betsjut dat de planner in soad wurk kin oerslaan dat it earder dien hie. Der wurde bygelyks gjin paden mear oanlein foar ûnnedige stikken.
konklúzje
Tabelferdieling begjint in heul krêftige funksje te wurden yn PostgreSQL. It lit jo gegevens fluch online werjaan en offline nimme sûnder te wachtsjen op stadige, massive DML-operaasjes om te foltôgjen.. Dit betsjut ek dat relatearre gegevens tegearre kinne wurde opslein, wat betsjuttet dat de gegevens dy't jo nedich binne folle effisjinter tagonklik wurde kinne. De ferbetteringen makke yn dizze ferzje soene net mooglik west hawwe sûnder de ûntwikkelders, resinsinten en committers dy't ûnfermindere wurken oan al dizze funksjes.
Mei tank oan harren allegearre! PostgreSQL 11 sjocht der fantastysk út!
Hjir is sa'n koart, mar frij nijsgjirrich artikel. Diel jo opmerkingen en ferjit net oan te melden foar
Boarne: www.habr.com