Издадена е разпределената СУБД Citus 13.0

Компания Citus Data, принадлежаща на Microsoft, публикува разпределената СУБД Citus 13.0, реализирана като разширение на PostgreSQL 17. Citus предоставя хоризонтално мащабиране на PostgreSQL в клъстера, базиран на стандартно оборудване, и позволява разпределение на данни между възлите с помощта на шардинг (sharding) чрез настройка на разделение на ниво колони и схема на съхранение. За приложенията клъстерът Citus изглежда като един голям сервер PostgreSQL, обединяващ ресурсите на образуващите го възли. Кодът е написан на C и се разпространява под лиценз AGPLv3.

Шардингът позволява организиране на съхранение на много голям обем данни, чийто общ размер значително превишава локалните хранилища на всеки от възлите в клъстера. Отделни таблици могат да бъдат принудително репликирани на всички възли за ускоряване на операциите за сливане и работа с външни ключове. За икономия на дисково пространство, разпределените по различни възли данни могат да се съхраняват в компресиран вид.

Разпределените заявки могат да бъдат изпращани до всеки от възлите на клъстера, но управлението и промените в схемата на данни трябва да се извършват само през възела, координиращ работа на клъстера. Получените от клиентите заявки се разпределят по необходимите възли и, ако обхващат няколко възла, тяхната обработка се разпаралелизира. Клъстерът може да бъде разширяван с нарастването на размера на съхраняваните данни, добавяйки допълнителни възли и инициирайки ребалансиране.

Като типични примери за използване на Citus се отбелязва изпълнение на аналитични заявки и обработка на големи масиви данни под формата на времеви ред (например логове или анкети за състоянието на сензорите). Citus също е подходящ за модернизация на съществуваща инфраструктура базирана на единичен сървър PostgreSQL, чиято производителност и хранилища вече не са достатъчни поради увеличеното натоварване или обема на постъпващите данни. С помощта на инструмента Patroni могат да се създадат отказоустойчиви конфигурации с репликирани резервни възли, способни в случай на неизправност да заемат мястото на основните възли.

Промени в изданието Citus 13.0:

  • Преминаване на използването на клон PostgreSQL 17.
  • Възможност за използване в разпределени запитвания на функцията JSON_TABLE() за преобразуване на данни от JSON формат в релационно представяне, с което може да се работи като с обикновени таблици PostgreSQL.
  • Поддръжка на синтаксиса „MERGE … WHEN NOT MATCHED BY SOURCE“.
  • Възможност за определяне на метода на достъп за разпределени секционирани таблици чрез израза „CREATE TABLE … USING“, както и промяна на метода на достъп чрез „ALTER TABLE … SET ACCESS METHOD“.
  • Добавена поддръжка за указването на автоматично генерирани идентификационни колони в разпределени секционирани таблици.
  • Позволено е прилагането на изключващи ограничения в разпределени секционирани таблици.
  • Решени са проблемите със синхронизацията на роли между възлите.
  • Подобреното разпределение на данни за шардване при добавяне на нови възли в клъстера.
  • В командата „EXPLAIN“ са добавени опциите „MEMORY“ и „SERIALIZE“, с помощта на които може да се определи размерът на използваната памет и времето, отделено за преобразуване на данните за предаване по мрежата.

Източник: opennet.ru

Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster