Замечания к релизу QHB версии 1.3.0

Добавлено

  • Поддержка HOLDMEM = ONLY таблиц
  • Множество новых метрик в merticsd
  • Утилита magma_key_gen для генерации пользовательских ключей QSS на крипто-токенах, поддерживающих аппаратное шифрование по ГОСТ 34.12-2018 и ГОСТ 34.13-2018
  • QDL: Поддержка типа UUID
  • QDL: Широкая поддержка специальных значений для date и timestamp: Epoch, Infinity, -Infinity
  • QBackup: Добавлены механизмы поддержки и актуализации предыдущих версий каталога
  • QBackup: В каталог добавлена информация о версии базы данных и каталога версий
  • QCP: Отмена текущего запроса на сервере при отключении клиента
  • QCP: "Проброс" запроса на отмену текущего запроса от клиента к конечному серверу
  • QCP: Автоматическая отмена всех текущих запросов при остановке QCP
  • QCP: Отправка heartbeat-сообщений неактивным подключениям к БД
  • QCP: Клиенты могут подключаться к QCP через unix domain socket

Улучшено

  • Оптимизирована работа с памятью в Tarq
  • Локализация в qhb_upgrade
  • MChar в 2B научился работать с like escape
  • QDL: Зафиксирован формат записи для float, double precision, numeric
  • QDL: Увеличена производительность генератора значений NULL
  • QDL: Увеличена производительность парсера значений с плавающей точкой и numeric
  • QDL: Уменьшен размер исполняемого файла за счёт удаления легаси-кода
  • QDL: Упрощён генератор скрипта для create_table, уменьшена вероятность ошибок времени исполнения
  • QCP: Более гибкая настройка логирования
  • QCP: Более подробные сообщения об ошибках, возникающих в процессе работы

Исправлено

  • Утечки в вакууме при использовании Tarq
  • Параметры настройки rbytea
  • Ошибка неправильного параметра auth в qhb_bootstrap под названием scram_sha_256
  • В 2B удалена рекурсия из MChar like
  • shared_buffers_partitions: правильная обработка параметра
  • Запуск qhb_upgrade от пользователя root (запрещен)
  • Ошибка при инициализации кластера с помощью qhb_bootstrap при указании флага --waldir
  • QBackup: Ошибка повторяющегося идентификатора копии при быстром последовательном создании нескольких резервных копий
  • QBackup: Ошибка несовпадения директории каталога копий с метаинформацией каталога при ручном перемещении файла каталога
  • QBackup: Пути в метаинформации каталога теперь всегда абсолютные
  • QBackup: Ошибки во время резервного копирования теперь всегда отражаются в статусе копии
  • QCP: qcp, и qcp-ctrl при ошибках теперь возвращают ненулевой код завершения

Замечания к релизу QHB версии 1.2.0

QHB 2B

Расширения QHB для поддержки 1С. Поддерживается платформа «1С:Предприятие», начиная с версии 8.3.18.

Новая функция

qhb_upgrade

Подготовлена и включена в релиз утилита миграции базы данных из предыдущих версий QHB и версии PostgreSQL 12.

Добавлено

Прочие улучшения

  • Проверена работоспособность имеющихся пакетов в дистрибутиве Альт Сервер 9
  • Добавлена поддержка дистрибутивов Fedora 32 и 33

Замечания к релизу QHB версии 1.1.0

QHB Plan Cache

Экспериментальная функция выключена по умолчанию, добавлена для проверки стабильности и работоспособности.

Новая функция

QHB Bootstrap

Система инициализации базы, функциональный аналог initdb полностью переделан для учёта особенностей QHB.

Новая функция

QSS

Модуль безопасного хранения (шифрования с поддержкой криптоалгоритма "Кузнечик").

  • QSS пополнился функциями qhb_get_qss_tables и qhb_get_qss_indexes.
  • Улучшился вывод в случае ошибки.
  • Добавился новый режим работы с параллельным набором ключей, qss_recrypt с командой сбора зашифрованных таблиц и их индексов.
  • Добавлена поддержка base64-encoding ключей, "Кузнечика" в CTR режиме.
  • Добавлена поддержка rbytea.
  • Добавлена утилита QSS Pinpad.
  • Добавлена поддержка RuToken.

QSQL

Пользовательская интерактивная утилита для работы из командной строки.

  • Поддержка мета-команд \password и \include.

Append Only Storage

Данное хранилище позволяет только добавлять записи, но делает это с максимальной скоростью, т.к. не выполняется полноценного MVCC анализа.

Предназначено для таблиц, с которыми не производятся модификации, например журналы, данные с датчиков и т.п.

Новая функция

QBackup

Добавлена новая подсистема резервного копирования и восстановления с поддержкой каталога, архивации резервных копий и сохранения "разности" вместо полной резервной копии.

QDL

Добавлено

  • Параллельный режим работы QDL.
  • Пользовательская документация.
  • Демонстрационный конфиг в пакете RPM.

Изменено

  • Более не нужен результат работы с СУБД, для того чтобы создать базу.
  • Стабилизирована поддержка основных типов.
  • Переделана работа со страницами и кортежами для улучшения стабильности.
  • Стандартизировано API записи во всех компонентах QDL.

Исправлено

  • Ряд системных функций, работа которых приводила к записи некорректных размеров кортежей в мета-информацию страницы.

Утилиты

  • qhb_archivecleanup: обновлены зависимости и добавлена русская локализация.
  • qhb_checksum: добавлен режим параллельной работы и нормальный вывод прогресс-бара с флагом --verbose.
  • qhb_checksum: теперь корректно работает с файлами больших размеров.
  • Реализована утилита createdb.
  • Реализована утилита dropdb.

Метрики

Подсистема сбора и предоставления для внешнего отображения системных метрик. Предоставление пока только в grafana.

  • Метрики добавлены в буфер-менеджер TARQ.
  • grafana больше не инициализирует рантайм под каждый вызов with_grafana.
  • Перещёлкивание "часов" буфера назад при переводе системных часов.

Прочие улучшения

  • Оптимизирован буфер-менеджер TARQ.
  • Из релизной сборки удалены debug-символы.
  • Исправлены параметры сборки, приводившие к просадке производительности.
  • Реализация чекпоинтера на Rust.
  • Убраны многие раздражающие ограничения и устранены критические ошибки.