Создан в 2001 году как ответвлениеInterbase 6.0, развивается сообществом разработчиков без явной поддержки какой-либо крупной корпорации.
Как и Interbase, использует MVCC, поддерживает хранимые процедуры на языке PSQL, триггеры, транзакционно-независимые 64-битные генераторы последовательностей. Имеется возможность работать с базами данных только для чтения (что позволяет использовать базы данных, например, на CD-ROM и удобно в комбинации со встраиваемой версией сервера Firebird Embedded). Реализовано несколько уровней изолированности транзакций, обеспечивается резервное копирование без остановки сервера. Реализована поддержка Юникода.
Внешние функции (UDF) могут быть написаны на любом языке и легко подключены к серверу в виде разделяемых библиотек, позволяя расширять возможности сервера «изнутри». Поддерживается SQL-92 Entry Level 1, реализована большая часть стандарта SQL-99, существует ряд дополнений стандартного синтаксиса.
Работает на аппаратных платформах x86, x64 и PowerPC, SPARC, выпускались версии для Windows, Linux, macOS, HP-UX, FreeBSD, Solaris и ряда других операционных систем, впоследствии сборка стала вестись только для 32- и 64-разрядных версий Windows, Linux и macOS.
Для доступа к серверу сторонними разработчиками выпускаются собственные наборы компонент для Си и C++, Delphi, классы для ADO, драйверы ODBC и JDBC. Имеются драйверы для Python, PHP, драйвер OLE DB, dbExpress, провайдер данных .NET и прямой доступ с использованием клиентской библиотеки сервера (fbclient.dll или GDS32.dll).
Базы данных могут быть расположены в нескольких файлах, предельный размер которых зависит от операционной системы, теоретический предел — 64 TБ для одного файла базы данных.
Существует четыре архитектуры сервера:
ClassicServer — один процесс на одно соединение, поддержка многопроцессорных машин;
SuperServer — все соединения используют один процесс, меньшие требования к памяти при большем быстродействии (до 3.0 — только для однопроцессорных);
SuperClassic Server — один процесс, но свой поток на каждое соединение, начиная с версии 2.5;
Embedded — система содержится в одной библиотеке с именем клиентской библиотеки сервера, подходит для однопользовательских систем и не требует инсталляции в Windows.
Все архитектуры используют одинаковый формат файла базы данных, таким образом, в любой момент можно переключиться на другую архитектуру.
Выпускается под условиями IPL (InterBase Public License) и IDPL (Initial Developer’s Public License), которые совпадают с условиями Mozilla Public License 1.1. Firebird бесплатен для использования и распространения, в случае модификации исходного кода сервера требуется публикация изменений.
Релиз Firebird 1.0 - это первая версия (ноябрь 2001 года), базирующаяся на открытых исходных текстах InterBase 6.0. Поэтому в основном релиз содержит большое число исправлений ошибок IB 6.0.
Расширенные проверки зависимостей (udf и генераторы)
Убраны проблемы с размером файла БД более 4 гигабайт (кроме FAT16 и FAT32, где файл не может быть больше 2-4 гигабайт)
Поддержка размера страницы БД 16 килобайт
ForcedWrites теперь ON по умолчанию при создании БД
Параметр конфигурации для задания расположения внешних файлов
Увеличено количество внешних файлов, открываемых одновременно
Внешний файл закрывается, если внешняя таблица удаляется
Добавлен параметр CPU_Affinity (Superserver)
Возможность указания номера порта в строке коннекта
Параметр NONAGLE для Linux
Расширения isc_info_database
Счетчик записей для gbak (при указании опции -v)
Переменные CURRENT_USER и CURRENT_ROLE
Команда DROP GENERATOR
Возможность группировки по UDF (group by <function>)
Команда RECREATE PROCEDURE
Команда RECREATE TABLE
Опции SELECT FIRST (<int>) SKIP (int) ...
Функция SUBSTRING(<str> FROM <pos> [FOR <length>])
Команда PLANONLY для ISQL
Новый маркер комментариев --
Расширения ib_udf (SUBSTR, SUBSTRLEN, ASCII_CHAR)
Новый набор функций FBUDF.DLL
By descriptor в параметрах UDF
1.5 (последний релиз 1.5.6 от 8 октября 2009)
Firebird 1.5 выпущен на базе Firebird 1.0, с переводом кода с C на C++.
Восстановлена архитектура Classic для Windows
Создан вариант embedded
Расширен SQL - CASE, COALESCE, NULLIF
Изменено имя базы безопасности (security.fdb) и других модулей - клиента, файла сообщений
Новый файл конфигурации firebird.conf, с новыми параметрами
Передача varchar по сети в "сжатом" виде
Триггеры мульти-действий (insert or update or delete)
Индексы по constraint PK, FK, Unique автоматически принимают имя constraint (если задано)
Индексов у таблицы может быть до 256 (раньше было не более 64)
Улучшенная обработка ошибок. Расширенная обработка ошибок в процедурах и триггерах
Разрешается пустой блок BEGIN/END
Новые таблицы символов
Расширения в ISQL
Новые функции в ib_udf и fbudf
Улучшения оптимизатора
2.0 (последний релиз 2.0.7 от 12 апреля 2012)
Ускорена передача данных по сети
Локальный протокол заменен на XNET
Убрана трансляция прав доступа через NetBEUI
Новая политика сборки мусора (см. firebird.conf, GCPolicy)
Classic поддерживает все функции Services API, идентично SuperServer
Параметр лимита ожидания по блокировкам WAIT
Ускоренный поиск в строках и blob
Исправления обновляемых view
Новые режимы shutdown БД
Новый формат БД - теперь одна таблица может иметь размер больше 36 гигабайт
Новый формат БД - индексируемая строка может быть 1/4 размера страницы (до 4к при размере страницы 16к)
Значительные улучшения оптимизатора
Расширения клиентского API
Новые встроенные строковые функции (lower, trim)
Инкрементальный бэкап (nbackup)
2.1 (последний релиз 2.1.7 от 5 декабря 2014)
Глобальные триггеры базы данных
Общие табличные выражения (CTE)
Временные таблицы
Возможность мониторинга базы данных через SQL
Отмена зависших запросов
Новые SQL инструкции
2.5 (последний релиз 2.5.9 от 24 июня 2019)
Основной целью Firebird 2.5 было заложить основу для многопоточной архитектуры будущих версий. В данной версии в основе двух моделей Firebird Super Server и Firebird Classic лежит общий код, осуществляющий низкоуровневую синхронизацию и потокобезопасность.
В этой версии Firebird подвергся наиболее серьёзной переработке за 14 лет своего существования. Новая многопоточная архитектура и улучшенный общий кэш страниц намного эффективнее используют многоядерные процессоры и большие объемы оперативной памяти.
Благодаря этим изменениям версия Firebird 3.0 демонстрирует значительное увеличение производительности, в то же время сохраняя обратную совместимость со старыми клиентскими библиотеками.
Помимо этого Firebird 3.0 представляет большой список новых возможностей языка SQL (включая оконные и статистические функции) и добавляет расширенные возможности безопасности, такие как шифрование базы данных и сетевого трафика – всего более 100 существенных нововведений. Несмотря на новые возможности, ориентированные на предприятия и большие базы данных, Firebird 3.0 сохраняет свою компактность, возможность простого встраивания и управления, которые сделали его правильным выбором для многих приложений по всему миру.
Firebird 4.0 вводит новые типы данных и множество улучшений без радикальных изменений в архитектуре или работе, наиболее важными из которых являются: логическая репликация, более длинные идентификаторы метаданных, поддержка международных часовых поясов, тайм-ауты для подключений и инструкций.
В следующем выпуске Firebird обещано множество улучшений, включая поддержку схем, табличных пространств, возможности работы с JSON, набор расширенных функций SQL, значительные обновления системы кэширования, улучшения оптимизатора и многие другие функции.
Борри Хелен. Firebird. Руководство разработчика баз данных = The Firebird Book: A Reference for Database Developers. — СПб.: «БХВ-Петербург», 2007. — С. 1104. — ISBN 978-5-94157-757-6.
Helen Borrie.The Firebird Book Second Edition // Volume 2: Developing with Firebird Data. — CreateSpace Independent Publishing Platform, 2013. — С. 532. — ISBN 978-1482767308.
Helen Borrie.The Firebird Book Second Edition // Volume 3: Administering Firebird Servers and Database. — CreateSpace Independent Publishing Platform, 2013. — С. 444. — ISBN 978-1482768480.