Firebird (сервер базы данных)
В этой статье есть несколько проблем. Пожалуйста, помогите улучшить его или обсудите эти проблемы на странице обсуждения . ( Узнайте, как и когда удалять эти шаблонные сообщения )
|
Скриншот | |
Оригинальный автор(ы) | Борланд |
---|---|
Разработчик(и) | Фонд Жар-птицы |
Первоначальный выпуск | 2000 |
Стабильная версия | 5.0.1 [ 1 ]
/ 2 августа 2024 г |
Предварительный выпуск | Firebird 5.0, выпуск-кандидат 1
/ 26.09.2023 |
Репозиторий | |
Написано в | С++ , С |
Операционная система | Кросс-платформенный |
Платформа | ИА-32 , x86-64 |
Тип | СУБД |
Лицензия | ИПЛ , ИДПЛ |
Веб-сайт | www |
Firebird — это с открытым исходным кодом SQL система управления реляционными базами данных , которая поддерживает Linux , Microsoft Windows , macOS и другие Unix . платформы [ 2 ] База данных возникла из с открытым исходным кодом Borland версии InterBase в 2000 году, но код был в значительной степени переписан после Firebird 1.5. [ 3 ]
История
[ редактировать ]Через неделю после InterBase выпуска исходного кода 6.0 компанией Borland 25 июля 2000 г. [ 4 ] [ 5 ] проект Firebird создан на SourceForge . [ 6 ] [ 7 ] Firebird 1.0 был выпущен для Linux, Microsoft Windows и Mac OS X 11 марта 2002 г. [ 8 ] с портами на Solaris , FreeBSD 4 , HP-UX в течение следующих двух месяцев. [ 9 ]
Работа над переносом кодовой базы с C на C++ началась в 2000 году. 23 февраля 2004 года был выпущен Firebird 1.5. [ 10 ] это был первый стабильный выпуск новой кодовой базы. Версия 1.5 включает улучшенный оптимизатор запросов , условные выражения SQL-92 , SQL:1999 точки сохранения и поддержку явной блокировки . [ 11 ] Firebird 2.0 был выпущен 12 ноября 2006 г. [ 12 ] добавление поддержки 64-битных архитектур, таблиц, вложенных в предложения FROM , и программируемых тайм-аутов блокировки при блокировке транзакций . [ 13 ]
Предыдущей стабильной версией была версия 2.1.6, в которой были добавлены новые функции, включая процедурные триггеры , рекурсивные запросы и поддержка операторов SQL:2003 MERGE . [ 14 ]
В Firebird 2.5 появились новые функции, такие как улучшенная многопоточность , синтаксис регулярных выражений и возможность отправлять запросы к удаленным базам данных. [ 15 ]
Самая последняя стабильная версия — Firebird 3.0, выпущенная 19 апреля 2016 года, с упором на производительность и безопасность. Значительная перестройка архитектуры кода позволила полностью поддерживать машины SMP при использовании версии SuperServer. [ 16 ]
Во время Google Summer of Code 2013 началась работа по интеграции Firebird в качестве замены HSQLDB в LibreOffice Base . [ 17 ] [ 18 ]
Конфликт имен Mozilla Firefox
[ редактировать ]В апреле 2003 года организация Mozilla объявила о переименовании своего веб-браузера с Phoenix на Firebird после спора о товарном знаке с Phoenix Technologies . [ 19 ]
Это решение вызвало обеспокоенность в проекте базы данных Firebird из-за предположения, что пользователи и поисковые системы Интернета будут сбиты с толку базой данных и веб-браузером, использующими имя Firebird. [ 20 ] [ 21 ] Разработчики Mozilla опубликовали заявление: [ 22 ] ясно давая понять, что их программный пакет назывался «Mozilla Firebird», а не «Firebird». [ 23 ] [ 24 ] В заявлении также говорится, что название Mozilla Firebird было кодовым названием проекта .
Спор был разрешен 9 февраля 2004 года, когда Mozilla изменила название своего браузера на Mozilla Firefox , тем самым положив конец конфликту. [ 25 ] [ 26 ] [ 27 ]
Основные особенности
[ редактировать ]- Полная поддержка хранимых процедур и триггеров. [ 28 ]
- Полное соответствие ACID транзакциям
- Ссылочная целостность
- Архитектура нескольких поколений (иногда называемая MVCC) [ 29 ]
- Поддержка внешних функций ( UDF )
- SQL-активность может отправлять клиентам асинхронные уведомления.
- Сторонние инструменты, включая инструменты администрирования с графическим интерфейсом и инструменты репликации.
- Тщательная запись — быстрое восстановление, нет необходимости в журналах транзакций
- Множество методов доступа: собственный/API, dbExpress/FireDAC. [ 30 ] драйверы, ODBC, OLE DB, поставщик .NET, собственный драйвер JDBC типа 4, модуль Python, [ 31 ] PHP, Перл
- Инкрементальные резервные копии
- Полная реализация курсора в PSQL
Технология хранения и индексирования
[ редактировать ]Архитектура нескольких поколений (MGA)
[ редактировать ]Firebird унаследовал архитектуру хранения данных Interbase. Чтобы обеспечить свойства ACID транзакций, ядро базы данных сохраняет в базе данных разные версии каждой записи, измененной активными пользователями. Когда транзакции фиксируются, последняя версия каждой измененной записи помечается как окончательная. Если транзакции откатываются, ядро базы данных сохраняет пометку в исходных версиях записей, оставляя их нетронутыми. [ 32 ] В результате объем операций записи на диск Firebird значительно сокращается по сравнению с базами данных, использующими традиционную архитектуру журнала транзакций. [ 33 ] Запись транзакций не мешает чтению и наоборот, ведь каждая видит свою версию базы. [ 34 ] Компромисс заключается в том, что время от времени требуется некоторое обслуживание («очистка») для очистки старых версий записей и свободного дискового пространства. [ 35 ]
Архитектура нескольких поколений гарантирует, что операции OLTP и DSS/OLAP могут выполняться одновременно без задержек, вызванных механизмами блокировки, присутствующими в других продуктах. [ 36 ]
Индексы
[ редактировать ]Firebird заставляет все индексы базы данных вести себя как хорошо настроенные «кластерные индексы», используемые в других архитектурах. Индексные сегменты Firebird не подлежат двухфазной блокировке, а логические операции «и» и «или» могут выполняться над промежуточными растровыми изображениями с незначительными затратами, что устраняет необходимость оптимизатору выбирать между альтернативными индексами. [ 37 ]
Варианты
[ редактировать ]- Firebird SuperServer имеет один демон/сервер для всех клиентских подключений, многопоточный с общим кешем.
- Firebird SuperClassic также имеет один демон/сервер для всех клиентских подключений, многопоточный с отдельными кэшами.
- Firebird Classic использует inetd для запуска одной копии сервера для каждого клиентского соединения, рекомендуется для систем SMP, но могут возникнуть проблемы с уведомлением о событиях, если доступ осуществляется через брандмауэр.
- Firebird Embedded для создания каталогов на компакт-дисках, однопользовательских или ознакомительных версий приложений.
Лицензирование
[ редактировать ]Ядро базы данных Firebird и его модули выпускаются под лицензией с открытым исходным кодом , Начальной публичной лицензией разработчика (IDPL), вариантом общественной лицензии Mozilla (MPL) версии 1.1. От разработчика не требуется открывать продукты с помощью Firebird или даже его производных, созданных на основе его исходного кода, но если разработчик решит это сделать, то следует соблюдать некоторые положения и условия. IDPL позволяет разработчику создавать собственные приложения с закрытым исходным кодом, использующие Firebird или основанные на нем. [ 38 ]
API-интерфейсы подключения
[ редактировать ]Низкоуровневый собственный API Firebird, API служб и встроенный SQL
[ редактировать ]Собственный API Firebird используется прямо или косвенно приложениями или промежуточным программным обеспечением, подключающимся к базе данных Firebird. Он реализован в клиентской библиотеке fbclient.dll в системах Windows и в libfbclient.so в системах Unix. [ 39 ]
API служб — это специальный набор функций для доступа и управления задачами администрирования служб, такими как управление пользователями, резервное копирование/восстановление и сбор статистики.
Встроенный SQL — это метод, который упрощает разработку приложений Firebird на C/C++ и COBOL за счет использования препроцессора gpre, который позволяет встраивать операторы SQL непосредственно в исходный код основного языка. [ 40 ]
Награды
[ редактировать ]- 2007. Премия «Выбор сообщества SourceForge»: лучший корпоративный проект, лучшая поддержка пользователей. [ 41 ]
- 2009. Премия «Выбор сообщества SourceForge»: лучший корпоративный проект. Финалист номинаций «Лучший проект» и «Лучший проект для правительства». [ 42 ]
См. также
[ редактировать ]- Сравнение систем управления реляционными базами данных
- Список систем управления реляционными базами данных
- Управление многоверсионным параллелизмом
Ссылки
[ редактировать ]- ^ «Жар-птица 5.0.1» . 2 августа 2024 г. Проверено 4 августа 2024 г.
- ^ «Firebird: мощная кроссплатформенная система баз данных SQL» . СоурсФордж . СорсФордж Медиа, ООО. 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» . Линукс сегодня. Архивировано из оригинала 30 июня 2009 года . Проверено 29 января 2009 г.
- ^ «История Жар-птицы» . Проверено 14 марта 2014 г.
- ^ Пол Ривз. «Что происходит с InterBase» . Группа пользователей Borland. п. 2 . Проверено 14 марта 2014 г.
- ^ «Архив новостей сообщества IBPhoenix» . 11 марта 2000 года . Проверено 29 января 2009 г. [ постоянная мертвая ссылка ]
- ^ «Архив новостей сообщества IBPhoenix» . 11 апреля 2000 года . Проверено 29 января 2009 г. [ постоянная мертвая ссылка ]
- ^ «Финальный выпуск реляционной базы данных Firebird 1.5» . Слэшдот. 23 февраля 2004 г. Проверено 31 января 2009 г.
- ^ Хелен Борри (5 октября 2009 г.). «Примечания к выпуску Firebird 1.5.6» . Проект «Жар-птица» . Проверено 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 г.
- ^ Мариуз (14 февраля 2012 г.). «Firebird Embedded и LibreOffice — это потрясающая комбинация для масштабирования от однофайлового приложения до клиент-серверного подхода» . Firebirdnews.org . Проверено 8 июля 2013 г.
- ^ ахант (28 мая 2013 г.). «GSOC 2013: SQL-коннектор LibreOffice Firebird» . Проверено 8 июля 2013 г.
- ^ Доцлер, Аса (14 апреля 2003 г.). «Феникс и Минотавр будут переименованы в Жар-птицу и Громовую птицу» . МозиллаЗин . Проверено 29 января 2016 г.
- ^ Браузер Mozilla становится Firebird , IBPhoenix, заархивировано из оригинала 23 апреля 2003 г. , получено 29 января 2016 г.
- ^ Епископ, Алекс (21 апреля 2003 г.). «Интервью с администратором проекта базы данных Firebird Энн Харрисон» . МозиллаЗин . Проверено 29 января 2016 г.
- ^ «брендинг Mozilla» . Организация Мозилла. 25 апреля 2003 г. Архивировано из оригинала 26 апреля 2003 г. Проверено 31 января 2016 г.
- ^ Феста, Пол (7 мая 2003 г.). «Mozilla's Firebird подрезают крылья» . CNET . CBS Интерактив . Проверено 29 января 2016 г.
- ^ Епископ, Алекс (14 мая 2003 г.). «Кристофер Близзард из mozilla.org рассказывает о конфликте имен Firebird» . МозиллаЗин . Проверено 29 января 2016 г.
- ^ Пол Феста (9 февраля 2004 г.). «Mozilla держит огонь в борьбе за имена» . CNET . CBS Интерактив . Проверено 29 января 2016 г.
- ^ «Mozilla Firebird переименована в Firefox, выпущена версия 0.8» . МозиллаЗин . 9 февраля 2004 года . Проверено 29 января 2016 г.
- ^ «Mozilla Firefox — Часто задаваемые вопросы о торговой марке» . сайт mozilla.org . Фонд Мозилла . Проверено 29 января 2016 г.
- ^ «Познакомьтесь с Firebird за 2 минуты» .
- ^ Роман Рокицкий. «Не очень техническое обсуждение многоверсионного управления параллелизмом» . Проверено 21 ноября 2011 г.
- ^ «Подключиться к Firebird (FireDAC)» . FireDAC
- ^ «FDB: драйвер Python для Firebird» .
- ^ «Архитектура нескольких поколений (MGA) и управление версиями записей» . HK-Программное обеспечение . Архивировано из оригинала 1 октября 2011 года . Проверено 14 июля 2011 г.
- ^ «Интервью с Джимом Старки из InterBase World» . Марина Новикова, InterBase World . Проверено 14 июля 2011 г.
- ^ «Что такое архитектура нескольких поколений (MGA)?» . Часто задаваемые вопросы по Firebird . Проверено 14 июля 2011 г.
- ^ «Управление базой данных и сбор мусора» . Проект «Жар-птица» . Проверено 14 июля 2011 г.
- ^ «Что такое архитектура нескольких поколений (MGA)?» . Часто задаваемые вопросы по Firebird . Проверено 14 июля 2011 г.
- ^ «Интервью с Джимом Старки из InterBase World» . Марина Новикова, InterBase World . Проверено 14 июля 2011 г.
- ^ «Firebird: начальная общественная лицензия разработчика, версия 1.0» . Проект «Жар-птица» . Проверено 13 июля 2011 г.
- ^ «Клиентская библиотека Firebird» . Проект «Жар-птица» . Проверено 14 июля 2011 г.
- ^ «Разработка приложений» . Проект «Жар-птица» . Проверено 14 июля 2011 г.
- ^ «Победители премии «Выбор сообщества» на SourceForge.net 2007» . SourceForge.net . 15 июня 2007 года . Проверено 13 июля 2011 г.
- ^ «SourceForge.net: CCA 2009: Победители» . SourceForge.net . 28 июля 2009 года . Проверено 13 июля 2011 г.
Внешние ссылки
[ редактировать ]- Официальный сайт
- Firebird - Портал разработчиков
- Параметры сортировки Firebird , диаграммы.
- Документация Firebird от IBProvider
- Жар-птицаFAQ
- FirebirdNews - Новости о Firebird и связанных с ним проектах
- Руководство по миграции на Firebird 3 — электронная книга
- Драйвер Firebird Ole Db (альтернатива для ODBC)
- Jaybird — драйвер JDBC для Firebird (на github.com)
- Jaybird — драйвер JDBC для Firebird (на firebirdsql.org)
- Бесплатные системы управления базами данных
- Кроссплатформенное программное обеспечение
- Системы управления реляционными базами данных
- Клиент-серверные системы управления базами данных
- Программное обеспечение для управления реляционными базами данных для Linux
- Ранее проприетарное программное обеспечение
- Firebird (сервер базы данных)