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

редактировать
Система управления реляционными базами данных

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

Firebird - это открытый источник SQL система управления реляционными базами данных, которая «работает на Linux, Microsoft Windows, macOS и несколько платформ Unix ». База данных является ответвлением от Borland с открытым исходным кодом InterBase в 2000 году, но начиная с Firebird 1.5 код был в значительной степени переписан.

Содержание

  • 1 История
    • 1.1 Конфликт имен Mozilla Firefox
  • 2 Основные функции
  • 3 Технология хранения и индексирования
    • 3.1 Многопоколенная архитектура (MGA)
    • 3.2 Индексы
  • 4 Варианты
  • 5 Лицензирование
  • 6 API подключения
    • 6.1 Низкоуровневый собственный API Firebird, API служб и встроенный SQL
  • 7 Награды
  • 8 См. Также
  • 9 Ссылки
  • 10 Внешние ссылки

История

В течение недели после того, как исходный код InterBase 6.0 был выпущен Borland 25 июля 2000 года, проект Firebird был создан на SourceForge. Firebird 1.0 был выпущен для Linux, Microsoft Windows и Mac OS X 11 марта 2002 года с портами на Solaris, FreeBSD 4, HP-UX в течение следующих двух месяцев.

Работа по переносу кодовой базы с C на C ++ началась в 2000 году. 23 февраля 2004 года была выпущена Firebird 1.5, который был первым стабильным выпуском новой кодовой базы. Версия 1.5 включает улучшенный оптимизатор запросов , условные выражения SQL-92, SQL:1999 точки сохранения и поддержку явной блокировки. Firebird 2.0 был выпущен 12 ноября 2006 года, добавив поддержку 64-битных архитектур, таблиц, вложенных в FROM,, и программируемых таймаутов lock в блокировке. транзакции.

Предыдущим стабильным выпуском была версия 2.1.6, в которой были добавлены новые функции, включая процедурные триггеры, рекурсивные запросы и поддержку SQL. : 2003 операторы MERGE.

Firebird 2.5 представила новые функции, такие как улучшенная многопоточность, синтаксис регулярных выражений и возможность удаленного запроса базы данных.

Самая последняя стабильная версия - Firebird 3.0, выпущенная 19 апреля 2016 г., ориентированная на производительность и безопасность. Значительная реструктуризация кода позволила полностью поддерживать машины SMP при использовании версии SuperServer.

В рамках Google Summer of Code 2013 началась работа по интеграции Firebird в качестве замены HSQLDB в LibreOffice.

Конфликт имен Mozilla Firefox

В апреле 2003 года Mozilla Organization объявила о переименовании своего веб-браузер от Phoenix до Firebird после спора о товарном знаке с Phoenix Technologies.

Это решение вызвало озабоченность в рамках проекта базы данных Firebird из-за предположения, что пользователи и поисковые системы в Интернете будут запутаны базой данных и веб-браузер с именем Firebird. Разработчики Mozilla выступили с заявлением, в котором разъясняли, что их программный пакет называется «Mozilla Firebird», а не «Firebird». В заявлении также говорилось, что название Mozilla Firebird было кодовым названием проекта .

. Спор был разрешен 9 февраля 2004 г., когда Mozilla изменила название своего браузера на Mozilla Firefox, что положило конец конфликт.

Основные функции

  • Полная поддержка хранимых процедур и триггеров
  • Полная ACID совместимых транзакций
  • Ссылочная целостность
  • Многопоколенная архитектура (иногда называемая MVCC)
  • Поддержка внешних функций (UDFs )
  • SQL-активность может отправлять асинхронные события уведомления клиентам
  • Сторонние инструменты, включая инструменты администрирования с графическим интерфейсом и инструменты репликации
  • Тщательная запись - быстрое восстановление, нет необходимости в журналах транзакций
  • Многие методы доступа: собственный / API, драйверы dbExpress / FireDAC, ODBC, OLE DB, Поставщик.NET, собственный драйвер JDBC типа 4, модуль Python, PHP, Perl
  • Инкрементное резервное копирование
  • Полная реализация курсора в PSQL

Технология хранения и индексации

Архитектура нескольких поколений (MGA)

Firebird унаследовал архитектуру хранения данных Interbase. Чтобы гарантировать свойства ACID транзакций, ядро ​​базы данных сохраняет разные версии каждой записи, измененные активными пользователями в базе данных. Когда транзакции фиксируются, последняя версия каждой измененной записи помечается как окончательная. Если транзакции откатываются, ядро ​​базы данных сохраняет отметку на исходных версиях записей, оставляя их нетронутыми. В результате количество операций записи на диск Firebird значительно сокращается по сравнению с базами данных, использующими традиционную архитектуру журнала транзакций. Запись транзакций не препятствует чтению, и наоборот, потому что каждая видит свою версию базы данных. Компромисс заключается в том, что время от времени требуется некоторое обслуживание («очистка») для очистки старых версий записей и освобождения дискового пространства.

Архитектура нескольких поколений гарантирует, что OLTP и DSS Операции / OLAP могут выполняться одновременно без задержек, вызванных механизмами блокировки, обнаруженными в других продуктах.

Индексы

Firebird заставляет все индексы базы данных вести себя как хорошо настроенные «кластерные индексы», используемые другие архитектуры. Сегменты индекса Firebird не подлежат двухфазной блокировке, а логические операции «и» и «или» могут выполняться с промежуточными растровыми изображениями с незначительными затратами, избавляя оптимизатора от необходимости выбирать между альтернативными индексами.

Варианты

  • Firebird SuperServer имеет один демон / сервер для всех клиентских подключений, многопоточный с общим кешем
  • Firebird SuperClassic также имеет одного демона / сервера для всех клиентских подключений, многопоточного с отдельными кешами
  • Firebird Classic использует inetd для запуска одной копии сервера на каждое клиентское соединение, рекомендуется для систем SMP, но может иметь проблемы с уведомлением о событиях, если доступ осуществляется через брандмауэр
  • Firebird Embedded для создание каталогов CD-ROM, однопользовательских или оценочных версий приложений

Лицензирование

Ядро СУБД Firebird и его модули выпускаются под лицензией с открытым исходным кодом, Первоначальной общественной лицензией разработчика (IDPL), вариант Mozilla Pub lic Лицензия (MPL) версия 1.1. Это не требует, чтобы разработчик открывал продукты с помощью Firebird или даже пользовательских производных, созданных на основе его исходного кода, но если разработчик решит это сделать, то следует соблюдать некоторые положения и условия. IDPL позволяет разработчику создавать проприетарные приложения с закрытым исходным кодом, использующие Firebird или основанные на нем.

API подключения

Низкоуровневый собственный API Firebird, API служб и встроенный SQL

Собственный API Firebird используется прямо или косвенно приложениями или промежуточным программным обеспечением, которые подключаются к базе данных Firebird. Он реализован в клиентской библиотеке fbclient.dll в системах Windows и в libfbclient.so в системах Unix.

API служб - это специальный набор функций для доступа и управления задачами администрирования служб, такими как управление пользователями, резервное копирование / восстановление и сбор статистики.

Встроенный SQL - это метод, упрощающий разработку приложений Firebird на C / C ++ и COBOL за счет использования препроцессора под названием gpre, который позволяет встраивать операторы SQL непосредственно в исходный код язык хоста.

Награды

  • 2007. Премия SourceForge Community Choice: лучший проект для предприятий, лучшая поддержка пользователей.
  • 2009. Премия SourceForge Community Choice: лучший проект для предприятий. Финалист «Лучший проект» и «Лучший проект для правительства».

См. Также

  • Портал бесплатного программного обеспечения с открытым исходным кодом

Ссылки

Внешние ссылки

Викискладе есть носители, относящиеся к Firebird (сервер баз данных).
Последняя правка сделана 2021-05-20 04:57:17
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте