PostgreSQL 11: Esblygiad rhaniad o Postgres 9.6 i Postgres 11

Cael dydd Gwener gwych pawb! Mae llai a llai o amser ar Γ΄l cyn i'r cwrs lansio "DBMS perthynol", felly heddiw rydym yn rhannu cyfieithiad o ddeunydd defnyddiol arall ar y pwnc.

Ar y cam datblygu PostgreSQL 11 Mae rhywfaint o waith trawiadol wedi'i wneud i wella rhaniad byrddau. Tablau rhaniad - mae hon yn swyddogaeth a oedd yn bodoli yn PostgreSQL am amser eithaf hir, ond yn y bΓ΄n nid oedd, fel petai, yn bodoli tan fersiwn 10, lle daeth yn swyddogaeth ddefnyddiol iawn. Dywedasom yn flaenorol mai etifeddiaeth bwrdd yw ein gweithrediad o raniad, ac mae hyn yn wir. Dim ond y dull hwn oedd yn eich gorfodi i wneud y rhan fwyaf o'r gwaith Γ’ llaw. Er enghraifft, os oeddech am i tuples gael eu mewnosod mewn adrannau yn ystod INSERTs, byddai'n rhaid i chi ffurfweddu sbardunau i wneud hyn ar eich rhan. Roedd rhaniad trwy etifeddiaeth yn araf iawn ac yn anodd datblygu ymarferoldeb ychwanegol ar ben hynny.

Yn PostgreSQL 10, gwelsom enedigaeth β€œrhaniad datganiadol,” nodwedd a ddyluniwyd i ddatrys llawer o broblemau nad oedd modd eu datrys gan ddefnyddio'r hen ddull etifeddiaeth. Arweiniodd hyn at offeryn llawer mwy pwerus a oedd yn caniatΓ‘u i ni rannu data yn llorweddol!

Cymhariaeth nodwedd

Mae PostgreSQL 11 yn cyflwyno set drawiadol o nodweddion newydd sy'n helpu i wella perfformiad a gwneud tablau rhanedig yn fwy tryloyw i gymwysiadau.

PostgreSQL 11: Esblygiad rhaniad o Postgres 9.6 i Postgres 11
PostgreSQL 11: Esblygiad rhaniad o Postgres 9.6 i Postgres 11
PostgreSQL 11: Esblygiad rhaniad o Postgres 9.6 i Postgres 11
1. Defnyddio Eithriadau Cyfyngu
2. Yn ychwanegu nodau yn unig
3. Dim ond ar gyfer tabl rhanedig sy'n cyfeirio at un nad yw'n rhanedig
4. Rhaid i fynegeion gynnwys holl golofnau allweddol y rhaniad
5. Rhaid i gyfyngiadau adran ar y ddwy ochr gyfateb

Cynhyrchiant

Mae gennym ni newyddion da yma hefyd! Ychwanegwyd dull newydd dileu adrannau. Gall yr algorithm newydd hwn bennu adrannau addas trwy edrych ar gyflwr yr ymholiad WHERE. Roedd yr algorithm blaenorol, yn ei dro, yn gwirio pob adran i benderfynu a allai fodloni'r amod WHERE. Arweiniodd hyn at gynnydd ychwanegol mewn amser cynllunio wrth i nifer yr adrannau gynyddu.

Yn 9.6, gyda rhaniad trwy etifeddiaeth, roedd llwybro tuples i raniadau yn cael ei wneud fel arfer trwy ysgrifennu swyddogaeth sbardun a oedd yn cynnwys cyfres o ddatganiadau IF i fewnosod y tuple yn y rhaniad cywir. Gallai'r swyddogaethau hyn fod yn araf iawn i'w cyflawni. Gyda rhaniad datganiadol wedi'i ychwanegu yn fersiwn 10, mae hyn yn gweithio'n llawer cyflymach.

Gan ddefnyddio tabl rhaniad gyda 100 rhaniad, gallwn werthuso perfformiad llwytho 10 miliwn o resi i mewn i dabl gyda 1 colofn FAWR a 5 colofn INT.

PostgreSQL 11: Esblygiad rhaniad o Postgres 9.6 i Postgres 11

Perfformiad cwestiynu'r tabl hwn i ddod o hyd i un cofnod wedi'i fynegeio a gweithredu DML i drin un cofnod (gan ddefnyddio 1 prosesydd yn unig):

PostgreSQL 11: Esblygiad rhaniad o Postgres 9.6 i Postgres 11

Yma gallwn weld bod perfformiad pob gweithrediad wedi cynyddu'n sylweddol ers PG 9.6. Ceisiadau SELECT edrych yn llawer gwell, yn enwedig y rhai sy'n gallu eithrio rhaniadau lluosog yn ystod cynllunio ymholiad. Mae hyn yn golygu y gall y trefnydd hepgor llawer o waith y dylai fod wedi'i wneud o'r blaen. Er enghraifft, nid yw llwybrau bellach yn cael eu hadeiladu ar gyfer adrannau diangen.

Casgliad

Mae rhaniad bwrdd yn dechrau dod yn nodwedd bwerus iawn yn PostgreSQL. Mae'n caniatΓ‘u ichi arddangos data ar-lein yn gyflym a'i gymryd oddi ar-lein heb aros am weithrediadau DML araf, enfawr i'w cwblhau.. Mae hyn hefyd yn golygu y gellir storio data cysylltiedig gyda'i gilydd, sy'n golygu y gellir cyrchu'r data sydd ei angen arnoch yn llawer mwy effeithlon. Ni fyddai'r gwelliannau a wnaed yn y fersiwn hon wedi bod yn bosibl heb y datblygwyr, yr adolygwyr a'r ymroddwyr a weithiodd yn ddiflino ar yr holl nodweddion hyn.
Diolch iddyn nhw i gyd! Mae PostgreSQL 11 yn edrych yn wych!

Dyma erthygl mor fyr ond eithaf diddorol. Rhannwch eich sylwadau a pheidiwch ag anghofio cofrestru ar eu cyfer Diwrnod Agored, a bydd rhaglen y cwrs yn cael ei hamlinellu'n fanwl oddi mewn iddo.

Ffynhonnell: hab.com

Ychwanegu sylw