PostgreSQL 12 leidimas

„PostgreSQL“ komanda paskelbė apie „PostgreSQL 12“ – naujausios atvirojo kodo reliacinės duomenų bazių valdymo sistemos versijos – išleidimą.
„PostgreSQL 12“ žymiai pagerino užklausų našumą – ypač dirbant su dideliais duomenų kiekiais, taip pat apskritai optimizavo vietos diske naudojimą.

Naujos funkcijos apima:

  • JSON Path užklausos kalbos (svarbiausia SQL/JSON standarto dalis) įdiegimas;
  • bendrų lentelių išraiškų vykdymo optimizavimas (WITH);
  • sugeneruotų stulpelių palaikymas

Bendruomenė taip pat ir toliau dirba dėl PostgreSQL išplėtimo ir patikimumo, plėtodama internacionalizavimo palaikymą, autentifikavimo galimybes ir suteikdama paprastesnius sistemos administravimo būdus.

Šioje laidoje įdiegta prijungiamų saugojimo variklių sąsaja, kuri dabar leidžia kūrėjams kurti savo duomenų saugojimo metodus.

Našumo patobulinimai

PostgreSQL 12 apima reikšmingus indeksavimo ir skaidymo sistemų našumo ir priežiūros patobulinimus.

B-medžio indeksai, standartinis PostgreSQL indeksavimo tipas, buvo optimizuoti 12 versijoje darbo krūviams, kurie apima dažnus indekso pakeitimus. Naudojant TPC-C etaloną, skirtą „PostgreSQL 12“, vietos sunaudojimas sumažėjo vidutiniškai 40 %, o bendras užklausos našumas padidėjo.

Suskaidytų lentelių užklausos buvo pastebimai patobulintos, ypač lentelėse, susidedančiose iš tūkstančių skaidinių, kuriems reikia dirbti tik su ribotomis duomenų masyvų dalimis. Patobulintas duomenų įtraukimas į skaidytas lenteles naudojant INSERT ir COPY, taip pat galimybė pridėti naują skaidinį neblokuojant vykdomų užklausų.

„PostgreSQL 12“ padarė papildomų indeksavimo patobulinimų, kurie turi įtakos bendram našumui, įskaitant:

  • sumažintos pridėtinės išlaidos generuojant WAL GiST, GIN ir SP-GiST indekso tipams;
  • galimybė ant GiST indeksų sukurti vadinamuosius apimančius indeksus (INCLUDE sąlyga);
  • galimybė atlikti „artimiausio kaimyno“ užklausas (k-NN paieška) naudojant atstumo operatorių (<->) ir naudojant SP-GiST indeksus;
  • palaikymas dažniausiai naudojamų verčių (MCV) statistikos rinkimui naudojant CREATE STATISTICS, kuri padeda gauti geresnius užklausų planus naudojant stulpelius, kurių reikšmės paskirstytos netolygiai.

JIT kompiliavimas naudojant LLVM, įdiegtas PostgreSQL 11, dabar įgalintas pagal numatytuosius nustatymus. JIT kompiliavimas pagerina našumą dirbant su WHERE sąlygose, tikslinių sąrašų, agregatų ir kai kurių vidinių operacijų išraiškomis. Jis pasiekiamas, jei sukompiliavote PostgreSQL su LLVM arba naudojate PostgreSQL paketą, kuris buvo sukurtas su įgalintu LLVM.

SQL kalbos galimybių ir standartinio suderinamumo patobulinimai

PostgreSQL 12 pristatė galimybę pateikti JSON dokumentų užklausas naudojant JSON kelio išraiškas, apibrėžtas SQL/JSON standarte. Tokios užklausos gali panaudoti esamus JSONB formatu saugomų dokumentų indeksavimo mechanizmus, kad būtų galima efektyviai gauti duomenis.

Įprastos lentelės išraiškos, taip pat žinomos kaip WITH užklausos, dabar gali būti automatiškai vykdomos naudojant PostgreSQL 12 pakeitimą, o tai savo ruožtu gali padėti pagerinti daugelio esamų užklausų našumą. Naujoje versijoje užklausos WITH pakeitimo dalis gali būti vykdoma tik tuo atveju, jei ji nėra pasikartojanti, neturi šalutinio poveikio ir nurodoma tik vieną kartą kitoje užklausos dalyje.

„PostgreSQL 12“ pristato „sugeneruotų stulpelių“ palaikymą. Šis stulpelių tipas, aprašytas SQL standarte, apskaičiuoja reikšmę pagal kitų tos pačios lentelės stulpelių turinį. Šioje versijoje „PostgreSQL“ palaiko „saugomus sugeneruotus stulpelius“, kur apskaičiuota vertė saugoma diske.

Internacionalizacija

„PostgreSQL 12“ išplečia ICU lyginimo palaikymą, leisdama vartotojams apibrėžti „nedeterministinius palyginimus“, kurie, pavyzdžiui, gali leisti lyginti didžiąsias ir mažąsias raides arba kirtį.

Autentifikavimas

„PostgreSQL“ išplečia savo tvirtų autentifikavimo metodų palaikymą keliais patobulinimais, kurie suteikia papildomo saugumo ir funkcionalumo. Šioje laidoje pristatomas kliento ir serverio šifravimas autentifikavimui per GSSAPI sąsajas, taip pat galimybė PostgreSQL aptikti LDAP serverius, kai PostgreSQL kompiliuojamas su OpenLDAP.

Be to, PostgreSQL 12 dabar palaiko kelių veiksnių autentifikavimo parinktį. Dabar „PostgreSQL“ serveris gali reikalauti, kad klientas pateiktų galiojantį SSL sertifikatą su atitinkamu vartotojo vardu, naudojant clientcert=verify-full, ir derinti tai su atskiru autentifikavimo metodo reikalavimu (pvz., scram-sha-256).

Administravimas

PostgreSQL 12 pristatė galimybę atlikti neblokuojančius indekso atkūrimus naudojant REINDEX COCURRENTLY komandą. Tai leidžia vartotojams išvengti DBVS prastovų ilgo indekso atkūrimo metu.

Be to, PostgreSQL 12 galite įjungti arba išjungti puslapio kontrolines sumas išjungimo klasteryje naudodami komandą pg_checksums. Anksčiau puslapių kontrolines sumas, funkciją, padedančią patikrinti diske saugomų duomenų vientisumą, buvo galima įjungti tik tada, kai PostgreSQL klasteris buvo inicijuotas naudojant initdb.

Šaltinis: linux.org.ru

Добавить комментарий