Доступна распределенная СУБД CitusDB 7.3
Как сообщает opennet.ru компания Citus Data опубликовала выпуск открытой распределенной СУБД CitusDB 7.3, которая поставляется в форме расширения к PostgreSQL, работающего поверх штатных выпусков PostgreSQL 9.6 и 10. CitusDB обеспечивает горизонтальное масштабирование PostgreSQL в кластере на базе типового оборудования, с разнесением данных по узлам при помощи партицирования и репликации. Для приложений кластер CitusDB выглядит как один большой сервер PostgreSQL, обладающий производительностью образующих его узлов. Код распространяется под лицензией AGPLv3.
Партицирование дает возможность организовать хранение очень большого объема данных, суммарный размер которых существенно превышает локальные накопители каждого из узлов кластера, а реплицирование на несколько узлов обеспечивает отказоустойчивость и позволяет сохранить работоспособность при выходе узлов из строя. Входящие запросы распараллеливаются по имеющимся серверам, позволяя добиться предсказуемого времени выполнения запроса к большим массивам данных, пополняемым в режиме реального времени. Предлагается три планировщика выполнения запросов (router, real-time и task-tracker), позволяющих добиться оптимальных показателей при разном характере работы с данными (оперативная обработка - низкие задержки или аналитика - высокая пропускная способность).
- Поддержка сложных подзапросов при обработке данных, хранящихся на нескольких узлах кластера. В частности, над распределенным хранилищем теперь можно выполнять операции JOIN для слияния двух и более подзапросов к разным таблицам, добавлена поддержка всех видов подзапросов, допустимых в выражении WHERE, и возможность применения модифицирующих конструкций в выражениях WITH (CTE, Common Table Expression);
- Расширение списка сложных агрегатных функций, которые допустимо использовать в кластере Citus. Добавлена поддержка json_agg, json_object_agg, jsonb_agg, jsonb_object_agg, bool_or, bool_and, bit_or и bit_and;
- Возможность переименования распределенных на несколько узлов таблиц и индексов при помощи штатной конструкции "ALTER TABLE/INDEX... RENAME TO...", а также изменения параметров индексов командой "ALTER INDEX... SET...";
- Возможность полноценной интеграции с системой бизнес-анализа Tableau (достаточно выбрать PostgreSQL в настройках Tableau для подключения к CitusDB);
- Поддержка расширения TopN, позволяющего эффективно рассчитывать выборки наиболее популярных значений в записях.