Отличия СУБД «Квант-Гибрид» от 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, центральный репозиторий и скрипты выполнения запросов и команд.


Ссылки