PostgreSQL 11: Sektsioneerimise areng Postgres 9.6-st Postgres 11-ni

Ilusat reedet kĂ”igile! Aeg kursuse kĂ€ivitamiseks lĂ€heneb kiiresti. „Suhtelised andmebaasid“, seetĂ”ttu jagame tĂ€na veel ĂŒhe kasuliku materjali tĂ”lget teema kohta.

Arendamise protsessis PostgreSQL 11 tehti muljetavaldav töö tabelite sektsioneerimise parandamiseks. Tabelite sektsioneerimine on funktsioon, mis on PostgreSQLis eksisteerinud piisavalt kaua, kuid kui nii vĂ”ib öelda, polnud see sisuliselt olemas kuni 10. versioonini, kus see muutus tĂ”eliselt kasulikuks funktsiooniks. Me oleme varem öelnud, et tabelite pĂ€rimine on meie sektsioneerimise rakendus, ja see on tĂ”si. Ainult see meetod sundis teid tegema suurema osa tööst kĂ€sitsi. NĂ€iteks kui soovisite, et ridade sisestamine toimuks sektsioonides INSERT-idel, pidite seadistama kĂ€ivitajad, et see teie eest teha. PĂ€rimisega sektsioneerimine oli vĂ€ga aeglane ja keeruline, et arendada selle ĂŒle tĂ€iendavaid funktsioone.

PostgreSQL 10-s nĂ€gime „deklaratiivse sektsioneerimise“ tekkimist – funktsiooni, mis pidi lahendama paljusid probleeme, mis olid vanema pĂ€rimismeetodi kasutamise korral lahendamatu. See tĂ”i endaga kaasa palju vĂ”imsama tööriista, mis vĂ”imaldab meil andmeid horisontaalselt jagada!

Funktsioonide vÔrdlemine

PostgreSQL 11-s ilmus muljetavaldav hulk uusi funktsioone, mis aitavad suurendada sooritusvÔimet ja muuta sektsioneeritud tabelid rakendustele lÀbipaistvamaks.

PostgreSQL 11: Sektsioneerimise areng Postgres 9.6-st Postgres 11-ni
PostgreSQL 11: Sektsioneerimise areng Postgres 9.6-st Postgres 11-ni
PostgreSQL 11: Sektsioneerimise areng Postgres 9.6-st Postgres 11-ni
1. Kasutades piiravaid erandeid
2. Lisab ainult sÔlmed
3. Ainult sektsioneeritud tabel, mis viitab sektsioneerimata tabelile
4. Indeksid peavad sisaldama kÔiki sektsiooni vÔtmeveeru
5. Sektsiooni piirangud mÔlemal pool peavad kokku langema

TÔhusus

Siin on meil ka hÀid uudiseid! Lisatud on uus meetod sektsioonide eemaldamiseks. See uus algoritm suudab mÀÀrata sobivad sektsioonid, vaadates lÀbi pÀringu tingimuse KUS. Eelmise algoritmi puhul kontrolliti seevastu iga sektsiooni, et mÀÀrata, kas see vastab tingimusele KUS. See tÔi kaasa planeerimise aja lisanduse, kui sektsioonide arv kasvas.

Versioonis 9.6, pÀranditega sektsioneerimise korral, toimus ridade marsruutimine sektsioonis tavaliselt triggervaba funktsiooni kirjutamise teel, mis sisaldas IF-lauselise seeria, et sisestada rida Ôiges sektsioonis. Need funktsioonid vÔisid tÀitmisel olla vÀga aeglased. Deklaratiivse sektsioneerimise lisandumisega versioonis 10 töötas see palju kiiremini.

Kasutades sektsioneeritud tabelit, kus on 100 sektsiooni, saame hinnata 10 miljoni rea laadimise sooritust ĂŒhest BIGINT veerust ja 5 INT veerust.

PostgreSQL 11: Sektsioneerimise areng Postgres 9.6-st Postgres 11-ni

Selle tabeli pĂ€ringu soorituse kohta, et leida ĂŒks indekseeritud kirje ja teha DML, et manipuleerida ĂŒhe kirjega (kasutades ainult 1 protsessorit):

PostgreSQL 11: Sektsioneerimise areng Postgres 9.6-st Postgres 11-ni

Siin nÀeme, et iga operatsiooni sooritus on pÀrast PG 9.6 oluliselt paranenud. PÀringud SELECT nÀevad vÀlja palju paremad, eriti need, mis suudavad pÀringu planeerimise ajal vÀlistada mitmeid sektsioone. See tÀhendab, et planeerija vÔib jÀtta suure osa tööst vahele, mida ta varem tegema pidi. NÀiteks ei ehitata enam teid mittevajalikele sektsioonidele.

KokkuvÔte

Tabelite sektsioneerimine hakkab PostgreSQL-is muutuma vĂ€ga vĂ”imsaks funktsiooniks. See vĂ”imaldab kiiresti andmeid online'ist vĂ€lja tuua ja viia need offline'i, ootamata aeglaste massiliste DML operatsioonide lĂ”puleviimist.. See tĂ€hendab ka, et seotud andmeid saab hoida koos, st vajalikule andmele pÀÀseb oluliselt efektiivsemalt ligi. Selle versiooni tegemised oleksid olnud vĂ”imatud arendajate, ĂŒlevaatajate ja komponenditeĂ€nukate, kes pidevalt töötasid kĂ”igi nende funktsioonide kallal.
AitÀh neile kÔigile! PostgreSQL 11 paistab tÔeliselt fantastiline!

Siin on lĂŒhike, kuid ĂŒsna huvitav artikkel. Jagage oma kommentaare ja Ă€rge unustage registreeruda avatud uste pĂ€ev, mille raames tutvustatakse kursuse programmi ĂŒksikasjalikult.

Allikas: habr.com

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster