Fl-opinjoni tiegħi, kuntrarjament għal rilaxxi preċedenti, PostgreSQL 12 ma fihx karatteristika rivoluzzjonarja waħda jew tnejn (bħal diviżorju jew paralleliżmu tal-mistoqsijiet). Darba ċajtajt li l-karatteristika ewlenija ta 'PostgreSQL 12 hija stabbiltà akbar. Mhux dak li għandek bżonn meta timmaniġġja d-dejta kritika tan-negozju tiegħek?
Iżda PostgreSQL 12 ma jieqafx hemm: b'karatteristiċi u titjib ġodda, l-applikazzjonijiet se jaħdmu aħjar, u kull ma trid tagħmel hu li taġġorna!
(Tajjeb, forsi terġa 'tinbena l-indiċi, iżda f'din ir-rilaxx mhux tal-biża' daqs kemm aħna mdorrijin.)
Ikun tajjeb ħafna li taġġorna PostgreSQL u tgawdi immedjatament titjib sinifikanti mingħajr tfixkil bla bżonn. Ftit snin ilu, irrevedja aġġornament minn PostgreSQL 9.4 għal PostgreSQL 10 u rajt kif l-applikazzjoni tħaffef grazzi għall-paralleliżmu mtejjeb tal-mistoqsijiet f'PostgreSQL 10. U, l-aktar importanti, kważi xejn ma kien meħtieġ mingħandi (settja biss parametru ta' konfigurazzjoni max_parallel_workers
).
Naqbel, huwa konvenjenti meta l-applikazzjonijiet jaħdmu aħjar immedjatament wara aġġornament. U nippruvaw ħafna biex nogħġbu lill-utenti, għax PostgreSQL għandu aktar u aktar minnhom.
Allura kif jista 'jagħmel aġġornament sempliċi għal PostgreSQL 12 ferħan? Jien ngħidlek issa.
Titjib kbir fl-indiċjar
Mingħajr indiċjar, database ma tmurx 'il bogħod. Kif inkella tista' ssib informazzjoni malajr? Is-sistema ta 'indiċjar fundamentali ta' PostgreSQL tissejjaħ
Aħna sempliċiment nużaw l-operatur CREATE INDEX ON some_table (some_column)
, u PostgreSQL jagħmel ħafna xogħol biex iżomm l-indiċi aġġornat waqt li kontinwament indaħħlu, naġġornaw u nħassru l-valuri. Kollox jaħdem waħdu, bħallikieku bil-maġija.
Iżda l-indiċi PostgreSQL għandhom problema waħda - huma
PostgreSQL 12 itejjeb ħafna l-prestazzjoni tal-indiċi tas-siġar B, u esperimenti b'punti ta 'referenza bħal TPC-C wrew li issa jintuża medja ta' 40% inqas spazju. Issa nqattgħu inqas ħin mhux biss fuq iż-żamma ta 'indiċi B-tree (jiġifieri, fuq operazzjonijiet ta' kitba), iżda wkoll fuq l-irkupru tad-dejta, minħabba li l-indiċijiet huma ħafna iżgħar.
Applikazzjonijiet li jaġġornaw it-tabelli tagħhom b'mod attiv - tipikament applikazzjonijiet OLTP (
Xi strateġiji ta’ aġġornament jeħtieġu li jinbnew mill-ġdid l-indiċi tas-siġar B biex jieħdu vantaġġ minn dawn il-benefiċċji (eż.
Hemm titjib ieħor fl-infrastruttura tal-indiċjar f'PostgreSQL 12. Ħaġa oħra fejn kien hemm xi maġija -
PostgreSQL 12 naqqas l-overhead tar-rekords WAL li huma maħluqa mill-indiċi GiST, GIN, u SP-GiST waqt il-kostruzzjoni tal-indiċi. Dan jipprovdi diversi benefiċċji tanġibbli: ir-rekords WAL jieħdu inqas spazju fuq id-diska, u d-dejta terġa' tintlagħab aktar malajr, bħal waqt l-irkupru minn diżastru jew l-irkupru fil-ħin. Jekk tuża dawn l-indiċi fl-applikazzjonijiet tiegħek (pereżempju, applikazzjonijiet ġeospazjali bbażati fuq PostGIS jużaw ħafna l-indiċi GiST), din hija karatteristika oħra li ttejjeb b'mod sinifikanti l-esperjenza mingħajr ebda sforz min-naħa tiegħek.
Il-qsim - akbar, aħjar, aktar mgħaġġel
PostgreSQL 10 introdott
F'PostgreSQL 12, il-prestazzjoni tas-sistema ta 'qsim saret aħjar b'mod sinifikanti, speċjalment jekk ikun hemm eluf ta' diviżorji fit-tabella. Pereżempju, jekk mistoqsija taffettwa biss ftit diviżorji f'tabella b'eluf minnhom, se tesegwixxi ħafna aktar malajr. Il-prestazzjoni mhix imtejba biss għal dawn it-tipi ta' mistoqsijiet. Tinnota wkoll kemm l-operazzjonijiet INSERT huma aktar mgħaġġla fuq tabelli b'diversi diviżorji.
Reġistrazzjoni tad-data bl-użu
Grazzi għal dawn il-vantaġġi, PostgreSQL jippermettilek taħżen settijiet ta 'dejta saħansitra akbar u tagħmilhom aktar faċli biex jiġu rkuprati. U l-ebda sforz min-naħa tiegħek. Jekk l-applikazzjoni għandha ħafna diviżorji, bħall-irrekordjar tad-dejta tas-serje tal-ħin, aġġornament sempliċi se jtejjeb b'mod sinifikanti l-prestazzjoni tiegħu.
Filwaqt li dan mhuwiex eżattament titjib "taġġorna u jgawdi", PostgreSQL 12 jippermettilek toħloq ċwievet barranin li jirreferu għal tabelli maqsuma, u b'hekk il-qsim ikun pjaċir jaħdem magħhom.
B'mistoqsijiet biss marret ħafna aħjar
Meta
Spiss insib li l-ġodda tal-SQL iħobbu jużaw CTEs; jekk tiktebhom b'ċertu mod, verament tħoss li qed tikteb programm imperattiv. Personalment, għoġobni nikteb mill-ġdid dawn il-mistoqsijiet biex inmur mingħajr CTE u żżid il-produttività. Issa kollox huwa differenti.
PostgreSQL 12 jippermettilek inline tip speċifiku ta' CTE mingħajr effetti sekondarji (SELECT
), li tintuża darba biss lejn it-tmiem tat-talba. Jekk inżomm kont tal-mistoqsijiet tas-CTE li ktibt mill-ġdid, ħafna minnhom jaqgħu f'din il-kategorija. Dan jgħin lill-iżviluppaturi jiktbu kodiċi ċar li issa wkoll jaħdem malajr.
Barra minn hekk, PostgreSQL 12 jottimizza l-eżekuzzjoni SQL innifsu, mingħajr ma jkollok tagħmel xejn. U għalkemm probabbilment mhux se jkolli bżonn nottimizza tali mistoqsijiet issa, huwa tajjeb ħafna li PostgreSQL ikompli jaħdem fuq l-ottimizzazzjoni tal-mistoqsijiet.
Just-in-Time (JIT) - issa default
Fuq sistemi PostgreSQL 12 b'appoġġ
Peress li JIT huwa attivat b'mod awtomatiku f'PostgreSQL 12, il-prestazzjoni se titjieb waħedha, iżda nirrakkomanda li tittestja l-applikazzjoni f'PostgreSQL 11, li introduċa JIT, biex titkejjel il-prestazzjoni tal-mistoqsijiet u tara jekk għandekx bżonn tistuna xi ħaġa.
Xi ngħidu dwar il-bqija tal-karatteristiċi ġodda f'PostgreSQL 12?
PostgreSQL 12 għandu ton ta 'karatteristiċi ġodda friski, mill-abbiltà li teżamina dejta JSON billi tuża espressjonijiet ta' rotta SQL/JSON standard għal awtentikazzjoni b'ħafna fatturi b'parametru clientcert=verify-full
, ħoloq kolonni u ħafna aktar. Biżżejjed għal post separat.
Bħal PostgreSQL 10, PostgreSQL 12 se jtejjeb il-prestazzjoni ġenerali immedjatament wara l-aġġornament. Int, ovvjament, jista 'jkollok it-triq tiegħek - ittestja l-applikazzjoni taħt kundizzjonijiet simili fuq is-sistema ta' produzzjoni qabel ma tippermetti titjib, kif għamilt ma 'PostgreSQL 10. Anki jekk PostgreSQL 12 huwa diġà aktar stabbli milli stennejt, tkun għażżien fl-ittestjar l-applikazzjonijiet bir-reqqa, qabel ma joħorġuhom fil-produzzjoni.
Sors: www.habr.com