PostgreSQL 12 lage

Ekip PostgreSQL la te anonse lage PostgreSQL 12, dènye vèsyon sistèm jesyon baz done relasyonèl sous louvri.
PostgreSQL 12 te siyifikativman amelyore pèfòmans rechèch - espesyalman lè w ap travay ak gwo volim done, e li te tou optimize itilizasyon espas disk an jeneral.

Nouvo karakteristik yo enkli:

  • aplikasyon langaj rechèch JSON Path (pati ki pi enpòtan nan estanda SQL/JSON);
  • optimize nan ekzekisyon ekspresyon tab komen (WITH);
  • sipò pou kolòn pwodwi yo

Kominote a ap kontinye travay tou sou ekstansibilite ak fyab nan PostgreSQL, devlope sipò pou entènasyonalizasyon, kapasite otantifikasyon, epi bay fason pi fasil pou administre sistèm nan.

Lage sa a gen ladan aplikasyon an nan yon koòdone pou motè depo branche, ki kounye a pèmèt devlopè yo kreye pwòp metòd depo done yo.

Amelyorasyon pèfòmans yo

PostgreSQL 12 gen ladan amelyorasyon enpòtan pèfòmans ak antretyen pou sistèm Indexing ak patisyon.

Endis B-tree, kalite Indexing estanda nan PostgreSQL, yo te optimize nan vèsyon 12 pou chaj travay ki enplike modifikasyon endèks souvan. Sèvi ak referans TPC-C pou PostgreSQL 12 te demontre yon mwayèn 40% rediksyon nan itilizasyon espas ak yon ogmantasyon jeneral nan pèfòmans rechèch.

Rekèt kont tab patisyon yo te resevwa amelyorasyon aparan, espesyalman pou tab ki gen plizyè milye patisyon ki mande pou travay ak sèlman pati limite nan etalaj done yo. Pèfòmans pou ajoute done nan tab patisyon yo lè l sèvi avèk INSERT ak COPY te amelyore, osi byen ke kapasite nan tache yon nouvo patisyon san yo pa bloke demann.

PostgreSQL 12 te fè amelyorasyon adisyonèl nan Indexing ki gen enpak sou pèfòmans jeneral, tankou:

  • redwi sou tèt lè w ap jenere WAL pou kalite endèks GiST, GIN ak SP-GiST;
  • kapasite pou kreye sa yo rele endèks kouvri (CLUSE CLASE) sou endis GiST;
  • kapasite pou fè rechèch "vwazen ki pi pre" (rechèch k-NN) lè l sèvi avèk operatè distans (<->) ak lè l sèvi avèk endèks SP-GiST;
  • sipò pou kolekte estatistik valè ki pi komen (MCV) lè l sèvi avèk CREATE STATISTICS, ki ede jwenn pi bon plan rechèch lè w ap itilize kolòn ki gen valè yo distribye inegalman.

Konpilasyon JIT lè l sèvi avèk LLVM, prezante nan PostgreSQL 11, kounye a aktive pa default. Konpilasyon JIT amelyore pèfòmans lè w ap travay ak ekspresyon nan paragraf WHERE, lis sib, total, ak kèk operasyon entèn yo. Li disponib si ou te konpile PostgreSQL ak LLVM oswa w ap itilize yon pake PostgreSQL ki te bati ak LLVM pèmèt.

Amelyorasyon nan kapasite lang SQL ak konpatibilite estanda

PostgreSQL 12 te entwodui kapasite pou mande dokiman JSON lè l sèvi avèk ekspresyon chemen JSON ki defini nan estanda SQL/JSON. Rekèt sa yo ka ogmante mekanis endèks ki egziste deja pou dokiman ki estoke nan fòma JSONB pou rekipere done yo avèk efikasite.

Ekspresyon tab komen yo, ke yo rele WITH queries, kapab kounye a otomatikman egzekite lè l sèvi avèk sibstitisyon nan PostgreSQL 12, ki an vire ka ede amelyore pèfòmans nan anpil demann ki deja egziste. Nan nouvo vèsyon an, yon pòsyon sibstitisyon nan yon rekèt WITH ka sèlman egzekite si li pa rekursif, pa gen okenn efè segondè, epi yo referans sèlman yon fwa nan yon pòsyon ki vin apre nan rechèch la.

PostgreSQL 12 prezante sipò pou "kolòn pwodwi". Dekri nan estanda SQL, kalite kolòn sa a kalkile yon valè ki baze sou sa ki nan lòt kolòn nan menm tablo a. Nan vèsyon sa a, PostgreSQL sipòte "kolòn pwodwi ki estoke", kote valè kalkile a estoke sou disk.

Entènasyonalizasyon

PostgreSQL 12 ogmante sipò pou kolasyon ICU lè li pèmèt itilizatè yo defini "kollasyon ki pa detèminist" ki ka, pou egzanp, pèmèt konparezon ki pa sansib oswa ki pa gen aksan.

Otantifikasyon

PostgreSQL ogmante sipò li pou metòd otantifikasyon solid ak plizyè amelyorasyon ki bay plis sekirite ak fonksyonalite. Version sa a prezante chifreman bò kliyan ak bò sèvè pou otantifikasyon sou koòdone GSSAPI, ansanm ak kapasite pou PostgreSQL pou dekouvri sèvè LDAP lè PostgreSQL konpile ak OpenLDAP.

Anplis de sa, PostgreSQL 12 kounye a sipòte yon opsyon otantifikasyon milti-faktè. Sèvè PostgreSQL la kapab kounye a mande pou kliyan an bay yon sètifika SSL valab ak non itilizatè ki koresponn lan lè l sèvi avèk clientcert=verify-full, epi konbine sa a ak yon egzijans metòd otantifikasyon separe (egzanp scram-sha-256).

Administrasyon an

PostgreSQL 12 entwodwi kapasite pou fè rebati endèks ki pa bloke lè l sèvi avèk kòmand REINDEX TANKAN. Sa a pèmèt itilizatè yo evite tan DBMS pandan rebati endèks long.

Anplis de sa, nan PostgreSQL 12, ou ka aktive oswa enfim total chèk paj nan yon gwoup fèmen lè l sèvi avèk lòd pg_checksums la. Anvan sa, chèk paj, yon karakteristik ki ede verifye entegrite done ki estoke sou disk, te kapab sèlman aktive lè gwoup PostgreSQL la te inisyalize lè l sèvi avèk initdb.

Sous: linux.org.ru

Add nouvo kòmantè