Rilaxx ta' PostgreSQL 12

It-tim PostgreSQL ħabbar ir-rilaxx ta 'PostgreSQL 12, l-aħħar verżjoni tas-sistema ta' ġestjoni tad-database relazzjonali ta 'sors miftuħ.
PostgreSQL 12 tejbet b'mod sinifikanti l-prestazzjoni tal-mistoqsijiet - speċjalment meta taħdem ma 'volumi kbar ta' dejta, u ottimizza wkoll l-użu tal-ispazju tad-diska b'mod ġenerali.

Karatteristiċi ġodda jinkludu:

  • implimentazzjoni tal-lingwa tal-mistoqsija JSON Path (l-aktar parti importanti tal-istandard SQL/JSON);
  • ottimizzazzjoni tal-eżekuzzjoni ta' espressjonijiet ta' tabella komuni (WITH);
  • appoġġ għall-kolonni ġenerati

Il-komunità tkompli taħdem ukoll fuq l-estensibilità u l-affidabbiltà ta 'PostgreSQL, tiżviluppa appoġġ għall-internazzjonalizzazzjoni, kapaċitajiet ta' awtentikazzjoni, u tipprovdi modi aktar faċli biex tamministra s-sistema.

Dan ir-rilaxx jinkludi l-implimentazzjoni ta 'interface għal magni ta' ħażna li jistgħu jiġu pplaggjati, li issa tippermetti lill-iżviluppaturi joħolqu l-metodi ta 'ħażna tad-dejta tagħhom stess.

Titjib fil-prestazzjoni

PostgreSQL 12 jinkludi titjib sinifikanti fil-prestazzjoni u l-manutenzjoni għas-sistemi ta’ indiċjar u qsim.

L-indiċijiet tas-siġra B, it-tip ta 'indiċjar standard f'PostgreSQL, ġew ottimizzati fil-verżjoni 12 għal xogħolijiet li jinvolvu modifiki frekwenti tal-indiċi. L-użu tal-punt ta 'referenza TPC-C għal PostgreSQL 12 wera tnaqqis medju ta' 40% fl-użu tal-ispazju u żieda ġenerali fil-prestazzjoni tal-mistoqsijiet.

Mistoqsijiet kontra tabelli diviżorji rċevew titjib notevoli, speċjalment għal tabelli li jikkonsistu f'eluf ta' diviżorji li jeħtieġu xogħol b'partijiet limitati biss tal-arrays tad-dejta. Il-prestazzjoni taż-żieda tad-dejta mat-tabelli diviżorji bl-użu INSERT u KOPJA tjiebet, kif ukoll il-kapaċità li tehmeż partizzjoni ġdida mingħajr ma timblokka l-mistoqsijiet.

PostgreSQL 12 għamel titjib addizzjonali fl-indiċjar li jkollu impatt fuq il-prestazzjoni ġenerali, inkluż:

  • overhead imnaqqas meta jiġġenera WAL għal tipi ta 'indiċi GiST, GIN u SP-GiST;
  • l-abbiltà li jinħolqu l-hekk imsejħa indiċi ta' kopertura (klawsola INCLUDE) fuq indiċi GiST;
  • l-abbiltà li twettaq mistoqsijiet "l-eqreb ġar" (tfittxija k-NN) bl-użu tal-operatur tad-distanza (<->) u bl-użu tal-indiċi SP-GiST;
  • appoġġ għall-ġbir tal-istatistika tal-aktar valur komuni (MCV) bl-użu ta’ CREATE STATISTICS, li jgħin biex jinkisbu pjanijiet ta’ mistoqsijiet aħjar meta jintużaw kolonni li l-valuri tagħhom huma mqassma b’mod irregolari.

Il-kumpilazzjoni JIT li tuża LLVM, introdotta f'PostgreSQL 11, issa hija attivata b'mod awtomatiku. Il-kumpilazzjoni JIT ittejjeb il-prestazzjoni meta taħdem ma 'espressjonijiet fi klawsoli WHERE, listi ta' mira, aggregati, u xi operazzjonijiet interni. Huwa disponibbli jekk ikkumpilajt PostgreSQL b'LLVM jew qed tuża pakkett PostgreSQL li nbena b'LLVM attivat.

Titjib fil-kapaċitajiet tal-lingwa SQL u kompatibilità standard

PostgreSQL 12 introduċa l-abbiltà li jfittex dokumenti JSON bl-użu ta 'espressjonijiet ta' mogħdija JSON definiti fl-istandard SQL/JSON. Mistoqsijiet bħal dawn jistgħu jisfruttaw mekkaniżmi ta 'indiċjar eżistenti għal dokumenti maħżuna fil-format JSONB biex tkun irkuprata b'mod effiċjenti d-dejta.

Espressjonijiet ta 'tabella komuni, magħrufa wkoll bħala WITH queries, issa jistgħu jiġu eżegwiti awtomatikament bl-użu ta' sostituzzjoni f'PostgreSQL 12, li min-naħa tagħha tista 'tgħin ittejjeb il-prestazzjoni ta' ħafna mistoqsijiet eżistenti. Fil-verżjoni l-ġdida, porzjon ta' sostituzzjoni ta' query WITH jista' jiġi eżegwit biss jekk ma jkunx rikorsiv, ma jkollu l-ebda effetti sekondarji, u jkun referenzjat darba biss f'porzjon sussegwenti tal-mistoqsija.

PostgreSQL 12 jintroduċi appoġġ għal "kolonni ġenerati". Deskritt fl-istandard SQL, dan it-tip ta 'kolonna jikkalkula valur ibbażat fuq il-kontenut ta' kolonni oħra fl-istess tabella. F'din il-verżjoni, PostgreSQL jappoġġja "kolonni ġenerati maħżuna", fejn il-valur ikkalkulat huwa maħżun fuq disk.

Internazzjonalizzazzjoni

PostgreSQL 12 jespandi l-appoġġ għal kollazzjonijiet ICU billi jippermetti lill-utenti jiddefinixxu "kollazzjonijiet mhux deterministiċi" li jistgħu, pereżempju, jippermettu paraguni insensittivi għall-każi jew insensittivi għall-aċċent.

Awtentikazzjoni

PostgreSQL jespandi l-appoġġ tiegħu għal metodi ta 'awtentikazzjoni b'saħħithom b'diversi titjib li jipprovdu sigurtà u funzjonalità addizzjonali. Dan ir-rilaxx jintroduċi kriptaġġ fuq in-naħa tal-klijent u fuq is-server għall-awtentikazzjoni fuq interfaces GSSAPI, kif ukoll il-kapaċità għal PostgreSQL li jiskopri servers LDAP meta PostgreSQL jiġi kkompilat ma' OpenLDAP.

Barra minn hekk, PostgreSQL 12 issa jappoġġja għażla ta 'awtentikazzjoni b'ħafna fatturi. Is-server PostgreSQL issa jista 'jeħtieġ li l-klijent jipprovdi ċertifikat SSL validu bl-isem tal-utent korrispondenti billi juża clientcert=verify-full, u jikkombina dan ma' rekwiżit ta 'metodu ta' awtentikazzjoni separat (eż. scram-sha-256).

Amministrazzjoni

PostgreSQL 12 introduċa l-abbiltà li jwettaq indiċi li ma jimblokkax mill-ġdid bl-użu tal-kmand REINDEX CONCURRENTLY. Dan jippermetti lill-utenti jevitaw perijodi ta' waqfien tad-DBMS waqt bini mill-ġdid tal-indiċi fit-tul.

Barra minn hekk, f'PostgreSQL 12, tista 'tippermetti jew tiddiżattiva s-checksums tal-paġna f'grupp ta' għeluq billi tuża l-kmand pg_checksums. Preċedentement, checksums tal-paġna, karatteristika li tgħin biex tivverifika l-integrità tad-dejta maħżuna fuq id-diska, setgħu jiġu attivati ​​biss meta l-cluster PostgreSQL ġie inizjalizzat bl-użu ta 'initdb.

Sors: linux.org.ru

Żid kumment