Vydání PostgreSQL 12

Skupina vývojářů PostgreSQL oznámila vydání PostgreSQL 12, nejnovější verze systému pro správu relačních databází s otevřeným zdrojovým kódem.
V PostgreSQL 12 došlo k výraznému zlepšení výkonu dotazů – zejména to platí pro práci s velkými objemy dat, byla také optimalizována celková využitelnost diskového prostoru.

Mezi novými funkcemi:

  • implementace jazyka dotazů JSON Path (důležitá součást standardu SQL/JSON);
  • optimalizace vykonávání společných tabulkových výrazů (WITH);
  • podpora generovaných sloupců

Komunita také pokračuje v práci na rozšiřitelnosti a spolehlivosti PostgreSQL, rozvíjí podporu internacionalizace, možností autentizace a nabízí jednodušší cesty k administraci systému.

Tento release obsahuje implementaci rozhraní pro připojitelné úložné motory, což nyní vývojářům umožňuje vytvářet vlastní metody ukládání dat.

Vylepšení výkonu

PostgreSQL 12 zahrnuje zásadní zlepšení výkonu a údržby pro indexovací a sekvenční systémy.

Indexy B-tree — standardní typ indexování v PostgreSQL, byly optimalizovány ve verzi 12 pro zátěže, které zahrnují časté modifikace indexů. Použití referenčního testu TPC-C pro PostgreSQL 12 ukázalo snížení využití prostoru v průměru o 40 % a celkový nárůst výkonu dotazů.

Dotazy na sekciované tabulky získaly výrazná zlepšení, zejména pro tabulky skládající se z tisíců sekcí, které předpokládají práci pouze s omezenými částmi datových polí. Byla zlepšena výkonnost přidávání dat do sekciovaných tabulek pomocí INSERT a COPY, stejně jako možnost připojení nové sekce bez blokování vykonávaných dotazů.

V PostgreSQL 12 byly provedeny další vylepšení v indexování, která ovlivňují celkovou výkonnost, včetně:

  • snížení režijních nákladů při generování WAL pro typy indexů GiST, GIN a SP-GiST;
  • možnost vytvářet takzvané pokrývající indexy (covering indexes, nabídka INCLUDE) na GiST indexy;
  • možnost provádět dotazy „nejbližších sousedů“ (k-NN search) pomocí operatoru vzdálenosti () a využití indexů SP-GiST;
  • podporu sběru statistik nejběžnějších hodnot (most-common value, MCV) pomocí CREATE STATISTICS, což pomáhá získávat lepší plány vykonání dotazů při použití sloupců, jejichž hodnoty jsou nerovnoměrně rozloženy.

JIT kompilace s využitím LLVM, která se objevila v PostgreSQL 11, je nyní zapnuta ve výchozím nastavení. JIT kompilace umožňuje zvyšovat výkon při práci s výrazy ve WHERE, cílových seznamech, agregátech a některých interních operacích. Je dostupná, pokud jste zkompilovali PostgreSQL s LLVM nebo používáte balíček PostgreSQL, který byl vytvořen s povoleným LLVM.

Vylepšení schopností jazyka SQL a kompatibility se standardem.

V PostgreSQL 12 byla přidána možnost provádět dotazy na JSON dokumenty pomocí JSON path výrazů definovaných ve standardu SQL/JSON. Tyto dotazy mohou využívat stávající indexační mechanismy pro dokumenty uložené ve formátu JSONB pro efektivní extrakci dat.

Společné tabulkové výrazy, také známé jako dotazy s WITH, mohou v PostgreSQL 12 nyní být automaticky vykonávány s použitím substituce, což může pomoci zvýšit výkon mnoha existujících dotazů. V nové verzi může být část dotazu WITH vykonána se substitucí, pouze pokud není rekurzivní, nemá vedlejší účinky a je na ni odkazováno pouze jednou v následující části dotazu.

V PostgreSQL 12 se objevuje podpora „generovaných sloupců“. Tento typ sloupce, popsaný ve standardu SQL, vypočítává hodnotu na základě obsahu dalších sloupců ve stejné tabulce. V této verzi PostgreSQL podporuje „uložené generované sloupce“, kde se vypočítaná hodnota ukládá na disk.

Mezinárodní standardizace

PostgreSQL 12 rozšiřuje podporu ICU porovnání, což umožňuje uživatelům definovat „nedefinovaná porovnání“, která mohou například povolit srovnání bez ohledu na velikost písmen nebo diakritiku.

Autentizace

PostgreSQL rozšiřuje svou podporu spolehlivých metod autentizace prostřednictvím několika vylepšení, která zajišťují dodatečnou bezpečnost a funkčnost. V tomto vydání je představeno šifrování na straně klienta a serveru pro autentizaci přes rozhraní GSSAPI, jakož i schopnost PostgreSQL zjišťovat. servery LDAP, pokud byl PostgreSQL zkompilován s OpenLDAP.

Kromě toho PostgreSQL 12 nyní podporuje variantu vícefaktorové autentizace. Nyní může server PostgreSQL požadovat, aby klient poskytl platný SSL-certifikát s odpovídajícím uživatelským jménem pomocí clientcert=verify-full a kombinoval to s jednotlivým požadavkem na autentizační metodu (např. scram-sha-256).

Administrace

V PostgreSQL 12 byla přidána možnost provádět neblokující rekonstrukci indexů pomocí příkazu REINDEX CONCURRENTLY. To uživatelům umožňuje vyhnout se prostojům v práci DBMS při dlouhotrvající rekonstrukci indexů.

Kromě toho v PostgreSQL 12 můžete zapnout nebo vypnout kontrolní součty stránek v clusterech, které jsou vypnuté, pomocí příkazu pg_checksums. Dříve bylo možné zapnout kontrolní součty stránek — funkce, která pomáhá ověřit integritu dat uložených na disku — pouze v okamžiku inicializace clusteru PostgreSQL pomocí initdb.

Zdroj: linux.org.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster