Êîìïàíèÿ «Òàíòîð Ëàáñ» îáúÿâëÿåò î âûïóñêå ÑÓÁÄ Tantor Basic 18, îñíîâàííîé íà ìàæîðíîì ðåëèçå PostgreSQL 18 è âêëþ÷àþùåé âñå åå êëþ÷åâûå âîçìîæíîñòè. Áàçîâàÿ ðåäàêöèÿ îò âåíäîðà âêëþ÷àåò òåõíè÷åñêóþ ïîääåðæêó, ïëàòôîðìó óïðàâëåíèÿ ëþáûìè ÁÄ íà îñíîâå Postgres è ðÿä èñïðàâëåíèé è äîðàáîòîê, íàïðàâëåííûõ íà ïîâûøåíèå ñòàáèëüíîñòè, áåçîïàñíîñòè è ïðåäñêàçóåìîñòè ðàáîòû ÑÓÁÄ. Îá Ýòîì CNews ñîîáùèëè ïðåäñòàâèòåëè «Ãðóïïû Àñòðà».
 ñîñòàâ Tantor Basic 18 âîøëè âñå íîâîââåäåíèÿ PostgreSQL 18, â òîì ÷èñëå:
– Àñèíõðîííûé ââîä-âûâîä (AIO): Íîâàÿ ïîäñèñòåìà ïîçâîëÿåò âûïîëíÿòü îïåðàöèè ââîäà-âûâîäà ïàðàëëåëüíî, íå áëîêèðóÿ ðàáî÷èå ïðîöåññû. Ýòî ïðèâîäèò ê çíà÷èòåëüíîìó óñêîðåíèþ ïîñëåäîâàòåëüíûõ ñêàíèðîâàíèé áîëüøèõ òàáëèö, îïåðàöèé ñ áèòîâûìè èíäåêñàìè (bitmap scan), ôîíîâîé î÷èñòêè (VACUUM) è äðóãèõ îïåðàöèé, èíòåíñèâíî èñïîëüçóþùèõ äèñê, ïîâûøàåò îáùóþ ïðîïóñêíóþ ñïîñîáíîñòü ñèñòåìû è ñîêðàùàåò âðåìÿ îòêëèêà ïðè ðàáîòå ñ áîëüøèìè îáúåìàìè äàííûõ;
– Ëîãè÷åñêàÿ ðåïëèêàöèÿ èç ðåçåðâíûõ êîïèé: åå çàïóñê òåïåðü âîçìîæåí íàïðÿìóþ èç ôèçè÷åñêèõ ðåçåðâíûõ êîïèé, ÷òî óñêîðÿåò è óïðîùàåò ðàçâåðòûâàíèå ðåïëèê;
– Skip Scan ïî ñîñòàâíûì èíäåêñàì: îïòèìèçàòîð ïîëó÷èë âîçìîæíîñòü ýôôåêòèâíî èñïîëüçîâàòü ñîñòàâíûå B-tree èíäåêñû, äàæå êîãäà â çàïðîñå íå óêàçàíî óñëîâèå ïî ïåðâîìó ñòîëáöó èíäåêñà. Ýòî ñîêðàùàåò íåîáõîäèìîñòü â ñîçäàíèè äîïîëíèòåëüíûõ èíäåêñîâ, ýêîíîìèò äèñêîâîå ïðîñòðàíñòâî è óñêîðÿåò îïåðàöèè çàïèñè;
– Óòèëèòà pg_verifybackup â ñîñòàâå äèñòðèáóòèâà äëÿ ïðîâåðêè öåëîñòíîñòè ðåçåðâíûõ êîïèé, ñäåëàííûõ ÷åðåç pg_basebackup, ïîâûøàåò íàäåæíîñòü ïðîöåäóð âîññòàíîâëåíèÿ;
– Ôóíêöèÿ uuidv7(): äîáàâëåíà âñòðîåííàÿ ôóíêöèÿ äëÿ ãåíåðàöèè UUID âåðñèè 7, êîòîðûå ëó÷øå ïîäõîäÿò äëÿ èñïîëüçîâàíèÿ â êà÷åñòâå ïåðâè÷íûõ êëþ÷åé, îáåñïå÷èâàÿ ñîðòèðîâêó è âûñîêóþ ïðîèçâîäèòåëüíîñòü èíäåêñîâ;
– Àóòåíòèôèêàöèÿ OAuth 2.0: äîáàâëåíà âñòðîåííàÿ ïîääåðæêà ñîâðåìåííîãî ïðîòîêîëà àóòåíòèôèêàöèè OAuth, ÷òî óïðîùàåò èíòåãðàöèþ ñ öåíòðàëèçîâàííûìè ñèñòåìàìè èäåíòèôèêàöèè (IdP) è ðåàëèçàöèþ åäèíîãî âõîäà (SSO);
– Ñîõðàíåíèå ñòàòèñòèêè ïðè îáíîâëåíèè (pg_upgrade): ïðè îáíîâëåíèè ìàæîðíîé âåðñèè ÑÓÁÄ ñ ïîìîùüþ pg_upgrade òåïåðü ñîõðàíÿåòñÿ ñòàòèñòèêà îïòèìèçàòîðà.
 íîâûé ðåëèç òàêæå âîøëè äîïîëíåíèÿ, ðàçðàáîòàííûå «Òàíòîð Ëàáñ», â ÷àñòíîñòè, íîâîå ðàñøèðåíèå pg_sample_profile, îáåñïå÷èâàþùåå ïðîôèëèðîâàíèå àêòèâíîñòè ðàáîòû áàçû äàííûõ è âêëþ÷àþùåå òàêóþ ôóíêöèîíàëüíîñòü, êàê: ñáîð ñòàòèñòèêè ïî ïðîöåññàì êëèåíòñêîé ñåññèè, âêëþ÷àÿ îñíîâíîé ïðîöåññ è ïîðîæäåííûå îò íåãî ïàðàëëåëüíûå âîðêåðû; ñáîð ñòàòèñòèêè ïî âñåì «æèâûì» ïðîöåññàì â òå÷åíèå óêàçàííîãî âðåìåíè; ñîð ñòàòèñòèêè ïî âñåì ïðîöåññàì ÑÓÁÄ â òå÷åíèå óêàçàííîãî âðåìåíè.
Ðàñøèðåíà ôóíêöèîíàëüíîñòü óòèëèòû pgaudit:
– Ðåàëèçîâàíà ïîääåðæêà áîëåå 170 íîâûõ ñîáûòèé, âêëþ÷àÿ DML-îïåðàöèè (SELECT, INSERT, UPDATE, DELETE, TRUNCATE, COPY) è DDL-îïåðàöèè (CREATE, ALTER, DROP äëÿ òàáëèö, èíäåêñîâ, ïðåäñòàâëåíèé, ôóíêöèé, ðîëåé è äðóãèõ îáúåêòîâ);
– Ðàñøèðåíà ïîääåðæêà òèïîâ îáúåêòîâ áàçû äàííûõ äëÿ òî÷íîãî îïðåäåëåíèÿ öåëåâûõ îáúåêòîâ ìàðêèðîâêè;
– Äîáàâëåíà ñèñòåìà ìàðêèðîâêè ñîáûòèé, îáåñïå÷èâàþùàÿ âûáîðî÷íîå ëîãèðîâàíèå ñîáûòèé íà îñíîâå íàñòðàèâàåìûõ ïðàâèë;
– Ðåàëèçîâàíî õðàíåíèå ïðàâèë ìàðêèðîâêè íà äèñê ñ ïîìîùüþ ôóíêöèè pgaudit_marking.rules_conf_save();
– Äîáàâëåíà íàñòðîéêà pgaudit.marking_rules_enabled, ïîçâîëÿþùàÿ âêëþ÷àòü èëè îòêëþ÷àòü ñèñòåìó ìàðêèðîâêè ñîáûòèé;
– Ðåàëèçîâàíî îòäåëüíîå æóðíàëèðîâàíèå ìàðêèðîâàííûõ ñîáûòèé â CSV-ôîðìàò, âêëþ÷àÿ âðåìåííûå ìåòêè, äåòàëè ïîäêëþ÷åíèÿ, òèïû ñîáûòèé è îáúåêòîâ, òåêñò çàïðîñà è ñòàòóñ âûïîëíåíèÿ;
– Ïðåäóñìîòðåíû ôóíêöèè óïðàâëåíèÿ ïðàâèëàìè: pgaudit_marking.set_rule(), pgaudit_marking.remove_rule(), pgaudit_marking.show_rules() äëÿ íàñòðîéêè è ìîíèòîðèíãà ïðàâèë âî âðåìÿ âûïîëíåíèÿ.
«Ñ âûõîäîì áàçîâîé ðåäàêöèè ÑÓÁÄ Tantor Postgres 18 ìàëûé è ñðåäíèé áèçíåñ ìîæåò ðàññ÷èòûâàòü íà ïðåèìóùåñòâà âñåõ íîâîââåäåíèé "âàíèëüíîé" PostgreSQL 18 è äîïîëíåíèé îò Tantor, âêëþ÷àÿ ïðîäâèíóòûå ñðåäñòâà àäìèíèñòðèðîâàíèÿ ÁÄ è âåíäîðñêóþ ïîääåðæêó», — îòìåòèë Âàäèì ßöåíêî, ãåíåðàëüíûé äèðåêòîð «Òàíòîð Ëàáñ».


