PostgreSQL 11: Evolisyon patisyon soti nan Postgres 9.6 rive nan Postgres 11

Pase yon bon vandredi tout moun! Pi piti ak mwens tan rete anvan kou a lanse "DBMS relasyon", Se konsa jodi a nou ap pataje tradiksyon an nan yon lòt materyèl itil sou sijè a.

Sou etap devlopman PostgreSQL 11 Te gen kèk travay enpresyonan fè pou amelyore partitionnement tab la. Tablo divize - sa a se yon fonksyon ki te egziste nan PostgreSQL pou yon tan long, men li, se konsa pale, esansyèlman pa t egziste jouk vèsyon 10, nan ki li te vin tounen yon fonksyon trè itil. Nou te deja deklare ke eritaj tab la se aplikasyon nou an nan patisyon, e sa a se vre. Se sèlman metòd sa a fòse ou fè pi fò nan travay la manyèlman. Pou egzanp, si ou te vle yo mete tuple nan seksyon pandan INSERT, ou ta dwe configured deklanche pou fè sa pou ou. Partitioning atravè eritaj te trè dousman ak difisil yo devlope plis fonksyonalite sou tèt.

Nan PostgreSQL 10, nou te wè nesans "patisyon deklaratif", yon karakteristik ki fèt pou rezoud anpil pwoblèm ki pa ka rezoud lè l sèvi avèk ansyen metòd eritaj la. Sa a te mennen nan yon zouti ki pi pwisan ki te pèmèt nou divize done orizontal!

Konparezon karakteristik

PostgreSQL 11 entwodui yon seri nouvo karakteristik enpresyonan ki ede amelyore pèfòmans epi fè tab patisyon yo pi transparan pou aplikasyon yo.

PostgreSQL 11: Evolisyon patisyon soti nan Postgres 9.6 rive nan Postgres 11
PostgreSQL 11: Evolisyon patisyon soti nan Postgres 9.6 rive nan Postgres 11
PostgreSQL 11: Evolisyon patisyon soti nan Postgres 9.6 rive nan Postgres 11
1. Sèvi ak Eksepsyon Limitasyon
2. Ajoute sèlman nœuds
3. Se sèlman pou yon tab partisyone ki fè referans ak yon tab ki pa patisyon
4. Endis yo dwe genyen tout kolòn kle nan patisyon an
5. Restriksyon seksyon sou tou de bò yo dwe matche

Pwodiktivite

Nou gen yon bon nouvèl isit la tou! Nouvo metòd te ajoute efase seksyon yo. Nouvo algorithm sa a ka detèmine seksyon apwopriye lè w gade kondisyon rechèch la WHERE. Algorithm anvan an, nan vire, tcheke chak seksyon pou detèmine si li ta ka satisfè kondisyon an WHERE. Sa a te lakòz yon ogmantasyon adisyonèl nan tan planifikasyon kòm kantite seksyon yo te ogmante.

Nan 9.6, ak patisyon atravè eritaj, routage tuples nan patisyon te tipikman fè pa ekri yon fonksyon deklanche ki genyen yon seri de deklarasyon IF yo insert tuple a nan patisyon ki kòrèk la. Fonksyon sa yo ta ka trè dousman pou egzekite. Avèk patisyon deklaratif te ajoute nan vèsyon 10, sa a travay pi vit.

Sèvi ak yon tab partisyone ak 100 patisyon, nou ka evalye pèfòmans nan chaje 10 milyon ranje nan yon tab ki gen 1 kolòn BIGINT ak 5 kolòn INT.

PostgreSQL 11: Evolisyon patisyon soti nan Postgres 9.6 rive nan Postgres 11

Pèfòmans nan demann tab sa a pou jwenn yon dosye endèks epi egzekite DML pou manipile yon dosye (itilize sèlman 1 processeur):

PostgreSQL 11: Evolisyon patisyon soti nan Postgres 9.6 rive nan Postgres 11

Isit la nou ka wè ke pèfòmans nan chak operasyon te ogmante anpil depi PG 9.6. Demann SELECT gade pi byen, sitou sa yo ki kapab ekskli plizyè patisyon pandan planifikasyon rechèch. Sa vle di ke pwogramè a ka sote anpil travay ke li ta dwe fè anvan. Pa egzanp, chemen yo pa bati ankò pou seksyon ki pa nesesè yo.

Konklizyon

Tablo patisyon an kòmanse vin yon karakteristik trè pwisan nan PostgreSQL. Li pèmèt ou byen vit montre done sou entènèt epi pran li offline san yo pa tann pou operasyon DML dousman, masiv fini.. Sa vle di tou ke done ki gen rapò yo ka estoke ansanm, sa vle di done ou bezwen yo ka jwenn aksè pi plis efikasite. Amelyorasyon yo te fè nan vèsyon sa a pa t 'kapab san devlopè yo, revizyon ak komite ki te travay san pran souf sou tout karakteristik sa yo.
Mèsi a yo tout! PostgreSQL 11 sanble kokenn!

Isit la se tankou yon atik kout men byen enteresan. Pataje kòmantè w yo epi pa bliye enskri Jounen Ouvè, nan ki pwogram kou a pral dekri an detay.

Sous: www.habr.com

Add nouvo kòmantè