Datganiad PostgreSQL 12

Mae tîm PostgreSQL wedi cyhoeddi rhyddhau PostgreSQL 12, y fersiwn ddiweddaraf o'r system rheoli cronfa ddata berthynol ffynhonnell agored.
Mae PostgreSQL 12 wedi gwella perfformiad ymholiad yn sylweddol - yn enwedig wrth weithio gyda llawer iawn o ddata, ac mae hefyd wedi gwneud y defnydd gorau o ofod disg yn gyffredinol.

Mae nodweddion newydd yn cynnwys:

  • gweithredu iaith ymholiad Llwybr JSON (y rhan bwysicaf o safon SQL/JSON);
  • optimeiddio gweithrediad ymadroddion tabl cyffredin (GYD);
  • cefnogaeth ar gyfer colofnau a gynhyrchir

Mae'r gymuned hefyd yn parhau i weithio ar estynadwyedd a dibynadwyedd PostgreSQL, gan ddatblygu cefnogaeth ar gyfer rhyngwladoli, galluoedd dilysu, a darparu ffyrdd haws o weinyddu'r system.

Mae'r datganiad hwn yn cynnwys gweithredu rhyngwyneb ar gyfer peiriannau storio plygadwy, sydd bellach yn caniatáu i ddatblygwyr greu eu dulliau storio data eu hunain.

Gwelliannau perfformiad

Mae PostgreSQL 12 yn cynnwys gwelliannau perfformiad a chynnal a chadw sylweddol ar gyfer systemau mynegeio a rhaniad.

Mae mynegeion coed-B, y math mynegeio safonol yn PostgreSQL, wedi'u hoptimeiddio yn fersiwn 12 ar gyfer llwythi gwaith sy'n cynnwys addasiadau mynegai aml. Roedd defnyddio meincnod TPC-C ar gyfer PostgreSQL 12 yn dangos gostyngiad cyfartalog o 40% yn y defnydd o ofod a chynnydd cyffredinol ym mherfformiad yr ymholiad.

Mae ymholiadau yn erbyn tablau rhanedig wedi derbyn gwelliannau amlwg, yn enwedig ar gyfer tablau sy'n cynnwys miloedd o raniad sy'n gofyn am weithio gyda dim ond rhannau cyfyngedig o'r araeau data. Mae perfformiad ychwanegu data at dablau rhanedig gan ddefnyddio INSERT a COPY wedi'i wella, yn ogystal â'r gallu i atodi rhaniad newydd heb rwystro ymholiadau.

Mae PostgreSQL 12 wedi gwneud gwelliannau ychwanegol i fynegeio sy'n effeithio ar berfformiad cyffredinol, gan gynnwys:

  • gorbenion gostyngol wrth gynhyrchu WAL ar gyfer mathau mynegai GiST, GIN a SP-GiST;
  • y gallu i greu hyn a elwir yn fynegeion eglurhaol (CYNNWYS cymal) ar fynegeion GiST;
  • y gallu i gyflawni ymholiadau “cymydog agosaf” (chwiliad k-NN) gan ddefnyddio'r gweithredwr pellter (<->) a defnyddio mynegeion SP-GiST;
  • cefnogaeth ar gyfer casglu ystadegau gwerth mwyaf cyffredin (MCV) gan ddefnyddio CREATE STATISTICS, sy'n helpu i gael gwell cynlluniau ymholiad wrth ddefnyddio colofnau y mae eu gwerthoedd wedi'u dosbarthu'n anwastad.

Mae llunio JIT gan ddefnyddio LLVM, a gyflwynwyd yn PostgreSQL 11, bellach wedi'i alluogi yn ddiofyn. Mae llunio JIT yn gwella perfformiad wrth weithio gydag ymadroddion mewn cymalau WHERE, rhestrau targed, agregau, a rhai gweithrediadau mewnol. Mae ar gael os ydych wedi llunio PostgreSQL gyda LLVM neu'n defnyddio pecyn PostgreSQL a adeiladwyd gyda LLVM wedi'i alluogi.

Gwelliannau i alluoedd iaith SQL a chydnawsedd safonol

Cyflwynodd PostgreSQL 12 y gallu i gwestiynu dogfennau JSON gan ddefnyddio mynegiadau llwybr JSON a ddiffinnir yn y safon SQL/JSON. Gall ymholiadau o'r fath drosoli'r mecanweithiau mynegeio presennol ar gyfer dogfennau sydd wedi'u storio ar fformat JSONB i adalw data'n effeithlon.

Bellach gellir gweithredu ymadroddion tabl cyffredin, a elwir hefyd yn WITH ymholiadau, yn awtomatig gan ddefnyddio amnewid yn PostgreSQL 12, a all yn ei dro helpu i wella perfformiad llawer o ymholiadau presennol. Yn y fersiwn newydd, dim ond os nad yw'n ailadroddus, nad oes ganddo sgîl-effeithiau, a dim ond unwaith y cyfeirir ato mewn cyfran ddilynol o'r ymholiad y gellir gweithredu rhan amnewid o ymholiad WITH.

Mae PostgreSQL 12 yn cyflwyno cefnogaeth ar gyfer "colofnau a gynhyrchir". Wedi'i ddisgrifio yn safon SQL, mae'r math hwn o golofn yn cyfrifo gwerth yn seiliedig ar gynnwys colofnau eraill yn yr un tabl. Yn y fersiwn hon, mae PostgreSQL yn cefnogi "colofnau a gynhyrchir wedi'u storio", lle mae'r gwerth cyfrifedig yn cael ei storio ar ddisg.

Rhyngwladoli

Mae PostgreSQL 12 yn ehangu cefnogaeth ar gyfer coladu ICU trwy ganiatáu i ddefnyddwyr ddiffinio "coladu anbenderfynol" a all, er enghraifft, ganiatáu cymariaethau achos-sensitif neu acen-ansensitif.

Dilysu

Mae PostgreSQL yn ehangu ei gefnogaeth i ddulliau dilysu cryf gyda sawl gwelliant sy'n darparu diogelwch ac ymarferoldeb ychwanegol. Mae'r datganiad hwn yn cyflwyno amgryptio ochr y cleient ac ochr y gweinydd i'w ddilysu dros ryngwynebau GSSAPI, yn ogystal â'r gallu i PostgreSQL ddarganfod gweinyddwyr LDAP pan fydd PostgreSQL yn cael ei lunio gydag OpenLDAP.

Yn ogystal, mae PostgreSQL 12 bellach yn cefnogi opsiwn dilysu aml-ffactor. Gall gweinydd PostgreSQL nawr fynnu bod y cleient yn darparu tystysgrif SSL ddilys gyda'r enw defnyddiwr cyfatebol gan ddefnyddio clientcert=verify-full, a chyfuno hyn â gofyniad dull dilysu ar wahân (e.e. scram-sha-256).

Gweinyddiaeth

Cyflwynodd PostgreSQL 12 y gallu i berfformio ailadeiladu mynegai di-rwystro gan ddefnyddio'r gorchymyn REINDEX CONCURRENTLY. Mae hyn yn galluogi defnyddwyr i osgoi amser segur DBMS yn ystod ailadeiladu mynegai hir.

Yn ogystal, yn PostgreSQL 12, gallwch alluogi neu analluogi sieciau tudalennau mewn clwstwr cau i lawr gan ddefnyddio'r gorchymyn pg_checksums. Yn flaenorol, dim ond pan ddechreuwyd clwstwr PostgreSQL gan ddefnyddio initdb y gellid galluogi checksums tudalen, nodwedd sy'n helpu i wirio cywirdeb data sy'n cael ei storio ar ddisg.

Ffynhonnell: linux.org.ru

Ychwanegu sylw