Отличия СУБД «Квант-Гибрид» от PostgreSQL
Преимущества СУБД «Квант-Гибрид»
СУБД «Квант-Гибрид» (QHB) является глубоким форком open-source решения PostgreSQL и обеспечивает
- совместимость по протоколам обращения;
- совместимость (в одну сторону) по форматам данных;
- совместимость (в одну сторону) по функциональности и встроенным расширениям;
- совместимость со сторонними расширениям (при пересборке и/или исправлении зависимостей).
СУБД «Квант-Гибрид» — полностью отечественное решение
- зарегистрирован в Реестре Российского ПО, № 6212 с 07.04.2020;
- прошел сертификацию в ФСТЭК (Сертификат ФСТЭК № 4691 от 12.07.2023г)
- модуль шифрования зарегистрирован в Реестре российского ПО, № 21868
- модуль шифрования прошел сертификацию в ФСБ РФ (Сертификат ФСБ № СФ/124-4721 от 15.01.2024г)
- разработчик — полностью российская компания;
- стабилизированное решение (выпущено несколько стабильных релизов, текущий релиз — 1.5.3);
- профессиональный коллектив разработчиков с многолетним опытом;
- профессиональная техническая поддержка;
- возможность модификации «под заказ», в том числе:
- в гораздо более сжатые сроки по сравнению с open-source решением и другими форками;
- с очень глубокой интеграцией в ядро СУБД.
Примечание
Сертификаты ФСТЭК и ФСБ — для сертифицированной версии СУБД «Квант-Гибрид»
Основные направления модификации СУБД
1. Повышение стабильности, устойчивости, производительности
1.1. Балансировщик сетевой нагрузки и пулер соединений
Подробнее — QCP.
- асинхронный режим работы;
- тредовая модель;
- режимы разделения на уровне сеанса и интеллектуальный режим (разделение сеанса между несколькими соединениями только для чтения);
- автоматическое переключение на узлы резервного сервера.
1.2. Менеджер кеша дисковых блоков
Подробнее — TARQ.
- устойчивость к вымыванию кеша;
- минимизация времени «разогрева кеша»;
- возможность построения In-Memory и Append-only таблиц.
1.3. Рефакторинг многих модулей ядра СУБД, устранение уязвимостей, переписывание на языке Rust.
2. Встроенная криптографическая защита данных
Подробнее — QSS.
- на отечественных сертифицированных алгоритмах ГОСТ Р 34.13-2015, ГОСТ 34.13-2018, ГОСТ Р 34.12-2015, ГОСТ 34.12-2018, ГОСТ Р 34.11-2012, ГОСТ 34.11-2018 и стандартах Р 1323565.1.026–2019, Р 50.1.111-2016, Р 50.1.113-2016;
- шифрование на уровне страниц данных, включая журналы WAL/репликации и двоичные резервные копии;
- шифрование на уровне всех или отдельных таблиц;
- без заметного/существенного снижения производительности.
3. Повышение сопровождаемости решения, снижение эксплуатационных рисков
3.1. Мониторинг активности базы данных
Подробнее — Мониторинг активности базы данных.
- глубоко интегрированная в ядро система сбора метрик;
- практически без влияния на производительность (длительность считывания одного показания ~30 нс);
- число метрик в несколько раз больше, чем стандартных метрик PostgreSQL (включая показатели состояния сеанса и шага исполнения запроса в режиме реального времени);
- агрегация/экспорт/визуализация на том же или соседнем хосте (без нагрузки на основной сервер);
- возможность включения/выключения сбора метрик по желанию пользователя.
3.2. Инструмент резервного копирования
Подробнее — qbackup.
- двоичное полное и инкрементальное резервное копирование без остановки экземпляра;
- параллельное многопоточное резервное копирование;
- сжатие резервных копий;
- удаленное резервное копирование;
- ускоренное восстановление (быстрее, чем воспроизведение журналов WAL);
- восстановление на момент времени;
- ведение каталога резервных копий (в текстовом виде или JSON);
- отслеживание измененных данных, или CDC (change data capture);
- создание резервных копий по табличным пространствам;
- валидация резервных копий;
- возможность удаления файлов WAL при удалении резервной копии.
4. Развитие функциональности, отсутствующей в open-source решении:
4.1. Встроенная очередь сообщений
Подробнее — Встроенная очередь сообщений.
- персистентные сообщения;
- In-Memory сообщения.
4.2. Встроенный планировщик заданий
Подробнее — QSched.
- создание и управление расписаниями/задачами;
- ведение журналов планировщика;
- включение/выключение динамического расчета времени следующего выполнения;
- управление параллельными процессами планировщика.
4.3. Переменные уровня сеанса
Подробнее — qhb-variables.
- скалярные переменные;
- табличные переменные, интеграция с элементами таблиц.
4.4. Профилирование долгих запросов
Подробнее — Профилирование долгих запросов.
4.5. Модуль прямой загрузки данных
Подробнее — QDL.
- возможность ускорения загрузки данных примерно в 3 раза (по сравнению с
командой
COPY); - совместимость с CDC;
- API для загрузки данных.
4.6. Внешнее хранение больших двоичных данных (blob/clob/bytea)
Подробнее — Rbytea.
4.7. Расширение для реализации битемпоральной модели данных
Подробнее — Qbim.
4.8. Методы статистического анализа на основе условных вероятностей Байеса
Подробнее — Qbayes.
4.9. Поддержка решений 1С в ядре СУБД; совместимость подтверждена фирмой «1С»
Подробнее — Поддержка решений 1С, Подтверждение фирмой «1С».
4.10. Расширенные XML функции (для поддержки миграции с Oracle)
Подробнее — Расширенные функции XML.
4.11. Инструменты QMiM поддержки миграции с СУБД Oracle и MSSQL (в пилотной эксплуатации, как отдельное решение)
4.12. Расширение для реализации выгрузки и восстановления содержимого таблицы pg_statistic
Подробнее — stat_dump.
4.13. Разделяемый кеш планов
Подробнее — Разделяемый кеш планов.
Разделяемый кеш планов позволяет экономить процессорное время, не пересоздавая планы выполнения SQL-запросов, а сохраняя их в разделяемой памяти.
4.14. Автономные транзакции
Подробнее — Автономные транзакции.
Автономные транзакции предоставляют особый способ управления транзакциями в
хранимых процедурах. Автономная транзакция — это субтранзакция, изолированная от
родительской транзакции. Автономные транзакции могут фиксировать (COMMIT) или
откатывать (ROLLBACK) изменения вне зависимости от результата родительской
транзакции.
4.15. Qluster — Модуль управления кластерными вычислениями
Подробнее — Qluster.
Программный модуль, предназначенный для управления распределенными задачами в кластере. В основе Qluster лежит протокол согласования состояний QRaft, который обеспечивает согласованность и отказоустойчивость кластерных операций.
4.16. Qman — приложение для мониторинга и управления экземплярами QHB
Подробнее — Qman.
Интерфейсное приложение Qman (QHB Manager) предназначено для осуществления мониторинга и управления экземплярами и кластерами QHB. Включает в себя интерфейсный модуль, Qman-агент, REST/SQL API, центральный репозиторий и скрипты выполнения запросов и команд.