Weşandina PostgreSQL 12

Tîma PostgreSQL serbestberdana PostgreSQL 12, guhertoya herî dawî ya pergala rêveberiya databasa têkiliya çavkaniya vekirî ragihand.
PostgreSQL 12 performansa pirsê bi girîngî çêtir kiriye - nemaze dema ku bi cildên mezin ên daneyê re dixebitin, û di heman demê de karanîna cîhê dîskê bi gelemperî xweştir kiriye.

Taybetmendiyên nû hene:

  • pêkanîna zimanê pirsiyariya JSON Path (beşa herî girîng a standarda SQL/JSON);
  • optimîzekirina bicihanîna îfadeyên tabloya hevpar (WITH);
  • piştgiriya ji bo stûnên hilberandin

Civat her weha berdewam dike ku li ser berfirehbûn û pêbaweriya PostgreSQL bixebite, piştgirî ji bo navneteweyîbûnê, kapasîteyên pejirandinê, û rêyên hêsantir ji bo birêvebirina pergalê peyda dike.

Vê berdanê pêkanîna navgînek ji bo motorên hilanîna pêvekirî vedihewîne, ku naha destûrê dide pêşdebiran ku rêbazên hilanîna daneya xwe biafirînin.

Pêşveçûnên performansê

PostgreSQL 12 ji bo pergalên îndekskirin û dabeşkirinê çêtirkirin û performansa girîng vedihewîne.

Indeksên dara B-yê, celebê nîşankirina standard di PostgreSQL de, di guhertoya 12-an de ji bo barkirinên kar ên ku pir caran guheztinên îndeksê vedigirin xweşbîn kirin. Bikaranîna pîvana TPC-C ji bo PostgreSQL 12 kêmbûnek navînî% 40 di karanîna cîhê de û zêdebûnek giştî ya performansa pirsê destnîşan kir.

Pirsên li hember tabloyên dabeşkirî çêtirkirinên berbiçav wergirtine, nemaze ji bo tabloyên ku ji hezaran dabeşan pêk tên ku hewce ne ku tenê bi beşên tixûbdar ên rêzikên daneyê re bixebitin. Performansa lê zêdekirina daneyan li tabloyên dabeşkirî bi karanîna INSERT û COPY çêtir bûye, û her weha şiyana girêdana dabeşek nû bêyî astengkirina pirsan çêtir bûye.

PostgreSQL 12 ji bo îndekskirina ku bandorê li performansa giştî dike, çêtirkirinên din çêkiriye, di nav de:

  • dema çêkirina WAL-ê ji bo celebên navnîşa GiST, GIN û SP-GiST zêde dibe;
  • şiyana afirandina bi vî rengî indexên vegirtinê (benda INCLUDE) li ser navnîşên GiST;
  • şiyana pêkanîna lêpirsînên "cîranê herî nêzîk" (lêgerîna k-NN) bi karanîna operatorê dûrbûnê (<->) û bi karanîna navnîşên SP-GiST;
  • piştgirî ji bo berhevkirina statîstîkên nirxa herî gelemperî (MCV) bi karanîna CREATE STATISTICS, ku di dema karanîna stûnên ku nirxên wan bi rengek neyeksan têne belav kirin de dibe alîkar ku plansaziyên lêpirsînê yên çêtir bistînin.

Berhevkirina JIT bi karanîna LLVM, ku di PostgreSQL 11 de hatî destnîşan kirin, naha ji hêla xwerû ve hatî çalak kirin. Berhevkirina JIT dema ku bi vegotinên di bendên WHERE, navnîşên armanc, berhevok û hin karûbarên hundurîn de dixebite performansê baştir dike. Heke we PostgreSQL bi LLVM-ê re berhev kiriye an jî pakêtek PostgreSQL-ya ku bi LLVM-ya çalakkirî ve hatî çêkirin bikar tîne, peyda dibe.

Pêşketinên kapasîteyên zimanê SQL û lihevhatina standard

PostgreSQL 12 şiyana pirskirina belgeyên JSON bi karanîna vegotinên rêça JSON-ê yên ku di standarda SQL/JSON de hatine destnîşankirin destnîşan kir. Lêpirsînên weha dikarin ji bo belgeyên ku di formata JSONB-ê de hatine hilanîn, mekanîzmayên navnîşkirina heyî bikar bînin da ku daneyan bi rengek bikêr bistînin.

Gotinên tabloya hevpar, ku wekî WITH queries jî têne zanîn, naha dikarin bixweber bi karanîna veguheztina di PostgreSQL 12 de bêne darve kirin, ku di encamê de dikare bibe alîkar ku performansa gelek pirsên heyî baştir bike. Di guhertoya nû de, beşek veguheztina pirsek WITH tenê dikare were darve kirin heke ew ne paşveger be, ti bandorên aliyî nebin, û di beşek paşerojê ya pirsê de tenê carekê were referans kirin.

PostgreSQL 12 ji bo "stûnên çêkirî" piştgirî dide. Di standarda SQL de tête diyar kirin, ev celeb stûn nirxek li ser bingeha naveroka stûnên din ên di heman tabloyê de hesab dike. Di vê guhertoyê de, PostgreSQL "stûnên hilberandî yên hilanîn" piştgirî dike, ku nirxa hesabkirî li ser dîskê tê hilanîn.

Наnternetenalîzasyon

PostgreSQL 12 piştgirî ji berhevokên ICU re berfireh dike û dihêle bikarhêneran "hevhevokên ne-determînîst" destnîşan bikin ku, mînakî, dikare destûrê bide berhevokên nehesas-nehessas an bi devkî-bêhesas.

Daxuyanî

PostgreSQL bi gelek pêşkeftinên ku ewlekarî û fonksiyona zêde peyda dike piştgirîya xwe ji bo rêbazên piştrastkirina bihêz berfireh dike. Vê berdanê şîfrekirina milê xerîdar û server-aliyê ji bo erêkirinê li ser navgînên GSSAPI destnîşan dike, û hem jî jêhatîbûna PostgreSQL ku dema PostgreSQL bi OpenLDAP-ê re tê berhev kirin serverên LDAP-ê kifş bike.

Wekî din, PostgreSQL 12 naha vebijarkek pejirandina pir-faktor piştgirî dike. Pêşkêşkara PostgreSQL naha dikare ji xerîdar bixwaze ku sertîfîkayek SSL-ya derbasdar bi navê bikarhênerê têkildar bi karanîna clientcert=verify-full peyda bike, û vê yekê bi hewcedariyek rêbazek verastkirinê ya cihêreng re bike yek (mînak scram-sha-256).

Rêveberî

PostgreSQL 12 bi karanîna fermana REINDEX CONCURRENTLY şiyana pêkanîna ji nû ve avakirina pêveka ne-astengker destnîşan kir. Ev rê dide bikarhêneran ku di dema nûavakirinên dirêj ên indexê de ji dakêşana DBMS-ê dûr bixin.

Wekî din, di PostgreSQL 12-ê de, hûn dikarin bi karanîna fermana pg_checksums vekolînên rûpelê di komikek girtinê de çalak bikin an neçalak bikin. Berê, kontrolkirina rûpelan, taybetmendiyek ku ji verastkirina yekbûna daneya ku li ser dîskê hatî hilanîn dibe alîkar, tenê dema ku komika PostgreSQL bi karanîna initdb-ê hatî destpêkirin were çalak kirin.

Source: linux.org.ru

Add a comment