Gražaus penktadienio visiems! Iki kurso pradžios lieka vis mažiau laiko
Plėtros stadijoje
„PostgreSQL 10“ pamatėme, kaip atsirado „deklaratyvus skaidymas“ – funkcija, skirta daugeliui problemų, kurios buvo neišspręstos naudojant senąjį paveldėjimo metodą, išspręsti. Tai leido sukurti daug galingesnį įrankį, kuris leido mums padalinti duomenis horizontaliai!
Funkcijų palyginimas
„PostgreSQL 11“ pristato įspūdingą naujų funkcijų rinkinį, padedantį pagerinti našumą ir padaryti skaidytas lenteles skaidresnėmis programoms.
1. Ribojančių išimčių naudojimas
2. Prideda tik mazgus
3. Tik suskaidytai lentelei, nurodančiai neskaidytą
4. Rodyklėse turi būti visi pagrindiniai skaidinio stulpeliai
5. Atkarpų apribojimai abiejose pusėse turi sutapti
Našumas
Čia taip pat turime gerų naujienų! Pridėtas naujas metodas WHERE
. Ankstesnis algoritmas savo ruožtu patikrino kiekvieną skyrių, kad nustatytų, ar jis gali atitikti sąlygą WHERE
. Dėl to, didėjant sekcijų skaičiui, papildomai pailgėjo planavimo laikas.
9.6 versijoje, suskirstant skaidinius paveldėjimo būdu, sekų nukreipimas į skaidinius paprastai buvo atliekamas parašant trigerio funkciją, kurioje buvo IF sakinių serija, skirta įterpti seką į tinkamą skaidinį. Šios funkcijos gali būti vykdomos labai lėtai. 10 versijoje pridėjus deklaratyvų skaidymą, tai veikia daug greičiau.
Naudodami padalintą lentelę su 100 skaidinių, galime įvertinti 10 milijonų eilučių įkėlimo į lentelę su 1 BIGINT stulpeliu ir 5 INT stulpeliais našumą.
Šios lentelės užklausos našumas norint rasti vieną indeksuotą įrašą ir vykdyti DML, kad būtų galima manipuliuoti vienu įrašu (naudojant tik 1 procesorių):
Čia matome, kad kiekvienos operacijos našumas žymiai padidėjo nuo PG 9.6. Prašymai SELECT
atrodo daug geriau, ypač tie, kurie planuojant užklausą gali išskirti kelis skaidinius. Tai reiškia, kad planuotojas gali praleisti daug darbų, kuriuos turėjo atlikti anksčiau. Pavyzdžiui, nebereikalingoms atkarpoms nutiesti takai.
išvada
Lentelių skaidymas pradeda tapti labai galinga PostgreSQL funkcija. Tai leidžia greitai rodyti duomenis internete ir perkelti juos neprisijungus nelaukiant, kol bus baigtos lėtos, didžiulės DML operacijos.. Tai taip pat reiškia, kad susiję duomenys gali būti saugomi kartu, o tai reiškia, kad reikiamus duomenis galima pasiekti daug efektyviau. Šios versijos patobulinimai nebūtų buvę įmanomi be kūrėjų, apžvalgininkų ir įsipareigojusių, kurie nenuilstamai dirbo su visomis šiomis funkcijomis.
Ačiū jiems visiems! PostgreSQL 11 atrodo fantastiškai!
Štai toks trumpas, bet gana įdomus straipsnis. Pasidalykite savo komentarais ir nepamirškite užsiregistruoti
Šaltinis: www.habr.com