Firebird














































Firebird
Firebird logo.svg
Turbobird screenshot.png
Тип
Реляционная СУБД
Разработчик
Сообщество Firebird
Написана на
C++[2]
Операционная система
кроссплатформенность
Первый выпуск
22 ноября 2000
Последняя версия
  • 3.0.4 (4 октября 2018)[3]

Тестовая версия
4.0 Alpha 1[1] (24 Августа 2017)
Лицензия
Лицензия IDPL, InterBase Public License, Mozilla Public License 1.1
Сайт
firebirdsql.org
Commons-logo.svg Firebird на Викискладе

Firebird (FirebirdSQL) — свободная кроссплатформенная реляционная система управления базами данных (РСУБД), работающая на macOS, Linux, Microsoft Windows и разнообразных Unix платформах.


Firebird используется в различных промышленных системах (складские и хозяйственные, финансовый и государственный сектора) с 2001 г. Это коммерчески независимый проект C и C++ программистов, технических советников.


Среди недостатков: отсутствие кэша результатов запросов, полнотекстовых индексов, значительное падение производительности при росте внутренней фрагментации базы, ограниченное количество одновременных подключений[4]. Над решением этих проблем неустанно работает сообщество.




Содержание






  • 1 Факты о Firebird


    • 1.1 Основные характеристики


    • 1.2 Соответствие стандарту SQL


    • 1.3 Требования к аппаратному обеспечению


    • 1.4 Доступные операционные системы


    • 1.5 Средства доступа к серверу


    • 1.6 Физические ограничения


    • 1.7 Версии сервера


    • 1.8 Архитектуры сервера


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


    • 1.10 Средства разработки и администрирования


      • 1.10.1 FlameRobin


      • 1.10.2 IBExpert


      • 1.10.3 IB/FB Development Studio




    • 1.11 Blaze Top


      • 1.11.1 Database Workbench


      • 1.11.2 EMS SQL Manager for InterBase Firebird




    • 1.12 Database Master


    • 1.13 Поддержка


    • 1.14 Сообщество


    • 1.15 История




  • 2 Ссылки


  • 3 Литература


  • 4 Примечания





Факты о Firebird |


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



Основные характеристики |




  • Соответствие требованиям ACID: Firebird сделан специально, чтобы удовлетворять требованиям «атомарности, целостности, изоляции и надёжности» транзакций («Atomicity, Consistency, Isolation and Durability»)[5].


  • Версионная архитектура: Основная особенность Firebird — версионная архитектура, позволяющая серверу обрабатывать различные версии одной и той же записи в любое время таким образом, что каждая транзакция видит свою версию данных, не мешая соседним («читающие транзакции не блокируют пишущих, а пишущие — не блокируют читающих»). Это позволяет использовать одновременно OLTP и OLAP запросы.


  • Хранимые процедуры: Используя язык PSQL (процедурный SQL) Firebird, можно создавать сложные хранимые процедуры для обработки данных полностью на стороне сервера. Для генерации отчётов особенно удобны хранимые процедуры с возможностью выборки, возвращающие данные в виде набора записей. Такие процедуры можно использовать в запросах точно так же, как и обычные таблицы.


  • События: Хранимые процедуры и триггеры могут генерировать события, на которые может подписаться клиент. После успешного завершения транзакции (COMMIT) он будет извещён о произошедших событиях и их количестве.


  • Генераторы: Идея генераторов (последовательностей) делает возможной простую реализацию автоинкрементных полей, и не только их. Генераторы являются 64‐битными хранимыми в базе данных счётчиками, работающими независимо от транзакций. Они могут быть использованы для различных целей, таких как генерация первичных ключей, управление длительными запросами в соседних транзакциях, и т. д.


  • Базы данных только для чтения: позволяют распространять базы данных, к примеру, на CD-ROM. Особенно упрощает распространение данных их использование в комбинации со встраиваемой версией сервера Firebird (Firebird Embedded).


  • Полный контроль за транзакциями: Одно клиентское приложение может выполнять множество одновременных транзакций. В разных транзакциях могут быть использованы разные уровни изоляции. Протокол двухфазного подтверждения транзакций обеспечивает гарантированную устойчивость при работе с несколькими базами данных. Также доступны оптимистическое блокирование данных и точки сохранения транзакций.


  • Резервное копирование на лету: Для резервного копирования нет надобности останавливать сервер. Процесс резервного копирования сохраняет состояние базы данных на момент своего старта, не мешая при этом работе с базой. Кроме того, существует возможность производить инкрементальное резервное копирование БД.


  • Триггеры: Для каждой таблицы возможно назначение нескольких триггеров, срабатывающих до или после вставки, обновления или удаления записей. Для триггеров используется язык PSQL, позволяя вносить начальные значения, проверять целостность данных, вызывать исключения и т. д. В Firebird 1.5 появились «универсальные» триггеры, позволяющие в одном триггере обрабатывать вставки, обновления и удаления записей таблицы.


  • Внешние функции: библиотеки с UDF (User Defined Function) могут быть написаны на любом языке и легко подключены к серверу в виде DLL/SO, позволяя расширять возможности сервера «изнутри».


  • Декларативное описание ссылочной целостности: Обеспечивает непротиворечивость и целостность многоуровневых отношений «master-detail» между таблицами.


  • Наборы символов: Firebird поддерживает множество международных наборов символов (включая Unicode) с множеством вариантов сортировки.



Соответствие стандарту SQL |


  • Firebird полностью поддерживает SQL-92 Entry Level 1 и реализует большую часть стандарта SQL-99 c некоторыми очень полезными дополнениями. Это включает выражения DML/DDL, синтаксис объединений FULL/LEFT/RIGHT [OUTER] JOIN, выражения UNION, DISTINCT, подзапросы (IN, EXISTS), встроенные функции (AVG, SUM, MIN, MAX, COALESCE, CASE, ..), ограничения целостности (PRIMARY KEY, UNIQUE, FOREIGN KEY), и все общие типы данных SQL.

Firebird также реализует ограничения проверки (check constraints) на уровне доменов и полей, отображения (views), исключения, роли и управление правами доступа. Для более подробной информации см. Firebird Reference Guide и Release Notes.



Требования к аппаратному обеспечению |


  • Firebird работает на аппаратных платформах x86, x64 и PowerPC, Sparc и многих других, и поддерживает легкий переход между этими платформами. Может использоваться даже не очень мощное оборудование, особенно под Linux. И, как в любой СУБД, на производительность влияют: количество памяти, скорость работы дисковой подсистемы и т. д. Рекомендации для выбора аппаратного обеспечения зависят от требования к системе, прогнозируемого размера базы данных, количества пользователей и т. п. Допустимо начинать с минимальной конфигурации, расширяя её по мере надобности.


Доступные операционные системы |


  • 32- и 64-разрядные версии Windows, Linux, также macOS, HP-UX, FreeBSD, Solaris и др. В настоящее время выпускаются версии только для 32- и 64-разрядных версий Windows, Linux и macOS. Последняя версия для Solaris и HP-UX — 2.1.4. Наиболее широко используемыми для серверов «Firebird» операционными системами являются Linux и Microsoft Windows (включая NT) (включая терминальные службы MS и Citrix).

Переход от одной ОС к другой весьма прост — достаточно сделать резервную копию базы в переносимом формате в одной системе и восстановить на другой.



Средства доступа к серверу |


  • Firebird поддерживает множество способов доступа, включая: собственные наборы компонент для C/C++, Delphi, классы для ADO, ODBC, JDBC (Jaybird), драйверы для Python, PHP, драйвер OLE DB, dbExpress, провайдер данных .NET и прямой доступ с использованием клиентской библиотеки сервера (fbclient.dll или GDS32.dll)


Физические ограничения |



  • Firebird поддерживает большие базы данных. Базы данных могут быть расположены в нескольких файлах, предельный размер которых зависит от операционной системы. Теоретический предел в настоящее время составляет 64 TБ для одного файла базы данных, таким образом, главные ограничения накладываются файловой системой и местом на жёстком диске.
    • Практически база данных объёмом 1 ТБ стабильно работает, что доказывает проведенный тест.


  • Максимальная длина одной записи (суммарно все поля за исключением полей с типом BLOB) равна 64 КБ.



Версии сервера |


Не поддерживаемые версии:



  • 1.0 (последний выпуск 1.0.3 от 04.06.2003);

  • 1.5 (последний выпуск 1.5.6 от 08.10.2009);

  • 2.0 (последний выпуск 2.0.7 от 12.04.2012);

  • 2.1 (последний выпуск 2.1.7 от 05.12.2014).


Поддерживаемые:



  • 2.5 (самая последняя версия 2.5.8 от 05.01.2018);

  • 3.0 (самая последняя версия 3.0.3 от 02.02.2018).



Архитектуры сервера |


Существует четыре различных взаимозаменяемых архитектуры сервера.



  • ClassicServer — один процесс на одно соединение; поддержка многопроцессорных машин.

  • SuperServer — все соединения используют один процесс, меньшие требования к памяти при большем быстродействии; для многопроцессорных машин (до 3.0 для однопроцессорных).

  • SuperClassic Server — один процесс, но свой поток на каждое соединение. Данная архитектура введена в версии 2.5.

  • Embedded (встраиваемая) версия — весь движок содержится в одной библиотеке с именем клиентской библиотеки сервера, идеально подходит для однопользовательских систем, не требует инсталляции в Windows.


Все архитектуры используют одинаковый формат файла базы данных, таким образом, в любой момент можно переключиться на другую архитектуру.
Сравнение архитектур. Скачать в виде PDF (англ.)



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


  • Firebird выпускается под условиями IPL (InterBase Public License) и IDPL (Initial Developer’s Public License), которые совпадают с условиями Mozilla Public License 1.1. Firebird полностью бесплатен для использования и распространения (в том числе и коммерческого). Раскрытие исходного кода вашего продукта не требуется, вне зависимости от используемой модели лицензирования. Однако, в случае, если вы модифицировали исходный код сервера, то необходимо сделать доступным исходный код ваших модификаций.


Средства разработки и администрирования |



FlameRobin |


FlameRobin — поддерживает Firebird. Кросс-платформенная архитектура. Есть редактор SQL, DDL, управление пользователями.


Лицензия: open source, распространяется бесплатно.


Сайт: FlameRobin



IBExpert |


IBExpert — Поддерживает Firebird, Interbase, Yaffil. Редакторы DDL и DML. Визуальный построитель запросов. Автозавершение кода, Metadata Extractor, отладчик хранимых процедур, а также множество других возможностей.


Лицензия: Бесплатный для жителей постсоветского пространства, для остальных: от 179 евро.


Сайт: IBExpert



IB/FB Development Studio |


IB/FB Development Studio — Визуальный дизайнер баз данных, встроенный MERGE, scheduler, Code auto completion, анализатор запросов, монитор производительности.


Лицензия: 129 евро.


Сайт: IB/FB Development Studio



Blaze Top |


Blaze Top — Инструмент разработчика и администратора баз данных. Поддерживает Firebird и Interbase.


Лицензия: Бесплатно для России, для остальных: от 129 евро.


Сайт: Blaze Top



Database Workbench |


Database Workbench — поддерживает несколько серверов баз данных, среди которых есть Firebird и Interbase. Отладка хранимых процедур, анализ планов, встроенные средства переноса данных и метаданных.


Лицензируется отдельно на Interbase и отдельно на Firebird. 171$ за каждый движок (Interbase или Firebird).


Сайт: Database Workbench



EMS SQL Manager for InterBase Firebird |


Есть платная и бесплатная (lite) версия


Сайт: EMS Database Management Solutions



Database Master |


Database Master — средство управления системами баз данных FireBird, PostgreSQL, Oracle, SQL-Server, MySQL, ODBC, OleDB, MongoDB, XML и SQLite.
Сайт: Database Master — FireBird Management Software



Поддержка |


  • На главной странице проекта Firebird находится множество полезных ссылок по Firebird.

Ряд компаний (например, IBPhoenix, iBase, Ред Софт) предоставляют услугу профессиональной поддержки Firebird.



Сообщество |


  • Существует растущее сообщество пользователей Firebird и множество новостных групп, обеспечивающих онлайновую поддержку[6].


История |



  • Firebird основан на исходном коде InterBase 6.0, который был выпущен как Open Source компанией Borland в августе 2000 года. История Interbase начинается в 1984 году, таким образом, продукт является наследником почти 30‑летнего опыта работы с реляционными базами данных[7].

  • 2 июня 2015 года Минкомсвязь России издает «Протокол экспертной оценки проектов по импортозамещению инфраструктурного программного обеспечения», в котором отечественное программное средство СУБД Ред База Данных, основанное на программном коде FireBird, занимает 5-е место в разделе «Системы управления базами данных» протокола экспертной оценки.[8] На данный момент этот форк СУБД широко применяется в ряде федеральных министерств, служб, бюджетных учреждений и ведомств различного уровня.[9] Для конечного пользователя выбор данного варианта FireBird основывается часто на том, что, в отличие от «родительского» проекта, он сертифицирован ФСТЭК России и соответствует отечественным требованиям защиты информации, проходит жесткое тестирование и при этом совместим на уровне резервных копий с основной веткой разработки.



Ссылки |









  • Firebirdsql — Официальный сайт


  • MindTheBird — Маркетинговые материалы по Firebird (презентации, описания, материалы)


  • IBPhoenix, Firebird Foundation Inc.


  • iBase — Русское сообщество Firebird и Interbase пользователей. Поддержка.


  • gmane.comp.db.firebird.russian — Русскоязычная конференция по Firebird и Interbase


  • The InterBase and Firebird Developer Magazine — журнал о Firebird и Interbase


  • Факты о Firebird Скачать в виде PDF (англ.)


  • Документация — Ссылки на подробную документацию


  • Утилиты и средства администрирования Ссылки на страницы представленных сообществом программ


  • IBExpert — Инструмент для разработки, администрирования, написания и отладки скриптов в Firebird. Специальная лицензия для бывшего СССР.


  • BlazeTop — Визуальная среда разработчика и администратора InterBase и Firebird. Бесплатная лицензия русскоязычных пользователей.


  • GeminiODBC — ODBC‑драйвер. Поддерживает стандарт ODBC 3.51. Бесплатен для России.


  • Jaybird — JCA/JDBC driver


  • IBProvider — OLE DB провайдер для доступа к Firebird и InterBase. Есть собственный, оптимизированный ADO.NET провайдер для взаимодействия из .NET приложений.


  • FIBPlus — Библиотека компонентов Delphi, C++ Builder, Kylix и классов Ada для Firebird и InterBase. Специальные цены для бывшего СССР.


  • Unified Interbase (UIB) — Бесплатная библиотека компонентов (Delphi, Kylix, FreePascal).


  • IBAnalyst — Инструмент для углублённой проработки вопросов оптимизации работы сервера Firebird. Бесплатен до версии 1.9.5.1. Начиная с версии 2.0 платный.


  • RSS‐каналы по Firebird


  • Interbase/Firebird Development Studio — Firebird Development Studio


  • IBEasy+ (недоступная ссылка) — Бесплатный инструмент администрования для Firebird/Interbase


  • Fyracle — Oracle‐mode Firebird


  • Fyracle — Firebird Community Database News


  • FirebirdNews — Major source of Firebird related news


  • IBaseForum — Web-форум поддержки (Русский)

  • Лицензия. InterBase Public License (IPL) и Initial Developer’s Public License под которыми выпускается Firebird

  • Работа в PHP

  • Российские сборки FireBird (Ред База Данных)



Литература |


  • Борри Хелен. 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 1: Firebird Fundamentals. — CreateSpace Independent Publishing Platform, 2013. — С. 470. — ISBN 978-1482744972.

  • 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.


Примечания |





  1. Firebird 4.0 Alpha 1 release is available for testing


  2. The firebird Open Source Project on Open Hub: Languages Page — 2006.
    <a href="https://wikidata.org/wiki/Track:Q124688"></a><a href="https://wikidata.org/wiki/Track:P1972"></a>



  3. Release 3.0.4 — 2018.



  4. Приложение 7. Ограничения Firebird / Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ / Библиотека (книги, учебники и журналы) / В помощь Веб-Мастеру (рус.). wm-help.net. Проверено 8 февраля 2018.


  5. Firebird Databases as the Back-end to Enterprise Software Systems



  6. Firebird Lists and Newsgroups (англ.). Firebird Foundation Incorporated. Проверено 9 февраля 2010. Архивировано 24 августа 2011 года.



  7. Кузьменко, Дмитрий InterBase и Firebird: развитие и перспективы (неопр.). iBase (29.06.2006). Проверено 9 февраля 2010. Архивировано 24 августа 2011 года.


  8. Минкомсвязь России. Протокол экспертной оценки проектов по импортозамещению инфраструктурного программного обеспечения, соответствующего пунктам 4-8 плана импортозамещения программного обеспечения (неопр.) (02 июня 2015 года).


  9. Ред Софт. Заказчики ПО "Ред база данных" (неопр.).















Popular posts from this blog

Михайлов, Христо

Центральная группа войск

Троллейбус