Nam bheachd-sa, eu-coltach ri fiosan roimhe, chan eil aon no dhà de fheartan rèabhlaideach ann am PostgreSQL 12 (leithid sgaradh no ceist co-shìnte). Rinn mi magadh aon uair gur e am prìomh fheart de PostgreSQL 12 barrachd seasmhachd. Nach e sin a tha a dhìth ort nuair a stiùireas tu dàta èiginneach do ghnìomhachas?
Ach cha stad PostgreSQL 12 an sin: le feartan ùra agus leasachaidhean, obraichidh tagraidhean nas fheàrr, agus chan eil agad ach ùrachadh!
(Uill, is dòcha ath-thog na clàran-amais, ach anns an fhoillseachadh seo chan eil e cho eagallach ‘s a tha sinn cleachdte ris.)
Bidh e math PostgreSQL ùrachadh agus leasachaidhean mòra a mhealtainn sa bhad às aonais fealla-dhà neo-riatanach. O chionn beagan bhliadhnaichean, rinn mi ath-sgrùdadh air ùrachadh bho PostgreSQL 9.4 gu PostgreSQL 10 agus chunnaic mi mar a dh ’fhàs an tagradh mar thoradh air co-shìnteachd ceist leasaichte ann am PostgreSQL 10. Agus, nas cudromaiche, cha mhòr nach robh feum air dad bhuam (dìreach suidhich paramadair rèiteachaidh max_parallel_workers
).
Aontaich, tha e goireasach nuair a bhios tagraidhean ag obair nas fheàrr dìreach às deidh ùrachadh. Agus bidh sinn a’ feuchainn gu cruaidh ri luchd-cleachdaidh a thoileachadh, oir tha barrachd is barrachd dhiubh aig PostgreSQL.
Mar sin ciamar as urrainn do ùrachadh sìmplidh gu PostgreSQL 12 do dhèanamh toilichte? Innsidh mi dhut a-nis.
Leasachaidhean mòra clàr-amais
Às aonais clàr-amais, cha tèid stòr-dàta fada. Ciamar eile a lorgas tu fiosrachadh gu sgiobalta? Canar siostam clàr-amais bunaiteach PostgreSQL
Bidh sinn dìreach a’ cleachdadh a’ ghnìomhaiche CREATE INDEX ON some_table (some_column)
, agus bidh PostgreSQL a’ dèanamh tòrr obrach gus an clàr-amais a chumail ùraichte fhad ‘s a bhios sinn an-còmhnaidh a’ cuir a-steach, ag ùrachadh, agus a ’cuir às do luachan. Bidh a h-uile dad ag obair leis fhèin, mar gum biodh le draoidheachd.
Ach tha aon dhuilgheadas aig clàran-amais PostgreSQL - iadsan
Tha PostgreSQL 12 gu mòr a’ leasachadh coileanadh chlàran-craobhan B, agus tha deuchainnean le slatan-tomhais mar TPC-C air sealltainn gu bheil gu cuibheasach 40% nas lugha de rùm ga chleachdadh a-nis. A-nis bidh sinn a 'caitheamh nas lugha de ùine chan ann a-mhàin air cumail suas clàran-craobhan B (is e sin, air obraichean sgrìobhaidh), ach cuideachd air dàta fhaighinn air ais, oir tha na clàran-amais mòran nas lugha.
Tagraidhean a bhios gu gnìomhach ag ùrachadh na clàran aca - mar as trice tagraidhean OLTP (
Feumaidh cuid de ro-innleachdan ùrachadh clàran-amais B-craobhan ath-thogail gus brath a ghabhail air na buannachdan sin (m.e.
Tha leasachaidhean eile air a’ bhun-structar clàr-amais ann am PostgreSQL 12. Rud eile far an robh draoidheachd -
Tha PostgreSQL 12 air lùghdachadh a dhèanamh air na tha de chlàran WAL a tha air an cruthachadh le clàran-amais GiST, GIN, agus SP-GiST aig àm togail clàr-amais. Tha seo a’ toirt grunn bhuannachdan susbainteach: bidh clàran WAL a’ gabhail nas lugha de dh’ àite diosc, agus bidh dàta air ath-chluich nas luaithe, leithid nuair a thèid mòr-thubaist a thoirt air ais no faighinn seachad air puing-ann-ùine. Ma chleachdas tu clàran-amais mar seo anns na tagraidhean agad (mar eisimpleir, bidh tagraidhean geospatial stèidhichte air PostGIS a’ cleachdadh clàr-amais GiST gu mòr), is e feart eile a tha seo a leasaicheas an eòlas gu mòr gun oidhirp sam bith air do shon.
Pàirteachadh - nas motha, nas fheàrr, nas luaithe
PostgreSQL 10 air a thoirt a-steach
Ann am PostgreSQL 12, tha coileanadh an t-siostam sgaradh air fàs gu math nas fheàrr, gu sònraichte ma tha mìltean de sgaradh sa chlàr. Mar eisimpleir, ma tha ceist a 'toirt buaidh air dìreach beagan phàirtean ann an clàr le mìltean dhiubh, bidh e a' coileanadh mòran nas luaithe. Chan eil coileanadh dìreach air a leasachadh airson an seòrsa cheistean seo. Mothaichidh tu cuideachd cho luath sa tha gnìomhachd INSERT air bùird le ioma-phàirteachaidhean.
A’ clàradh dàta a’ cleachdadh
Taing dha na buannachdan sin, leigidh PostgreSQL leat seataichean dàta eadhon nas motha a stòradh agus an dèanamh nas fhasa faighinn air ais. Agus gun oidhirp air do shon. Ma tha mòran phàirtean san tagradh, leithid clàradh dàta sreath ùine, leasaichidh ùrachadh sìmplidh a choileanadh gu mòr.
Ged nach e dìreach leasachadh “àrdachadh is tlachd” a tha seo, leigidh PostgreSQL 12 leat iuchraichean cèin a chruthachadh a bheir iomradh air bùird sgaraidh, a’ dèanamh sgaradh na thoileachas a bhith ag obair leis.
LE ceistean dìreach air fàs tòrr nas fheàrr
Cuin
Bidh mi tric a’ faighinn a-mach gu bheil daoine ùra gu SQL dèidheil air CTEn a chleachdadh; ma sgrìobhas tu iad ann an dòigh shònraichte, tha e dha-rìribh a’ faireachdainn gu bheil thu a’ sgrìobhadh prògram riatanach. Gu pearsanta, bu toil leam na ceistean sin ath-sgrìobhadh airson faighinn timcheall gun CTE agus àrdachadh cinneasachd. A-nis tha a h-uile dad eadar-dhealaichte.
Leigidh PostgreSQL 12 leat seòrsa sònraichte de CTE a in-loidhne gun bhuaidhean taobh (SELECT
), a tha air a chleachdadh dìreach aon turas faisg air deireadh an iarrtais. Nam bithinn a’ cumail sùil air na ceistean CTE a rinn mi ath-sgrìobhadh, bhiodh a’ mhòr-chuid dhiubh san roinn seo. Cuidichidh seo le luchd-leasachaidh còd soilleir a sgrìobhadh a tha a-nis a’ ruith gu sgiobalta.
A bharrachd air an sin, tha PostgreSQL 12 a’ dèanamh an fheum as fheàrr de choileanadh SQL fhèin, gun a bhith agad ri dad a dhèanamh. Agus ged is dòcha nach fheum mi na ceistean sin a mheudachadh a-nis, tha e math gu bheil PostgreSQL a ’leantainn air adhart ag obair air optimization ceist.
Dìreach ann an Ùine (JIT) - a-nis bunaiteach
Air siostaman PostgreSQL 12 le taic
Leis gu bheil JIT air a chomasachadh gu bunaiteach ann am PostgreSQL 12, thig piseach air coileanadh leis fhèin, ach tha mi a’ moladh deuchainn a dhèanamh air an tagradh ann am PostgreSQL 11, a thug a-steach JIT, gus coileanadh ceist a thomhas agus faicinn a bheil feum agad air rud sam bith a ghleusadh.
Dè mu dheidhinn a’ chòrr de na feartan ùra ann am PostgreSQL 12?
Tha tunna de fheartan ùra fionnar aig PostgreSQL 12, bhon chomas sgrùdadh a dhèanamh air dàta JSON a’ cleachdadh abairtean slighe àbhaisteach SQL / JSON gu dearbhadh ioma-fhactaraidh le paramadair clientcert=verify-full
, colbhan air an cruthachadh agus mòran a bharrachd. Gu leòr airson post air leth.
Coltach ri PostgreSQL 10, leasaichidh PostgreSQL 12 coileanadh iomlan dìreach às deidh an ùrachadh. Faodaidh tu, gu dearbh, do shlighe fhèin a bhith agad - dèan deuchainn air an tagradh fo chumhachan co-chosmhail air an t-siostam toraidh mus cuir thu an comas leasachaidhean, mar a rinn mi le PostgreSQL 10. Fiù ma tha PostgreSQL 12 mar-thà nas seasmhaiche na bha mi an dùil, na bi leisg ann an deuchainn tagraidhean gu mionaideach, mus tèid an leigeil ma sgaoil gu cinneasachadh.
Source: www.habr.com