PostgreSQL'i arendajate grupp teatas PostgreSQL 12 vĂ€ljaandmisest, mis on uusim avatud lĂ€htekoodiga relatsiooniliste andmebaaside haldamise sĂŒsteem.
PostgreSQL 12 toob mĂ€rkimisvÀÀrseid parandusi pĂ€ringute tĂ”hususes â eriti suurte andmehulkade töötlemisel, samuti on ĂŒldiselt optimeeritud kettaruumi kasutamine.
Uute vÔimaluste seas:
- JSON Path pÀringukeele rakendamine (SQL/JSON standardi tÀhtsaim osa);
- Ăldiste tabeli vĂ€ljendite (WITH) tĂ€itmise optimeerimine;
- Genereeritud veergude tugi.
Kogukond jĂ€tkab PostgreSQL laienevuse ja usaldusvÀÀrsuse arendamist, tĂ€iustades rahvusvahelistumise ja autentimise vĂ”imalusi, pakkudes lihtsamaid sĂŒsteemi haldamise viise.
Sellesse vĂ€ljaandesse on lisatud ĂŒhenduste salvestamisprogrammi liidese rakendamine, mis vĂ”imaldab arendajatel luua oma andmete salvestamise meetodeid.
TÔhususe parandused
PostgreSQL 12 sisaldab mĂ€rkimisvÀÀrseid jĂ”udluse ja hoolduskavade tĂ€iustusi indekseerimis- ja jaotussĂŒsteemides.
B-tree indeksid â PostgreSQL'i standardne indekseerimistĂŒĂŒp â on versioonis 12 optimeeritud indeksite sagedaste muutmiste jaoks. PostgreSQL 12 baasproov TPC-C nĂ€itas keskmiselt 40% vĂ€hem kettakuormust ja ĂŒldist pĂ€ringute tĂ”hususe kasvu.
Jaotatud tabelite pĂ€ringud on saanud mĂ€rkimisvÀÀrseid parendusi, eriti tuhandetest sektsioonidest koosnevates tabelites, mis vĂ”imaldavad töötada ainult piiratud andmehulkadega. Andmete lisamine jaotatud tabelitesse INSERT ja COPY abil on paranenud, samuti on nĂŒĂŒd vĂ”imalik lisada uut sektsiooni ilma kĂ€imasolevaid pĂ€ringuid blokeerimata.
PostgreSQL 12-s on toimunud tĂ€iendavaid tĂ€iustusi indekseerimises, mis mĂ”jutavad ĂŒldist jĂ”udlust, sealhulgas:
- Wal'i genereerimise kulude vĂ€hendamine GiST, GIN ja SP-GiST indeksitĂŒĂŒbi jaoks;
- VÔimalus luua nn kattev indeks (covering indexes, INCLUDE ettepanek) GiST-indeksitele;
- VĂ”imalus teha âlĂ€hedaste naabriteâ pĂ€ringuid (k-NN search) vahemaa operaatori (<->) ja SP-GiST indeksite kasutamisega.
- toetamine statistika kogumise kĂ”ige levinumate vÀÀrtuste (most-common value, MCV) jaoks CREATE STATISTICS abil, mis aitab saavutada paremaid pĂ€ringute tĂ€itmisplaane, kui kasutatakse veerge, mille vÀÀrtused on ebaĂŒhtlaselt jaotunud.
JIT-kompileerimine LLVM-i kasutamisega, mis on ilmunud PostgreSQL 11-s, on nĂŒĂŒd vaikimisi sisse lĂŒlitatud. JIT-kompileerimine vĂ”imaldab suurendada jĂ”udlust vĂ€ljenditega, mis asuvad WHERE-klauslites, sihtriikide loetledes, agregaatides ja mĂ”ningates sisemistes toimingutes. See on saadaval, kui olete PostgreSQL-i kompileerinud koos LLVM-iga vĂ”i kasutate PostgreSQL-i paketti, mis on loodud LLVM-i toetamisega.
SQL keele ja standardiga ĂŒhilduvuse parendamine.
PostgreSQL 12-s on vÔimalik esitada pÀringuid JSON-dokumentide kohta JSON Path vÀljendite abil, nagu on mÀÀratletud SQL/JSON standardis. Sellised pÀringud saavad kasutada olemasolevaid indekseerimise mehhanisme JSONB formaadis salvestatud dokumentide jaoks, et tÔhusalt andmeid vÀlja vÔtta.
Tavalised tabeli vĂ€ljendused, tuntud ka kui WITH-klausliga pĂ€ringud, saavad PostgreSQL 12-s nĂŒĂŒd automaatselt töötada asendamisega, mis omakorda vĂ”ib aidata paljude olemasolevate pĂ€ringute jĂ”udlust parandada. Uues versioonis saab osa WITH-pĂ€ringust kĂ€ivitada asendamisega, kui see ei ole rekursiivne, ei oma kĂ”rvalmĂ”jusid ja sellele viidatakse ainult korra jĂ€rgmises pĂ€ringu osas.
PostgreSQL 12-s tuleb toetuse alla "loovatavad veerud". SQL-standardis kirjelduse kohaselt arvutab see veeru vÀÀrtuse pÔhinedes teiste veergude sisule samas tabelis. Selles versioonis toetab PostgreSQL "salvestatud loodavaid veerge", kus arvutatud vÀÀrtus salvestatakse kettale.
Internatsionaliseerimine
PostgreSQL 12 laiendab ICU-vastavuse toetust, vÔimaldades kasutajatel mÀÀrata "mugandamata vastavusi", mis vÔivad nÀiteks lubada mittekirjakuuluvusega vÔi rÔhutuse eiramise vÔrdlusi.
Ahnikeerimine
PostgreSQL laiendab oma toetust usaldusvÀÀrsetele autentimise meetoditele mitmete tĂ€iustustega, mis tagavad tĂ€iendava turvalisuse ja funktsionaalsuse. KĂ€esolevas vĂ€ljaandes on tutvustatud kliendi ja serveri kĂŒlgset krĂŒpteerimist autentimiseks GSSAPI liidestega, samuti PostgreSQLi vĂ”imalust tuvastada serverid LDAP, kui PostgreSQL on koostatud OpenLDAPiga.
Lisaks toetab PostgreSQL 12 nĂŒĂŒd mitme faktori autentimise varianti. NĂŒĂŒd vĂ”ib PostgreSQL server nĂ”uda kliendilt kehtiva SSL-sertifikaadi esitamist vastava kasutajanimega, kasutades clientcert=verify-full, ja kombineerida seda eraldi autentimismeetodi nĂ”udmisega (nĂ€iteks scram-sha-256).
Haldamine
PostgreSQL 12 on saanud vÔimaluse teostada mitteblokeerivat indeksite uuendamist kÀsu REINDEX CONCURRENTLY abil. See vÔimaldab kasutajatel vÀltida andmebaasi töös seiskumist pikaajalise indeksite uuendamise korral.
Lisaks saab PostgreSQL 12 klastri, mis on vĂ€lja lĂŒlitatud, lehekĂŒlje kontrollsumma lubada vĂ”i keelata pg_checksums kĂ€su abil. Varasemalt sai lehekĂŒlje kontrollsummasid â funktsioon, mis aitab kontrollida kettale salvestatud andmete terviklikkust â lubada ainult PostgreSQL klastri initsialiseerimise ajal initdb abil.
Allikas: linux.org.ru
