Улучшения HQbird 2027 уровня сервера (по сравнению с Firebird)
Инструменты (HQCenter, HQMonitor, etc) описываются в других документах - см. раздел Документация.
В таблицах только функции HQbird уровня сервер (плагины и изменения в ядре), которых нет в обычном (vanilla) Firebird этой версии. Возможности HQbird попадают в ванильный Firebird в следующей major-версии (если принимаются проектом).
Firebird 5.0
| Функция | Суть | Параметр |
|---|---|---|
| Ngram-индекс | Индексированный поиск подстрок (LIKE '%search%') для VARCHAR и текстовых BLOB. |
- |
| Light-Weight Monitoring (легковесный мониторинг) | Отслеживание состояния сервера без нагрузки. | MonitoringPlugin |
| Мониторинг и предотвращение слишком большого числа подключений к БД | Защита от ошибочных всплесков подключений. | WarnCountAttachments, MaxCountAttachments |
| Materialized Views | Материализованные представления (для BI и сложных запросов). CREATE MATERIALIZED VIEW. Использует bulk insert. |
|
| Таблица как результат запроса | CREATE TABLE AS SELECT. Использует bulk insert. |
|
| Расширенные опции trace | Отслеживание конфликтов (deadlocks) и изменений (например, аудит изменений). | - |
| Создание индексов под нагрузкой | Индекс создаётся без блокировки работы с таблицей. CREATE INDEX ... CONCURRENTLY |
|
| Подмена запросов “на лету” | Запросы изменяются на стороне сервера. Новый текст виден в trace и MON$. | SqlSubstDirectory (каталог с парами файлов: оригинал / замена) |
| Кэш BLOB во временном пространстве | BLOB быстрее на 15-200%. | BlobTempSpace (0, 1 по умолчанию, 2) |
| Лог запросов с большими сортировками | Текст запроса пишется в firebird.log. |
TempSpaceLogThreshold |
| Плагины External Datasource: MySQL и ODBC | EXECUTE STATEMENT ... ON EXTERNAL к MySQL и ODBC. |
- |
| Streaming / CDC (Kafka, RabbitMQ, JSON, Mongo) | Отправка данных о INSERT/UPDATE/DELETE в указанных таблицах без SELECT. На базе репликации. Предоставляется по запросу. | - |
| Полнотекстовый поиск (Lucene UDR + плагин) | UDR - open source; плагин на базе streaming. | - |
| Автокоррекция параметров кэша в firebird.conf | Правит DefaultDbCachePages под архитектуру в случае ошибочных значений в firebird.conf / databases.conf. |
DefaultDbCachePages, MinDbCachePages, MaxDbCachePages |
| Ускорение работы с таблицами MON$ | Выключает сбор излишних данных. | FillMonCompiledStatements, FillMonStatements, FillMonCallStack |
| Маскировка версии HQbird | Определяет, возвращается ли строка версии, специфичная для HQbird, в вызовах Firebird API. | HQbirdVersionString |
| Поддержка простой миграции на v5 | Параметры в firebird.conf для распознавания литералов старого стиля и описания COUNT(*) как INT для совместимости с устаревшими приложениями. |
LegacyTimeLiterals, LegacyIntForCount |
| Аутентификация GSSAPI/SSPI для подключения к Linux-серверам | gssauth — плагин аутентификации в Active Directory; поддерживает серверы и клиенты Windows и Linux. |
- |
| Отключение логирования ошибок INET | Иногда полезно. | DisableLogNetIOErrors |
| Шифрование БД (плагин) | AES256, потери 4-20%, передача ключа через fbclient.dll. По запросу. |
- |
Firebird 4.0
| Функция | Суть | Параметр |
|---|---|---|
| Light-Weight Monitoring (легковесный мониторинг) | Отслеживание состояния сервера без нагрузки. | MonitoringPlugin |
| Мониторинг и предотвращение слишком большого числа подключений к БД | Защита от ошибочных всплесков подключений. | WarnCountAttachments, MaxCountAttachments |
| Расширенные опции trace | Отслеживание конфликтов и изменений. | - |
| Оптимизатор JOIN | Неявные inner join в явные. | LeftJoinConversion = true |
| Кэш подготовленных запросов | Подготовленные запросы в памяти подключения. | DSQLCacheSize (0 = выкл.) |
| Многопоточные backup, restore, sweep, создание индексов | Ускорение до 4-6x (backup, sweep), 2-4x (restore) на 8 ядрах и SSD. | - |
| Подмена запросов “на лету” | Новый текст виден в trace и MON$. | SqlSubstDirectory (каталог с парами файлов: оригинал / замена) |
| Кэш BLOB во временном пространстве | BLOB быстрее на 15-200%. | BlobTempSpace (0, 1 по умолчанию, 2) |
| Лог запросов с большими сортировками | Текст запроса пишется в firebird.log. |
TempSpaceLogThreshold |
| Плагины External Datasource: MySQL и ODBC | EXECUTE STATEMENT ... ON EXTERNAL к MySQL и ODBC. |
- |
| Streaming / CDC (Kafka, RabbitMQ, JSON, Mongo) | На базе репликации. По запросу. | - |
| Полнотекстовый поиск (Lucene UDR + плагин) | UDR - open source; плагин на базе streaming. | - |
| Автокоррекция параметров кэша в firebird.conf | Правит DefaultDbCachePages под архитектуру в случае ошибочных значений в firebird.conf / databases.conf. |
DefaultDbCachePages, MinDbCachePages, MaxDbCachePages |
| Маскировка версии HQbird | Определяет, возвращается ли строка версии, специфичная для HQbird, в вызовах Firebird API. | HQbirdVersionString |
| Шифрование БД (плагин) | AES256, потери 4-20%. По запросу. | - |
Firebird 3.0
| Функция | Суть | Параметр |
|---|---|---|
| Light-Weight Monitoring (легковесный мониторинг) | Отслеживание состояния сервера без нагрузки. | MonitoringPlugin |
| Мониторинг и предотвращение слишком большого числа подключений к БД | Защита от ошибочных всплесков подключений. | WarnCountAttachments, MaxCountAttachments |
| Расширенные опции trace | Отслеживание конфликтов и изменений. | - |
| Нативная репликация | Плагин; можно исключить записи без PK/UK. | - |
| Оптимизатор JOIN | Неявные inner join в явные. | LeftJoinConversion = true |
| Оптимизатор больших сортировок | План Refetch. Рекомендуется 8192 или 16384 байт. | SortDataStorageThreshold |
| Кэш подготовленных запросов | Подготовленные запросы в памяти подключения. | DSQLCacheSize (0 = выкл.) |
| Многопоточные backup, restore, sweep, создание индексов | Формат бэкапа как в vanilla. | - |
| Параллельное чтение данных | make_dbkey() и shared snapshot. |
- |
| Пул внешних соединений | Параллельные внешние запросы к Firebird. | ExtConnPoolSize, ExtConnPoolLifeTime, ExtConnNoGarbageCollect |
| Подмена запросов “на лету” | Новый текст виден в trace и MON$. | SqlSubstDirectory (каталог с парами файлов: оригинал / замена) |
| Кэш BLOB во временном пространстве | BLOB быстрее на 15-200%. | BlobTempSpace (0, 1 по умолчанию, 2) |
| Лог запросов с большими сортировками | Текст запроса пишется в firebird.log. |
TempSpaceLogThreshold |
| Плагины External Datasource: MySQL и ODBC | EXECUTE STATEMENT ... ON EXTERNAL к MySQL и ODBC. |
- |
| Полнотекстовый поиск (Lucene UDR + плагин) | UDR - open source; плагин на базе streaming. | - |
| Маскировка версии HQbird | Определяет, возвращается ли строка версии, специфичная для HQbird, в вызовах Firebird API. | HQbirdVersionString |
| Шифрование БД (плагин) | AES256, потери 4-20%. По запросу. | - |
Firebird 2.5
| Функция | Суть | Параметр |
|---|---|---|
| Light-Weight Monitoring (легковесный мониторинг) | Отслеживание состояния сервера без нагрузки. | MonitoringPlugin |
| Нативная репликация | Здесь появилась впервые (позже в vanilla 4.0). | - |
| Оптимизатор больших сортировок | План Refetch. | SortDataStorageThreshold |
| Многопоточные backup, restore, sweep, создание индексов | Здесь появились впервые (позже в vanilla 5.0). | - |
| Параллельное чтение данных | make_dbkey() и shared snapshot, с HQbird 2.5. |
- |
| Пул внешних соединений | Параллельные внешние запросы к Firebird. | ExtConnPoolSize, ExtConnPoolLifeTime |
| Подмена запросов “на лету” | Новый текст виден в trace и MON$. | SqlSubstDirectory (каталог с парами файлов: оригинал / замена) |
| Кэш BLOB во временном пространстве | BLOB быстрее на 15-200%. | BlobTempSpace (0, 1 по умолчанию, 2) |
| Лог запросов с большими сортировками | Текст запроса пишется в firebird.log. |
TempSpaceLogThreshold |
| Маскировка версии HQbird | Определяет, возвращается ли строка версии, специфичная для HQbird, в вызовах Firebird API. | HQbirdVersionString |
Версия в документе не указана
Эта функция описана без привязки к версии Firebird. Нужна проверка по User Guide.
| Функция | Суть | Параметр |
|---|---|---|
| Передача бэкапов в Amazon S3 (плагин) | По запросу. | - |
Примечания
- Версия 3.0 для репликации и 5.0 для
InlineSortThresholdв документе прямо не названы: это вывод из текста. - В vanilla 5.0 у кэша запросов есть аналог
MaxCompiledCache.