Открыты исходные тексты СУБД CitusDB
Компания Citus Data объявила об открытии исходных текстов распределённой СУБД CitusDB. Ранее проект CitusDB развивался как форк PostgreSQL, но начиная с Citus 5.0 проект переработан в форму расширения к PostgreSQL, не требующего модификации кодовой базы и работающего поверх штатных выпусков PostgreSQL. Подобный подход позволяет использовать все появляющиеся в новых выпусках PostgreSQL новшества, такие как типы JSON/JSONB, операции UPSERT и работа без периодического выполнения "vacuum full" для больших БД. Код открыт под лицензией AGPLv3.
Citus обеспечивает горизонтальное масштабирование PostgreSQL в кластере на базе типового оборудования, с разнесением данных по узлам при помощи шардинга и репликации. Шардинг даёт возможность организовать хранилище для очень большого объема данных, суммарный размер которых существенно превышает локальные накопители каждого из узлов кластера. Дополнительное реплицирование данных на несколько узлов обеспечивает отказоустойчивость и позволяет сохранить работоспособность при выходе узлов из строя.
Для приложений кластер Citus выглядит как один большой сервер PostgreSQL, обладающий производительностью стоящих за ним узлов. Входящие запросы распараллеливаются по имеющимся серверам, позволяя добиться предсказуемого времени выполнения запроса к большим массивам данных, пополняемым в режиме реального времени. Например, благодаря распределению работы на все узлы кластера выполнение запроса в кластере из 20 серверов выполняется почти в 20 раз быстрее, чем на одном отдельном узле. Предлагается три планировщика выполнения запросов (router, real-time и task-tracker), позволяющий добиться оптимальных показателей при разном характере работы с данными (оперативная обработка (низкие задержки) или аналитика (пропускная способность)).
Типовыми областями использования Citus являются системы аналитики, разбор информации о случившихся событиях, архивирование больших наборов данных, генерация отчётов, анализ сеансов. Кластеры на базе CitusDB применяются в таких компаниях как CloudFlare (аналитика в реальном времени 100 Тб БД с данными 4 млн сайтов), MixRank (накопление и анализ статистики о B2B-продажах для поиска новых клиентов), Neustar (анализ миллиардов ежедневных событий в рекламной сети), Agari (обработка 6-8 Тб данных c электронной почтой).