PostgreSQL 11: Ebolusyon sa pagbahin gikan sa Postgres 9.6 hangtod sa Postgres 11

Maayong Biyernes sa tanan! Gamay ug gamay nga oras ang nahabilin sa wala pa magsugod ang kurso "Relasyonal nga DBMS", mao nga karon among gipaambit ang hubad sa laing mapuslanong materyal sa topiko.

Sa yugto sa pag-uswag PostgreSQL 11 Adunay pipila ka impresibo nga trabaho nga nahimo aron mapaayo ang pagbahin sa lamesa. Pagbahin sa mga lamesa - kini usa ka function nga naglungtad sa PostgreSQL sa dugay na nga panahon, apan kini, ingnon ta, sa tinuud wala maglungtad hangtod sa bersyon 10, diin nahimo kini nga mapuslanon kaayo nga gimbuhaton. Gipahayag na namo kaniadto nga ang table inheritance mao ang among pagpatuman sa partitioning, ug kini tinuod. Kini nga pamaagi lamang ang nagpugos kanimo sa pagbuhat sa kadaghanan sa trabaho nga mano-mano. Pananglitan, kung gusto nimo ang mga tuple nga ipasok sa mga seksyon sa panahon sa mga INSERT, kinahanglan nimo nga i-configure ang mga nag-trigger aron mahimo kini alang kanimo. Ang pagbahin pinaagi sa kabilin hinay kaayo ug lisud ang paghimo og dugang nga gamit sa ibabaw sa.

Sa PostgreSQL 10, nakita namon ang pagkahimugso sa "declarative partitioning," usa ka bahin nga gidisenyo aron masulbad ang daghang mga problema nga dili masulbad gamit ang daan nga pamaagi sa panulondon. Kini misangpot sa usa ka mas gamhanan nga himan nga nagtugot kanamo sa pagbahin sa data nga pinahigda!

Pagkumpara sa bahin

Ang PostgreSQL 11 nagpaila sa usa ka impresibo nga hugpong sa mga bag-ong bahin nga makatabang sa pagpalambo sa performance ug paghimo sa mga partitioned table nga mas transparent sa mga aplikasyon.

PostgreSQL 11: Ebolusyon sa pagbahin gikan sa Postgres 9.6 hangtod sa Postgres 11
PostgreSQL 11: Ebolusyon sa pagbahin gikan sa Postgres 9.6 hangtod sa Postgres 11
PostgreSQL 11: Ebolusyon sa pagbahin gikan sa Postgres 9.6 hangtod sa Postgres 11
1. Paggamit sa Limiting Exceptions
2. Nagdugang lamang sa mga node
3. Para lamang sa usa ka partitioned table nga nag-refer sa usa ka non-partitioned
4. Ang mga indeks kinahanglan nga adunay tanan nga yawe nga mga kolum sa partisyon
5. Ang mga pagdili sa seksyon sa duha ka kilid kinahanglan nga magkatugma

Pag-uswag

Aduna usab kami maayong balita dinhi! Bag-ong pamaagi gidugang pagtangtang sa mga seksyon. Kining bag-ong algorithm makadeterminar sa angay nga mga seksyon pinaagi sa pagtan-aw sa kondisyon sa pangutana WHERE. Ang miaging algorithm, sa baylo, nagsusi sa matag seksyon aron mahibal-an kung kini makatagbo sa kondisyon WHERE. Nagresulta kini sa dugang nga pag-uswag sa oras sa pagplano samtang nagkadaghan ang mga seksyon.

Sa 9.6, uban sa partitioning pinaagi sa kabilin, routing tuples ngadto sa partitions kasagaran gihimo pinaagi sa pagsulat sa usa ka trigger function nga naglangkob sa usa ka serye sa mga IF nga mga pahayag sa sal-ot sa tuple ngadto sa husto nga partition. Kini nga mga gimbuhaton mahimong hinay kaayo nga ipatuman. Uban sa deklaratibo nga partisyon nga gidugang sa bersyon 10, kini molihok nga labi ka paspas.

Gamit ang usa ka partitioned table nga adunay 100 ka partition, atong masusi ang performance sa loading 10 million row ngadto sa table nga adunay 1 BIGINT column ug 5 INT columns.

PostgreSQL 11: Ebolusyon sa pagbahin gikan sa Postgres 9.6 hangtod sa Postgres 11

Pagbuhat sa pagpangutana niini nga lamesa aron makit-an ang usa nga na-index nga rekord ug ipatuman ang DML aron mamanipula ang usa ka rekord (gamit ra ang 1 nga processor):

PostgreSQL 11: Ebolusyon sa pagbahin gikan sa Postgres 9.6 hangtod sa Postgres 11

Dinhi atong makita nga ang performance sa matag operasyon miuswag pag-ayo sukad sa PG 9.6. Mga hangyo SELECT tan-awon nga mas maayo, ilabi na kadtong makahimo sa dili pag-apil sa daghang mga partisyon sa panahon sa pagplano sa pangutana. Kini nagpasabot nga ang scheduler mahimong makalaktaw sa daghang trabaho nga unta nahimo na niini kaniadto. Pananglitan, ang mga agianan wala na gitukod alang sa wala kinahanglana nga mga seksyon.

konklusyon

Ang pagbahin sa lamesa nagsugod nga mahimong usa ka kusgan kaayo nga bahin sa PostgreSQL. Gitugotan ka niini nga dali nga magpakita sa data online ug kuhaon kini offline nga wala maghulat sa hinay, daghang mga operasyon sa DML nga makompleto.. Nagpasabot usab kini nga ang mga may kalabutan nga datos mahimong tipigan nga magkauban, nagpasabut nga ang datos nga imong gikinahanglan mahimong ma-access nga mas episyente. Ang mga pag-uswag nga gihimo sa kini nga bersyon dili mahimo kung wala ang mga nag-develop, mga tigsusi ug mga committers nga nagtrabaho nga walay kakapoy sa tanan niini nga mga bahin.
Salamat sa ila tanan! Nindot tan-awon ang PostgreSQL 11!

Ania ang usa ka mubo apan medyo makapaikag nga artikulo. Ipakigbahin ang imong mga komento ug ayaw kalimot sa pag-sign up Bukas nga Adlaw, diin ang programa sa kurso gilatid sa detalye.

Source: www.habr.com

Idugang sa usa ka comment