Postgres Professional ïðåäñòàâèëà Postgres Pro Enterprise 18.4.1 — îáíîâëåíèå ôëàãìàíñêîé êîììåð÷åñêîé ÑÓÁÄ íà áàçå PostgreSQL. Íîâûé ðåëèç ðàñøèðÿåò âîçìîæíîñòè ãîðèçîíòàëüíîãî ìàñøòàáèðîâàíèÿ ÷èòàþùåé íàãðóçêè, ðàçâèâàåò âñòðîåííûå ìåõàíèçìû îòêàçîóñòîé÷èâîñòè è äîáàâëÿåò èíñòðóìåíòû äëÿ êîíòðîëÿ öåëîñòíîñòè äàííûõ è àäìèíèñòðèðîâàíèÿ. Îá ýòîì CNews ñîîáùèëè ïðåäñòàâèòåëè Postgres Professional.
Postgres Pro Enterprise ïðåäíàçíà÷åíà äëÿ êðóïíûõ êîðïîðàòèâíûõ ñèñòåì, ãäå âàæíû âûñîêàÿ ïðîèçâîäèòåëüíîñòü, îòêàçîóñòîé÷èâîñòü, áåçîïàñíîñòü è ïðåäñêàçóåìàÿ ýêñïëóàòàöèÿ.
«Â Postgres Pro Enterprise 18.4.1 ìû ñäåëàëè àêöåíò íà çàäà÷àõ, êîòîðûå ñåé÷àñ îñîáåííî àêòóàëüíû äëÿ êðóïíûõ èíôðàñòðóêòóð: áîëåå ýôôåêòèâíîì èñïîëüçîâàíèè ñåðâåðíîãî îáîðóäîâàíèÿ è îáåñïå÷åíèè íàäåæíîñòè, âêëþ÷àÿ ãåîðàñïðåäåëåííóþ êàòàñòðîôîóñòîé÷èâîñòü. Ðàáîòà ñ âðåìåííûìè îáúåêòàìè íà standby-ñåðâåðàõ è íîâàÿ ôóíêöèîíàëüíîñòü Proxima ïîçâîëÿþò àêòèâíåå èñïîëüçîâàòü ðåçåðâíûå óçëû, à íîâûå âîçìîæíîñòè BiHA è èíñòðóìåíòû àäìèíèñòðèðîâàíèÿ äåëàþò ýêñïëóàòàöèþ ñëîæíûõ ñèñòåì áîëåå ãèáêîé è óñòîé÷èâîé», — îòìåòèë Âàñèëèé ×åïöîâ, äèðåêòîð äåïàðòàìåíòà ðàçðàáîòêè ïðîäóêòîâ.
Âðåìåííûå îáúåêòû íà ðåïëèêàõ è áàëàíñèðîâêà íàãðóçêè
Êëþ÷åâûì èçìåíåíèåì âåðñèè 18.4.1 ñòàëà âîçìîæíîñòü ïîëíîöåííîé ðàáîòû ñ âðåìåííûìè îáúåêòàìè íà ðåçåðâíûõ ñåðâåðàõ. Òåïåðü íà ðåïëèêàõ ïîääåðæèâàþòñÿ îïåðàöèè ÷òåíèÿ è çàïèñè äëÿ âðåìåííûõ òàáëèö, ïîñëåäîâàòåëüíîñòåé è ïðåäñòàâëåíèé, à òàêæå ñîçäàíèå è âûçîâ âðåìåííûõ ôóíêöèé. Ýòî ïîçâîëÿåò ðàñøèðÿòü ñöåíàðèè ãîðèçîíòàëüíîãî ìàñøòàáèðîâàíèÿ áåç ñîçäàíèÿ îòäåëüíûõ êîïèé áàç äàííûõ, íàïðèìåð, äëÿ ãåíåðàöèè ñëîæíûõ îò÷åòîâ íà standby-ñåðâåðàõ, â òîì ÷èñëå, äëÿ ñèñòåì «1Ñ».
Ðàçâèòèå ïîëó÷èëî ðàñøèðåíèå Proxima, îáúåäèíÿþùåå ôóíêöèîíàëüíîñòü ïðîêñè-ñåðâåðà, áàëàíñèðîâùèêà íàãðóçêè è ïóëà ñîåäèíåíèé: äîáàâëåíû àäàïòèâíûå àëãîðèòìû ðàñïðåäåëåíèÿ çàïðîñîâ ê ðåïëèêàì ñ ó÷åòîì ïîòðåáëåíèÿ ïàìÿòè è èíòåíñèâíîñòè äèñêîâîãî ââîäà-âûâîäà; ðåàëèçîâàíà âîçìîæíîñòü ðàçìåùåíèÿ Proxima íà ëåãêîâåñíîì óçëå?ðåôåðè êëàñòåðà BiHA.
Îòêàçîóñòîé÷èâîñòü è ãåîðàñïðåäåëåííîñòü
 ðàñøèðåíèè BiHA (Built-in High Availability), äëÿ ïîñòðîåíèÿ ãåîðàñïðåäåëåííûõ êëàñòåðîâ ðåàëèçîâàí íîâûé ìåõàíèçì ìíîãîóðîâíåâîé êàòàñòðîôîóñòîé÷èâîñòè, ïîçâîëÿþùèé îáúåäèíèòü óçëû â ëîãè÷åñêèå ñåãìåíòû, êîòîðûå ìîæíî ðàñïîëîæèòü â ðàçíûõ ÖÎÄàõ. Ìåæäó ñåãìåíòàìè èñïîëüçóåòñÿ êàñêàäíàÿ ðåïëèêàöèÿ ñ àâòîìàòè÷åñêèì ïåðåñòðîåíèåì ðåïëèêàöèè â ñëó÷àå ñáîÿ ëþáîãî èç óçëîâ.
Ïðîèçâîäèòåëüíîñòü è ãëîáàëüíûå èíäåêñû
 âåðñèþ 18.4.1 âîøëî ðàñøèðåíèå pgpro_iheap äëÿ óñêîðåíèÿ ïîñëåäîâàòåëüíîãî ñêàíèðîâàíèÿ òàáëèö, à ìîäóëü àâòîìàòè÷åñêîãî ïîäáîðà ïëàíîâ AQO îáíîâëåí äî âåðñèè 4.1: îïòèìèçèðîâàíà âíóòðåííÿÿ ñòðóêòóðà õðàíèëèùà äàííûõ è óëó÷øåíû ìåõàíèçìû âûäåëåíèÿ ðàçäåëÿåìîé ïàìÿòè, ÷òî ñíèæàåò âåðîÿòíîñòü áëîêèðîâîê â âûñîêîíàãðóæåííûõ ñåññèÿõ.
Òàêæå ïîëó÷èëî ñóùåñòâåííîå ðàçâèòèå ðàñøèðåíèå pgpro_gbtree äëÿ ðàáîòû ñ ãëîáàëüíûìè èíäåêñàìè íà ñåêöèîíèðîâàííûõ òàáëèöàõ. Òåïåðü ïîääåðæèâàþòñÿ ñîâìåñòèìîñòü ãëîáàëüíûõ óíèêàëüíûõ èíäåêñîâ ñ êîíñòðóêöèåé ON CONFLICT, ñîçäàíèå ãëîáàëüíîãî èíäåêñà ïî ñòîëáöó, âõîäÿùåìó â ñîñòàâ ïåðâè÷íîãî êëþ÷à, îïåðàöèè ñîçäàíèÿ è ïåðåñòðîåíèÿ èíäåêñîâ ñ ïàðàìåòðîì CONCURRENTLY, âîçìîæíîñòü èñïîëüçîâàòü àâòîî÷èñòêó (AUTOVACUUM) äëÿ ãëîáàëüíûõ èíäåêñîâ, óêàçûâàòü ññûëêè èç äî÷åðíèõ òàáëèö íà ãëîáàëüíûé èíäåêñ ïðè ïîìîùè âíåøíåãî êëþ÷à è äîáàâëåíû íàñòðîéêè ïëàíèðîâùèêà, óïðàâëÿþùèå èñïîëüçîâàíèåì ãëîáàëüíûõ èíäåêñîâ.
Òàêæå îïòèìèçèðîâàíà ðàáîòà ñ ñèñòåìíûìè ðåñóðñàìè íà ñåêöèîíèðîâàííûõ òàáëèöàõ: ðåàëèçîâàíî êåøèðîâàíèå äåñêðèïòîðîâ ôàéëîâ äëÿ êàòàëîãîâ â äèðåêòîðèè PGDATA, ÷òî ñíèæàåò íàãðóçêó íà ïðîöåññîð ïðè ïëàíèðîâàíèè SQL-çàïðîñîâ.
Íîâûå èíñòðóìåíòû
 ñîñòàâ Postgres Pro Enterprise 18.4.1 âîøëè íîâûå èíñòðóìåíòû äëÿ àäìèíèñòðàòîðîâ: pgpro_logical_slot äëÿ óïðàâëåíèÿ ñëîòàìè ëîãè÷åñêîé ðåïëèêàöèè, pgpro_temp_stats äëÿ ñáîðà ñòàòèñòèêè ïî âðåìåííûì òàáëèöàì è pgpro_validate äëÿ ïðîâåðêè ôèçè÷åñêîé è ëîãè÷åñêîé öåëîñòíîñòè äàííûõ ýêçåìïëÿðà ÑÓÁÄ.
Postgres Pro Enterprise 18.4.1 óæå äîñòóïíà ïîëüçîâàòåëÿì. Ïîäðîáíûå èíñòðóêöèè ïî óñòàíîâêå îáíîâëåíèÿ è ìèãðàöèè äàííûõ ïðåäñòàâëåíû â îôèöèàëüíîé äîêóìåíòàöèè ê âûïóñêó.


