Firebird (сервер базы данных) - Firebird (database server)

Жар-птица
Firebird logo.svg
Turbobird screenshot.png
Разработчики)Проект Firebird
изначальный выпуск2000 (2000)
Стабильный выпуск
3.0.7[1] / 2020-10-20[±]
Предварительный выпуск
4.0 Beta 2/19 января 2020 г.; 10 месяцев назад (2020-01-19)[2]
Репозиторий Отредактируйте это в Викиданных
Написано вC ++
Операционная системаКроссплатформенность
ТипСУБД
ЛицензияIPL, IDPL
Интернет сайтwww.firebirdsql.org

Жар-птица является Открытый исходный код 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]

Смотрите также

Рекомендации

  1. ^ «Доступен под-релиз Firebird 3.0.7». firebirdsql.org.
  2. ^ «Firebird: Jaybird 4.0.0-beta-2 доступна для тестирования». FirebirdSQL. Фонд Firebird. 19 января 2020 г.. Получено 19 января 2020.
  3. ^ «Firebird: мощная кроссплатформенная система баз данных SQL». SourceForge. SourceForge Media, LLC. 25 апреля 2018 г.. Получено 2 мая 2018.
  4. ^ «Примечания к выпуску Firebird 1.5.5». Получено 29 сентября 2009. Firebird 1.5.5 Общие замечания по его переписыванию с языка C на язык C ++
  5. ^ «Inprise / Borland представляет InterBase 6.0 теперь бесплатно и с открытым исходным кодом для Linux, Windows и Solaris». 16 июля 2000 г. Архивировано с оригинал 6 декабря 2004 г.. Получено 29 января 2009.
  6. ^ «Borland.com: Inprise / Borland представляет Interbase 6.0 теперь бесплатно и с открытым исходным кодом для Linux». Linux сегодня. Получено 29 января 2009.
  7. ^ "История Жар-птицы". Получено 14 марта 2014.
  8. ^ Пол Ривз. «Что происходит с InterBase». Группа пользователей Borland. п. 2. Получено 14 марта 2014.
  9. ^ "Архив новостей сообщества IBPhoenix". 11 марта 2000 г.. Получено 29 января 2009.[постоянная мертвая ссылка ]
  10. ^ "Архив новостей сообщества IBPhoenix". 11 апреля 2000 г.. Получено 29 января 2009.[постоянная мертвая ссылка ]
  11. ^ "Реляционная база данных Firebird 1.5, окончательный выпуск". Slashdot. 23 февраля 2004 г.. Получено 31 января 2009.
  12. ^ Хелен Борри (5 октября 2009 г.). «Примечания к выпуску Firebird 1.5.6». Проект Firebird. Получено 10 июн 2012.
  13. ^ Дмитрий Еманов. «В Праге запускается финальная версия Firebird 2.0». Получено 5 февраля 2009.
  14. ^ Хелен Борри (5 апреля 2012 г.). «Примечания к выпуску Firebird 2.0.7». Получено 10 июн 2012.
  15. ^ Хелен Борри (20 июля 2014 г.). «Примечания к выпуску Firebird 2.1». Получено 20 июля 2014.
  16. ^ Хелен Борри (19 ноября 2015 г.). «Примечания к выпуску Firebird 2.5.5». Получено 19 ноября 2015.
  17. ^ Грей, Джеймс (29 июля 2016 г.). "Реляционная база данных Firebird проекта Firebird | Linux Journal". www.linuxjournal.com. Linux журнал. В архиве из оригинала на 1 марта 2020 г.. Получено 1 марта 2020.
  18. ^ mariuz (14 февраля 2012 г.). «Firebird Embedded и LibreOffice - потрясающая комбинация для масштабирования от единого файлового приложения до подхода клиент / сервер». Firebirdnews.org. Получено 8 июля 2013.
  19. ^ ahunt (28 мая 2013 г.). «GSOC 2013: Коннектор SQL LibreOffice Firebird». Получено 8 июля 2013.
  20. ^ Доцлер, Аса (14 апреля 2003 г.). «Феникс и Минотавр будут переименованы в Жар-птица и Громовая птица». MozillaZine. MozillaZine. Получено 29 января 2016.
  21. ^ Браузер Mozilla становится Firebird, IBPhoenix, заархивировано из оригинал 23 апреля 2003 г., получено 29 января 2016
  22. ^ Епископ, Алексей (21 апреля 2003 г.). "Интервью с администратором проекта базы данных Firebird Энн Харрисон". MozillaZine. MozillaZine. Получено 29 января 2016.
  23. ^ "брендинг Mozilla". Организация Mozilla. 25 апреля 2003 г. Архивировано с оригинал 26 апреля 2003 г.. Получено 31 января 2016.
  24. ^ Феста, Пол (7 мая 2003 г.). "Жар-птица Mozilla подрезает крылья". CNET. CBS Interactive. Получено 29 января 2016.
  25. ^ Епископ, Алексей (14 мая 2003 г.). «Кристофер Близзард из mozilla.org говорит о конфликте имен Firebird». MozillaZine. MozillaZine. Получено 29 января 2016.
  26. ^ Пол Феста (9 февраля 2004 г.). «Mozilla держит« огонь »в борьбе за названия». CNET. CBS Interactive. Получено 29 января 2016.
  27. ^ «Mozilla Firebird переименовал Firefox, выпущена версия 0.8». MozillaZine. MozillaZine. 9 февраля 2004 г.. Получено 29 января 2016.
  28. ^ «Mozilla Firefox - часто задаваемые вопросы о торговой марке». mozilla.org. Фонд Mozilla. Получено 29 января 2016.
  29. ^ «Познакомьтесь с Firebird за 2 минуты».
  30. ^ Роман Рокицкий. «Не очень техническое обсуждение мультиверсионного управления параллелизмом». Получено 21 ноября 2011.
  31. ^ "Подключиться к Firebird (FireDAC)".FireDAC
  32. ^ https://pypi.python.org/pypi/fdb/
  33. ^ «Архитектура нескольких поколений (MGA) и управление версиями записей». HK-Программное обеспечение. Архивировано из оригинал 1 октября 2011 г.. Получено 14 июля 2011.
  34. ^ «Интервью с Джимом Старки из InterBase World». Марина Новикова, InterBase World. Получено 14 июля 2011.
  35. ^ "Что такое архитектура нескольких поколений (MGA)?". FAQ по Firebird. Получено 14 июля 2011.
  36. ^ «Ведение базы данных и сборка мусора». Проект Жар-птица. Получено 14 июля 2011.
  37. ^ "Что такое архитектура нескольких поколений (MGA)?". FAQ по Firebird. Получено 14 июля 2011.
  38. ^ «Интервью с Джимом Старки из InterBase World». Марина Новикова, InterBase World. Получено 14 июля 2011.
  39. ^ «Firebird: исходная общественная лицензия разработчика версии 1.0». Проект Firebird. Получено 13 июля 2011.
  40. ^ «Клиентская библиотека Firebird». Проект Жар-птица. Получено 14 июля 2011.
  41. ^ "Разработка приложения". Проект Жар-птица. Получено 14 июля 2011.
  42. ^ "Победители конкурса SourceForge.net 2007" Выбор сообщества ". SourceForge.net. Получено 13 июля 2011.
  43. ^ "SourceForge.net: CCA 2009: Победители". SourceForge.net. Получено 13 июля 2011.

внешняя ссылка