Fikradayda, si ka duwan siidooyinkii hore, PostgreSQL 12 kuma jiraan hal ama laba astaamood oo kacaan ah (sida qaybinta ama isbarbardhigga weydiinta). Waxaan mar ku kaftamay in astaanta ugu weyn ee PostgreSQL 12 ay tahay xasillooni weyn. Taasi miyaanay ahayn waxa aad u baahan tahay marka aad maamusho xogta muhiimka ah ee ganacsigaaga?
Laakiin PostgreSQL 12 kuma eka halkaas: oo leh astaamo cusub iyo horumarin, codsiyadu waxay si fiican u qaban doonaan, iyo waxa kaliya ee aad u baahan tahay inaad sameyso waa cusbooneysiin!
(Hagaag, waxaa laga yaabaa inaad dib u dhisto tusmooyinka, laakiin sii-deyntan maaha mid cabsi leh sidii aan u baran jirnay.)
Way fiicnaan doontaa in la cusboonaysiiyo PostgreSQL oo isla markiiba ku raaxaysato horumarro la taaban karo iyada oo aan buuq loo baahnayn. Dhowr sano ka hor, waxaan dib u eegay casriyeynta PostgreSQL 9.4 ilaa PostgreSQL 10 oo waxaan arkay sida codsigu u kiciyay mahadsanid isbarbardhigga su'aalaha la hagaajiyay ee PostgreSQL 10. Iyo, tan ugu muhiimsan, ku dhawaad waxba igama baahnayn aniga (kaliya deji jaantuska qaabeynta max_parallel_workers
).
Ogow, way ku habboon tahay marka codsiyadu si fiican u shaqeeyaan isla markaaba casriyaynta ka dib. Waxaan aad isugu daynaa inaan ka farxino isticmaalayaasha, sababtoo ah PostgreSQL waxay leedahay wax badan oo ka mid ah.
Marka sidee u cusboonaysiinta fudud ee PostgreSQL 12 kuugu farxi kartaa? Hadda waan kuu sheegi doonaa.
Hagaajinta tusmaynta waaweyn
Tilmaanta la'aanteed, xog ururintu meel fog ma aadi doonto. Sidee kale oo aad dhakhso ugu heli kartaa macluumaadka? Nidaamka tusmaynta aasaasiga ah ee PostgreSQL ayaa loo yaqaan
Waxaan si fudud u isticmaalnaa hawlwadeenka CREATE INDEX ON some_table (some_column)
, iyo PostgreSQL waxay qabataa shaqo badan si ay u ilaaliso tusaha ilaa taariikhda inta aan si joogto ah u gelineyno, cusbooneysiineyno, iyo tirtirno qiimaha. Wax waliba iskii ayay u shaqeeyaan, sida haddii sixir lagu sameeyo.
Laakiin tusmooyinka PostgreSQL waxay leeyihiin hal dhibaato - iyaga
PostgreSQL 12 waxay si weyn u wanaajisaa waxqabadka tusmooyinka B-geedka, iyo tijaabooyinka bartilmaameedyada sida TPC-C waxay muujiyeen in celcelis ahaan 40% boos yar hadda la isticmaalo. Hadda waxaan ku bixinaa waqti yar ma aha oo kaliya ilaalinta tusmooyinka B-geedka (taas oo ah, hawlgallada qorista), laakiin sidoo kale dib u soo celinta xogta, sababtoo ah tusmooyinka ayaa aad uga yar.
Codsiyada si firfircoon u cusbooneysiiya miisaskooda - sida caadiga ah codsiyada OLTP (
Xeeladaha cusboonaysiinta qaarkood waxay u baahan yihiin dib-u-dhisidda tusmooyinka geedka-B-ga si looga faa'iidaysto faa'iidooyinkan (tusaale.
Waxa jira horumarino kale oo lagu sameeyay kaabayaasha tusmaynta ee PostgreSQL 12. Wax kale oo ay jirtay sixir-
PostgreSQL 12 waxay hoos u dhigtay dulsaarka diiwaannada WAL ee ay abuureen tusmooyinka GiST, GIN, iyo SP-GiST inta lagu jiro dhismaha tusmada. Tani waxay ku siinaysaa faa'iidooyin badan oo la taaban karo: Diiwaanada WAL waxay qaadanayaan boos yar oo saxan ah, xogtana si dhakhso leh ayaa loogu soo celiyaa, sida inta lagu jiro soo kabashada musiibada ama soo kabashada wakhtiga-dhibcaha. Haddii aad ku isticmaasho tusmooyinkan codsiyadaada (tusaale, PostGIS-ku salaysan codsiyada juqraafiyeed waxay isticmaalaan tusmada GiST in badan), tani waa sifo kale oo si weyn u wanaajin doonta khibrada adiga oo aan wax dadaal ah ka samayn dhinacaaga.
Qaybinta - ka weyn, ka wanaagsan, dhaqso
PostgreSQL 10 ayaa la soo bandhigay
Gudaha PostgreSQL 12, waxqabadka nidaamka qaybinta ayaa si weyn u fiicnaaday, gaar ahaan haddii ay jiraan kumanaan qaybood oo miiska ah. Tusaale ahaan, haddii su'aaluhu ay saameeyaan qaybo yar oo ka mid ah miis ay ku jiraan kumanaan ka mid ah, waxay u fulin doontaa si dhakhso ah. Waxqabadka kaliya laguma hagaajiyo noocyadan weydiimaha ah. Waxa kale oo aad ogaan doontaa sida ugu dhakhsaha badan ee hawlgallada INSERT ay ugu jiraan miisaska qaybo badan.
Duubista xogta iyadoo la isticmaalayo
Waad ku mahadsan tahay faa'iidooyinkan, PostgreSQL waxay kuu ogolaaneysaa inaad kaydiso xitaa xog badan oo aad u fududayso soo celinta. Wax dadaal ah oo dhankaaga ah ma jiraan. Haddii codsigu leeyahay qaybo badan, sida duubista xogta taxanaha wakhtiga, casriyaynta fudud ayaa si weyn u wanaajin doonta waxqabadkeeda.
Inkastoo tani aysan ahayn "kor u qaadida oo ku raaxayso" hagaajinta, PostgreSQL 12 waxay kuu ogolaaneysaa inaad abuurto furayaal shisheeye kuwaas oo tixraacaya miisaska la qaybiyay, taasoo ka dhigaysa qaybinta farxad la shaqeynta.
Su'aalaha ayaa hadda aad u fiicnaaday
Goorma
Waxaan inta badan ogaadaa in kuwa ku cusub SQL ay jecel yihiin isticmaalka CTE-yada; haddii aad u qorto si gaar ah, runtii waxay dareemeysaa inaad qorayso barnaamij muhiim ah. Shakhsi ahaan, waxaan jeclaa inaan dib u qoro weydiimahan si aan ugu wareego iyada oo aan CTE oo kordhiya wax soo saarka. Hadda wax walba waa ka duwan yihiin.
PostgreSQL 12 waxay kuu ogolaanaysaa inaad khad ka geliso nooc gaar ah oo CTE ah iyada oo aan wax saameyn ah lahayn (SELECT
), kaas oo la isticmaalo hal mar oo keliya meel u dhow dhammaadka codsiga. Haddii aan la socdo weydiimaha CTE ee aan dib u qoray, intooda badan waxay ku dhici doonaan qaybtan. Tani waxay ka caawinaysaa horumariyayaashu inay qoraan kood cad oo hadda waliba si dhakhso leh u shaqeeya.
Intaa waxaa dheer, PostgreSQL 12 waxay wanaajisaa fulinta SQL lafteeda, adigoon waxba samayn. In kasta oo ay u badan tahay in aanan u baahnayn in aan wanaajiyo weydiimahan oo kale, waa wax aad u wanaagsan in PostgreSQL ay sii waddo ka shaqaynta hagaajinta weydiinta.
Just-in-Time (JIT) - hadda waa default
On PostgreSQL 12 nidaamyada oo taageero leh
Maadaama JIT ay si caadi ah ugu shaqeyso PostgreSQL 12, waxqabadka ayaa iskii u fiicnaan doona, laakiin waxaan ku talinayaa in lagu tijaabiyo arjiga PostgreSQL 11, kaas oo soo bandhigay JIT, si loo cabbiro waxqabadka weydiinta oo arag haddii aad u baahan tahay inaad wax hagaajiso.
Ka waran inta kale ee sifooyinka cusub ee PostgreSQL 12?
PostgreSQL 12 waxay leedahay astaamo cusub oo cusub, laga bilaabo awooda lagu baadho xogta JSON iyadoo la adeegsanayo tibaaxaha marinka SQL/JSON ee caadiga ah ilaa xaqiijinta arrimo badan oo leh halbeeg clientcert=verify-full
, tiirar la sameeyay iyo qaar kaloo badan. Ku filan boos gaar ah.
Sida PostgreSQL 10, PostgreSQL 12 waxay hagaajin doontaa waxqabadka guud isla markiiba ka dib hagaajinta. Adiga, dabcan, waxaad yeelan kartaa dariiqaaga - tijaabi codsiga xaaladaha la midka ah ee nidaamka wax soo saarka ka hor inta aadan awood u siin hagaajinta, sida aan ku sameeyay PostgreSQL 10. Xitaa haddii PostgreSQL 12 ay horeyba uga xasilloon tahay sidii aan filayay, ha ku caajisin imtixaanka. Codsiyada si fiican, ka hor inta aan lagu sii dayn wax soo saarka.
Source: www.habr.com