После 12 лет разработки состоялся релиз СУБД Firebird 3.0
После почти двенадцати лет разработки представлен релиз СУБД Firebird 3.0. Изначально релиз Firebird 3.0 планировалось выпустить ещё в 2007 году, но из-за нехватки ресурсов разработка затянулась. Ключевыми задачами при разработке Firebird 3.0 были унификация архитектуры сервера и улучшение работы на многоядерных системах. Среди важных улучшений также отмечены новые возможности SQL, поддержка шифрования, улучшение управления потоками движка СУБД, реализация совместного кэша, различные оптимизации производительности и масштабируемости.
Переработана архитектура работы сервера, которая оптимизирована для использования на многоядерных системах. Обеспечена возможность распараллеливания нитей обработки запросов и использования общего кэша между ними. Ядро Firebird теперь унифицировано в форме библиотеки, которая может использоваться как для обеспечения работы обрабатывающего запросы по сети сервера, так и для встраивания в приложения;
Новый объектно-ориентированный C++ API для разработки дополнений, выполняющихся на стороне СУБД. В том числе через новый API могут быть реализованы плагины с реализацией схем хранения данных в зашифрованном виде, дополнительные модели аутентификации и внешние хранимые процедуры, триггеры и функции (на Java, C++ и других языках);
Возможность шифрования трафика;
Возможность определения пользовательских PSQL-функций (по аналогии с хранимыми процедурами)
Возможность определения DDL-триггеров, срабатывающих при создании, изменении или удалении объектов БД. Указанную возможность можно использовать для ограничения возможностей пользователей по модификации метаданных;
Добавлен тип IDENTITY, позволяющий сгенерировать уникальный идентификатор;
Средства для замены штатного плагина трассировки;
Возможность указания ссылки на курсор, как на переменную типа запись;
Новые SQL-команды управления пользователями и разграничения доступа;
Возможность использования не-ASCII символов в именах пользователей и паролях;
Поддержка смены роли на лету;
Отображение объектов безопасности ОС на объекты безопасности Firebird;
Поддержка создания пакетов (SQL Packages), позволяющих управлять группой процедур и функций как одним целым;
Запрет модификации большинства системных таблиц;
Привилегии на изменения метаданных (DDL);
Соответствующая стандарту SQL-2008 реализация оператора задания привилегий USAGE (GRANT USAGE/REVOKE USAGE), позволяющая защитить данные, отличные от таблиц, представлений, процедур и функций (например, домены,исключения, генераторы, последовательности, наборы символов и правила сортировки);
Обеспечение соответствия оператора MERGE требованиям стандарта SQL-2008: поддержка расширения DELETE, возможность задания нескольких выражений WHEN MATCHED и NOT MATCHED, выражение RETURNING ... INTO;
Поддержка низкоуровневой проверки целостности дисковых структур таблиц и индексов с сохранением доступности БД для выполнения других операций (в режиме online);
Полная поддержка IPv6 на стороне сервера и клиентов;
Вывод дополнительной информации о работе СУБД через gbak, включая run-time статистику, сведения о времени выполнения запросов, информацию о прочитанных/записанных страницах памяти и т.п.