Firebird (сервер базы данных) - Firebird (database server)
Эта статья ведущий раздел не адекватно подвести итог ключевые моменты его содержания. Пожалуйста, подумайте о расширении интереса до предоставить доступный обзор обо всех важных аспектах статьи. (Июнь 2020 г.) |
Эта статья слишком полагается на Рекомендации к основные источники.Декабрь 2012 г.) (Узнайте, как и когда удалить этот шаблон сообщения) ( |
Разработчики) | Проект Firebird |
---|---|
изначальный выпуск | 2000 |
Стабильный выпуск | |
Предварительный выпуск | 4.0 Beta 2/19 января 2020 г.[2] |
Репозиторий | |
Написано в | C ++ |
Операционная система | Кроссплатформенность |
Тип | СУБД |
Лицензия | IPL, IDPL |
Интернет сайт | www |
Жар-птица является Открытый исходный код SQL система управления реляционной базой данных это "работает на Linux, Майкрософт Виндоус, macOS и несколько Unix платформы ».[3] База данных раздвоенный из Borland версия с открытым исходным кодом InterBase в 2000 году, но начиная с Firebird 1.5 код был в значительной степени переписан.[4]
История
В течение недели после InterBase 6.0 выпускается Borland 25 июля 2000 г.,[5][6] проект Firebird был создан на SourceForge.[7][8] Firebird 1.0 был выпущен для Linux, Microsoft Windows и Mac OS X 11 марта 2002 г.,[9] с портами для Солярис, FreeBSD 4, HP-UX в течение следующих двух месяцев.[10]
Работаем над переносом кодовой базы из C к C ++ началась в 2000 году. 23 февраля 2004 года была выпущена Firebird 1.5,[11] который был первым стабильным выпуском новой кодовой базы. Версия 1.5 содержит улучшенный оптимизатор запросов, SQL-92 условные выражения, SQL: 1999 точки сохранения и поддержка явного запирание.[12] Firebird 2.0 был выпущен 12 ноября 2006 г.,[13] добавление поддержки для 64-битный архитектуры, таблицы, вложенные в Пункты FROM, и программируемый замок таймауты в блокировка сделки.[14]
Предыдущей стабильной версией была версия 2.1.6, в которую были добавлены новые функции, включая процедурные триггеры, рекурсивные запросы, и поддержка SQL: 2003 ОБЪЕДИНЕНИЕ заявления.[15]
Firebird 2.5 представил новые функции, такие как улучшенное многопоточность, регулярное выражение синтаксис и возможность запрашивать удаленные базы данных.[16]
Самая последняя стабильная версия - Firebird 3.0, выпущенная 19 апреля 2016 года, с упором на производительность и безопасность. Значительная реорганизация кода позволила полностью поддержать SMP машины при использовании версии SuperServer.[17]
Сквозь Google Summer of Code 2013 г. началась работа по интеграции Firebird в качестве замены HSQLDB в LibreOffice.[18][19]
Конфликт имен Mozilla Firefox
В апреле 2003 г. Организация Mozilla объявил о переименовании своего веб-браузер из Феникс к Жар-птица после спора о товарном знаке с Phoenix Technologies.[20]
Это решение вызвало обеспокоенность в проекте базы данных Firebird из-за предположения, что пользователи и поисковые системы в Интернете будут сбиты с толку базой данных и веб-браузером, использующими имя Firebird.[21][22] Разработчики Mozilla выступили с заявлением:[23] ясно давая понять, что их программный пакет называется «Mozilla Firebird», а не «Firebird».[24][25] В заявлении также говорится, что название Mozilla Firebird было кодовое имя проекта.
Спор был разрешен 9 февраля 2004 г., когда Mozilla изменила название своего браузера на Mozilla Firefox, положив конец конфликту.[26][27][28]
Основные особенности
- Полная поддержка хранимые процедуры и триггеры[29]
- Полный КИСЛОТА совместимые транзакции
- Ссылочная целостность
- Многопоколенная архитектура (иногда называемая MVCC)[30]
- Поддержка внешних функций (UDF )
- Активность SQL может отправлять клиентам асинхронные события уведомления
- Сторонние инструменты, включая инструменты администрирования с графическим интерфейсом пользователя и инструменты репликации
- Тщательная запись - быстрое восстановление, нет необходимости в журналах транзакций
- Множество методов доступа: native / API, dbExpress / FireDAC[31] драйверы, ODBC, OLE DB, поставщик .NET, собственный драйвер JDBC типа 4, модуль Python,[32] PHP, Perl
- Дополнительные резервные копии
- Полная реализация курсора в PSQL
Технология хранения и индексации
Многопоколенная архитектура (MGA)
Firebird унаследовал архитектуру хранилища Interbase. Чтобы обеспечить КИСЛОТА свойства транзакций, ядро базы данных хранит разные версии каждой записи, измененные активными пользователями в базе данных. Когда транзакции фиксируются, последняя версия каждой измененной записи помечается как окончательная. Если транзакции откатываются, ядро базы данных сохраняет отметку на исходных версиях записей, оставляя их нетронутыми.[33] В результате количество операций записи на диск Firebird значительно сокращается по сравнению с базами данных, использующими традиционную архитектуру журнала транзакций.[34] Запись транзакций не препятствует чтению, и наоборот, потому что каждая видит свою версию базы данных.[35] В компромисс заключается в том, что время от времени требуется некоторое обслуживание («очистка») для очистки старых версий записей и освобождения места на диске.[36]
Архитектура с несколькими поколениями гарантирует, что операции OLTP и DSS / OLAP могут выполняться одновременно без задержек, вызванных механизмами блокировки, присутствующими в других продуктах.[37]
Индексы
Firebird заставляет все индексы базы данных вести себя как хорошо настроенные «кластерные индексы», используемые другими архитектурами. Сегменты индекса Firebird не подвергаются двухфазной блокировке, а логические операции «и» и «или» могут выполняться с промежуточными растровыми изображениями с незначительными затратами, устраняя необходимость выбора оптимизатору между альтернативными индексами.[38]
Варианты
- Firebird SuperServer имеет один демон / сервер для всех клиентских подключений, многопоточный с общим кешем
- Firebird SuperClassic также имеет один демон / сервер для всех клиентских подключений, многопоточный с отдельными кешами.
- Firebird Classic использует inetd для запуска одной копии сервера на каждое клиентское соединение, рекомендуется для систем SMP, но может иметь проблемы с уведомлением о событиях, если доступ осуществляется через брандмауэр
- Firebird Embedded для создания каталогов CD-ROM, однопользовательских или оценочных версий приложений
Лицензирование
Ядро СУБД Firebird и его модули выпускаются под лицензия с открытым исходным кодом, Первоначальная публичная лицензия разработчика (IDPL), вариант Общественная лицензия Mozilla (MPL) версия 1.1. Это не требует, чтобы разработчик открывал продукты с помощью Firebird или даже пользовательских производных, созданных на основе его исходного кода, но если разработчик решит это сделать, то следует соблюдать некоторые положения и условия. IDPL позволяет разработчику создавать проприетарные приложения с закрытым исходным кодом, использующие Firebird или основанные на нем.[39]
API подключения
Низкоуровневый собственный API Firebird, API служб и встроенный SQL
Собственный API Firebird используется прямо или косвенно приложениями или промежуточным программным обеспечением, которые подключаются к базе данных Firebird. Он реализован в клиентской библиотеке fbclient.dll в системах Windows и в libfbclient.so в системах Unix.[40]
API служб - это специальный набор функций для доступа и управления задачами администрирования служб, такими как управление пользователями, резервное копирование / восстановление и сбор статистики.
Встроенный SQL - это метод, упрощающий разработку приложений Firebird на C / C ++ и COBOL с помощью препроцессор называется gpre, что позволяет встраивать операторы SQL непосредственно в исходный код основного языка.[41]
Награды
- 2007. Премия SourceForge Community Choice: лучший проект для предприятий, лучшая поддержка пользователей.[42]
- 2009. Премия SourceForge Community Choice: лучший проект для предприятий. Финалист «Лучший проект» и «Лучший проект для правительства».[43]
Смотрите также
- Фонд Жар-Птица
- Сравнение систем управления реляционными базами данных
- Список систем управления реляционными базами данных
- Многоверсионный контроль параллелизма
- Соответствие SQL
Рекомендации
- ^ «Доступен под-релиз Firebird 3.0.7». firebirdsql.org.
- ^ «Firebird: Jaybird 4.0.0-beta-2 доступна для тестирования». FirebirdSQL. Фонд Firebird. 19 января 2020 г.. Получено 19 января 2020.
- ^ «Firebird: мощная кроссплатформенная система баз данных SQL». SourceForge. SourceForge Media, LLC. 25 апреля 2018 г.. Получено 2 мая 2018.
- ^ «Примечания к выпуску Firebird 1.5.5». Получено 29 сентября 2009. Firebird 1.5.5 Общие замечания по его переписыванию с языка C на язык C ++
- ^ «Inprise / Borland представляет InterBase 6.0 теперь бесплатно и с открытым исходным кодом для Linux, Windows и Solaris». 16 июля 2000 г. Архивировано с оригинал 6 декабря 2004 г.. Получено 29 января 2009.
- ^ «Borland.com: Inprise / Borland представляет Interbase 6.0 теперь бесплатно и с открытым исходным кодом для Linux». Linux сегодня. Получено 29 января 2009.
- ^ "История Жар-птицы". Получено 14 марта 2014.
- ^ Пол Ривз. «Что происходит с InterBase». Группа пользователей Borland. п. 2. Получено 14 марта 2014.
- ^ "Архив новостей сообщества IBPhoenix". 11 марта 2000 г.. Получено 29 января 2009.[постоянная мертвая ссылка ]
- ^ "Архив новостей сообщества IBPhoenix". 11 апреля 2000 г.. Получено 29 января 2009.[постоянная мертвая ссылка ]
- ^ "Реляционная база данных Firebird 1.5, окончательный выпуск". Slashdot. 23 февраля 2004 г.. Получено 31 января 2009.
- ^ Хелен Борри (5 октября 2009 г.). «Примечания к выпуску Firebird 1.5.6». Проект Firebird. Получено 10 июн 2012.
- ^ Дмитрий Еманов. «В Праге запускается финальная версия Firebird 2.0». Получено 5 февраля 2009.
- ^ Хелен Борри (5 апреля 2012 г.). «Примечания к выпуску Firebird 2.0.7». Получено 10 июн 2012.
- ^ Хелен Борри (20 июля 2014 г.). «Примечания к выпуску Firebird 2.1». Получено 20 июля 2014.
- ^ Хелен Борри (19 ноября 2015 г.). «Примечания к выпуску Firebird 2.5.5». Получено 19 ноября 2015.
- ^ Грей, Джеймс (29 июля 2016 г.). "Реляционная база данных Firebird проекта Firebird | Linux Journal". www.linuxjournal.com. Linux журнал. В архиве из оригинала на 1 марта 2020 г.. Получено 1 марта 2020.
- ^ mariuz (14 февраля 2012 г.). «Firebird Embedded и LibreOffice - потрясающая комбинация для масштабирования от единого файлового приложения до подхода клиент / сервер». Firebirdnews.org. Получено 8 июля 2013.
- ^ ahunt (28 мая 2013 г.). «GSOC 2013: Коннектор SQL LibreOffice Firebird». Получено 8 июля 2013.
- ^ Доцлер, Аса (14 апреля 2003 г.). «Феникс и Минотавр будут переименованы в Жар-птица и Громовая птица». MozillaZine. MozillaZine. Получено 29 января 2016.
- ^ Браузер Mozilla становится Firebird, IBPhoenix, заархивировано из оригинал 23 апреля 2003 г., получено 29 января 2016
- ^ Епископ, Алексей (21 апреля 2003 г.). "Интервью с администратором проекта базы данных Firebird Энн Харрисон". MozillaZine. MozillaZine. Получено 29 января 2016.
- ^ "брендинг Mozilla". Организация Mozilla. 25 апреля 2003 г. Архивировано с оригинал 26 апреля 2003 г.. Получено 31 января 2016.
- ^ Феста, Пол (7 мая 2003 г.). "Жар-птица Mozilla подрезает крылья". CNET. CBS Interactive. Получено 29 января 2016.
- ^ Епископ, Алексей (14 мая 2003 г.). «Кристофер Близзард из mozilla.org говорит о конфликте имен Firebird». MozillaZine. MozillaZine. Получено 29 января 2016.
- ^ Пол Феста (9 февраля 2004 г.). «Mozilla держит« огонь »в борьбе за названия». CNET. CBS Interactive. Получено 29 января 2016.
- ^ «Mozilla Firebird переименовал Firefox, выпущена версия 0.8». MozillaZine. MozillaZine. 9 февраля 2004 г.. Получено 29 января 2016.
- ^ «Mozilla Firefox - часто задаваемые вопросы о торговой марке». mozilla.org. Фонд Mozilla. Получено 29 января 2016.
- ^ «Познакомьтесь с Firebird за 2 минуты».
- ^ Роман Рокицкий. «Не очень техническое обсуждение мультиверсионного управления параллелизмом». Получено 21 ноября 2011.
- ^ "Подключиться к Firebird (FireDAC)".FireDAC
- ^ https://pypi.python.org/pypi/fdb/
- ^ «Архитектура нескольких поколений (MGA) и управление версиями записей». HK-Программное обеспечение. Архивировано из оригинал 1 октября 2011 г.. Получено 14 июля 2011.
- ^ «Интервью с Джимом Старки из InterBase World». Марина Новикова, InterBase World. Получено 14 июля 2011.
- ^ "Что такое архитектура нескольких поколений (MGA)?". FAQ по Firebird. Получено 14 июля 2011.
- ^ «Ведение базы данных и сборка мусора». Проект Жар-птица. Получено 14 июля 2011.
- ^ "Что такое архитектура нескольких поколений (MGA)?". FAQ по Firebird. Получено 14 июля 2011.
- ^ «Интервью с Джимом Старки из InterBase World». Марина Новикова, InterBase World. Получено 14 июля 2011.
- ^ «Firebird: исходная общественная лицензия разработчика версии 1.0». Проект Firebird. Получено 13 июля 2011.
- ^ «Клиентская библиотека Firebird». Проект Жар-птица. Получено 14 июля 2011.
- ^ "Разработка приложения". Проект Жар-птица. Получено 14 июля 2011.
- ^ "Победители конкурса SourceForge.net 2007" Выбор сообщества ". SourceForge.net. Получено 13 июля 2011.
- ^ "SourceForge.net: CCA 2009: Победители". SourceForge.net. Получено 13 июля 2011.
внешняя ссылка
- Firebird - Сайт проекта
- Firebird - портал для разработчиков
- Сопоставления Firebird, графики.
- Документация Firebird от IBProvider
- FirebirdFAQ
- Жар-птицаНовости - Новости о Firebird и связанных проектах
- Руководство по переходу на Firebird 3 - электронная книга
- Драйвер Firebird Ole Db (альтернатива ODBC)