Vydanie PostgreSQL 12

Tím PostgreSQL oznámil vydanie PostgreSQL 12, najnovšej verzie open source systému na správu relačných databáz.
PostgreSQL 12 výrazne zlepšil výkon dotazov – najmä pri práci s veľkými objemami dát a celkovo optimalizoval aj využitie miesta na disku.

Medzi nové funkcie patrí:

  • implementácia dotazovacieho jazyka JSON Path (najdôležitejšia časť štandardu SQL/JSON);
  • optimalizácia vykonávania bežných tabuľkových výrazov (WITH);
  • podpora pre generované stĺpce

Komunita tiež pokračuje v práci na rozšíriteľnosti a spoľahlivosti PostgreSQL, rozvíjaní podpory pre internacionalizáciu, autentifikačných schopnostiach a poskytovaní jednoduchších spôsobov správy systému.

Toto vydanie obsahuje implementáciu rozhrania pre zásuvné úložné mechanizmy, ktoré teraz umožňuje vývojárom vytvárať vlastné metódy ukladania údajov.

Vylepšenia výkonu

PostgreSQL 12 obsahuje významné vylepšenia výkonu a údržby pre systémy indexovania a delenia.

Indexy B-tree, štandardný typ indexovania v PostgreSQL, boli vo verzii 12 optimalizované pre pracovné zaťaženia, ktoré zahŕňajú časté úpravy indexov. Použitie benchmarku TPC-C pre PostgreSQL 12 preukázalo priemerné 40% zníženie využitia priestoru a celkové zvýšenie výkonu dotazov.

Dotazy proti rozdeleným tabuľkám dostali viditeľné vylepšenia, najmä pre tabuľky pozostávajúce z tisícok oblastí, ktoré vyžadujú prácu len s obmedzenými časťami dátových polí. Bol vylepšený výkon pridávania údajov do rozdelených tabuliek pomocou INSERT a COPY, ako aj schopnosť pripojiť nový oddiel bez blokovania dotazov.

PostgreSQL 12 urobil ďalšie vylepšenia indexovania, ktoré ovplyvňujú celkový výkon, vrátane:

  • znížená réžia pri generovaní WAL pre typy indexov GiST, GIN a SP-GiST;
  • schopnosť vytvárať takzvané krycie indexy (klauzula INCLUDE) na indexoch GiST;
  • schopnosť vykonávať dopyty „najbližšieho suseda“ (hľadanie k-NN) pomocou operátora vzdialenosti () a pomocou indexov SP-GiST;
  • podpora zhromažďovania štatistík najbežnejších hodnôt (MCV) pomocou CREATE STATISTICS, čo pomáha získať lepšie plány dotazov pri použití stĺpcov, ktorých hodnoty sú nerovnomerne rozdelené.

Kompilácia JIT pomocou LLVM, predstavená v PostgreSQL 11, je teraz štandardne povolená. Kompilácia JIT zlepšuje výkon pri práci s výrazmi v klauzulách WHERE, cieľových zoznamoch, agregátoch a niektorých interných operáciách. Je k dispozícii, ak ste skompilovali PostgreSQL s LLVM alebo používate balík PostgreSQL, ktorý bol vytvorený s povoleným LLVM.

Vylepšenia možností jazyka SQL a štandardnej kompatibility

PostgreSQL 12 zaviedol možnosť dotazovať sa na dokumenty JSON pomocou výrazov cesty JSON definovaných v štandarde SQL/JSON. Takéto dotazy môžu využiť existujúce mechanizmy indexovania pre dokumenty uložené vo formáte JSONB na efektívne získavanie údajov.

Bežné tabuľkové výrazy, známe aj ako dotazy WITH, je teraz možné automaticky vykonávať pomocou substitúcie v PostgreSQL 12, čo zase môže pomôcť zlepšiť výkon mnohých existujúcich dotazov. V novej verzii môže byť substitučná časť dotazu WITH vykonaná len vtedy, ak nie je rekurzívna, nemá žiadne vedľajšie účinky a odkazuje sa na ňu iba raz v nasledujúcej časti dotazu.

PostgreSQL 12 zavádza podporu pre „generované stĺpce“. Tento typ stĺpca, popísaný v štandarde SQL, vypočítava hodnotu na základe obsahu iných stĺpcov v tej istej tabuľke. PostgreSQL v tejto verzii podporuje „uložené vygenerované stĺpce“, kde sa vypočítaná hodnota ukladá na disk.

Internacionalizácia

PostgreSQL 12 rozširuje podporu pre porovnávanie na JIS tým, že používateľom umožňuje definovať „nedeterministické porovnávania“, ktoré môžu napríklad umožniť porovnávanie bez rozlišovania malých a veľkých písmen alebo zvýraznenia.

overenie pravosti

PostgreSQL rozširuje svoju podporu pre silné metódy autentifikácie niekoľkými vylepšeniami, ktoré poskytujú dodatočnú bezpečnosť a funkčnosť. Toto vydanie zavádza šifrovanie na strane klienta a na strane servera pre autentifikáciu cez rozhrania GSSAPI, ako aj schopnosť PostgreSQL zisťovať LDAP servery, keď je PostgreSQL kompilovaný s OpenLDAP.

PostgreSQL 12 teraz navyše podporuje možnosť viacfaktorovej autentifikácie. Server PostgreSQL teraz môže od klienta vyžadovať, aby poskytol platný certifikát SSL s príslušným používateľským menom pomocou clientcert=verify-full, a spojiť to s požiadavkou na samostatnú metódu autentifikácie (napr. scram-sha-256).

Administrácia

PostgreSQL 12 zaviedol možnosť vykonávať neblokujúce prestavby indexov pomocou príkazu REINDEX CONCURRENTLY. To umožňuje používateľom vyhnúť sa výpadkom DBMS počas zdĺhavého prestavovania indexov.

Okrem toho v PostgreSQL 12 môžete povoliť alebo zakázať kontrolné súčty stránok v klastri vypnutia pomocou príkazu pg_checksums. Predtým bolo možné kontrolné súčty stránok, funkciu, ktorá pomáha overiť integritu údajov uložených na disku, povoliť iba vtedy, keď bol klaster PostgreSQL inicializovaný pomocou initdb.

Zdroj: linux.org.ru

Pridať komentár