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