Firebird

Материал из Википедии — свободной энциклопедии

Перейти к: навигация, поиск
Firebird
Изображение:LogoFirebird.gif
Логотип Firebird
Тип Реляционная СУБД
Разработчик Сообщество Firebird
Написана на C++
ОС Кроссплатформенное программное обеспечение
Версия 2.1.230 марта 2009
Тестовая версия 2.5 Alpha 111 июля 2009
Лицензия Лицензия IDPL, InterBase Public License, Mozilla Public License 1.1
Сайт www.firebirdsql.org

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

В качестве преимуществ Firebird можно отметить многоверсионную архитектуру, обеспечивающую параллельную обработку оперативных и аналитических запросов (это возможно потому, что читающие пользователи не блокируют пишущих), компактность (дистрибутив 5Mb), высокую эффективность и мощную языковую поддержку для хранимых процедур и триггеров. Firebird используется в различных промышленных системах с 2001 г. Это коммерчески независимый проект C и C++ программистов, технических советников и разработчиков мультиплатформенных систем управления базами данных, основанный на исходном коде, выпущенном корпорацией Borland 25 июля 2000 года в виде свободной версии Interbase 6.0.

Среди недостатков перечислятся отсутствие кеша результатов запросов, индексов fulltext для полнотекстового поиска.

Содержание

[править] Факты о Firebird

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

[править] Основные характеристики

  • Соответствие требованиям ACID: Firebird сделан специально, чтобы удовлетворять требованиям «атомарности, целостности, изоляции и надёжности» транзакций («Atomicity, Consistency, Isolation and Durability») .
  • Версионная архитектура: Основная особенность 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 успешно работает на почти любом аппаратном обеспечении, и на широком спектре операционных систем. Может использоваться даже не очень мощное оборудование, особенно под GNU/Linux. И как в любой СУБД, на производительность влияют: количество памяти, скорость работы дисковой подсистемы, и т. д. Рекомендации для выбора аппаратного обеспечения зависят от требования к системе, прогнозируемого размера базы данных, количества пользователей, и т. д. Вы можете начать с минимальной конфигурации и далее расширять её по мере надобности.

[править] Доступные операционные системы

  • Наиболее широко используемыми для серверов Firebird операционными системами являются GNU/Linux и Microsoft Windows (включая NT) (включая терминальные сервисы MS и Citrix). Другие поддерживаемые платформы — Mac OS X, Solaris, FreeBSD и HP-UX.

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

[править] Средства доступа к серверу

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

[править] Физические ограничения

  • Firebird поддерживает большие базы данных. Базы данных могут быть расположены в нескольких файлах, предельный размер которых зависит от операционной системы. Теоретический предел в настоящее время составляет 64TB для одного файла базы данных, таким образом, главные ограничения накладываются файловой системой и местом на жёстком диске.
  • Максимальная длинна одной записи (суммарно все поля за исключением полей с типом BLOB) равна 64 КБ.

[править] Версии сервера

  • Существует три различных взаимозаменяемых версии сервера, имеющих каждая свои преимущества.
    • Классик сервер (один процесс на одно соединение; поддержка многопроцессорных машин).
    • Суперсервер (все соединения используют один процесс, меньшие требования к памяти при большем быстродействии; для однопроцессорных машин)
    • Встраиваемая (Embedded) версия (весь движок содержится в одной библиотеке с именем клиентской библиотеки сервера, идеально подходит для однопользовательских систем, не требует инсталляции)

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

[править] Лицензирование

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

[править] Средства разработки и администрирования

  • Для Firebird доступно большое количество инструментальных средств, бесплатных и коммерческих. Существуют средства разработки, средства администрирования, библиотеки внешних функций(UDF), средства доступа, и т. д. (см. ссылки внизу).

[править] Поддержка

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

Компания IBPhoenix(В России, например, компания iBase) предлагают профессиональную поддержку, выполняемую людьми с многолетним опытом. На сайтах IBPhoenix и iBase.ru находится большое количество технической информации, инструкций и документации(см. ссылки внизу).

[править] Сообщество

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

[править] История

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

http://www.ibase.ru/devinfo/ibfbfeature.htm

[править] Ссылки

Портал:Свободное программное обеспечение
В Википедии есть портал
«Свободное программное обеспечение»
  • Firebirdsql — Официальный сайт
  • Глоссарий Firebird — Неофициальный сайт документации по Firebird на русском языке.
  • IBPhoenix, Firebird Foundation Inc.
  • iBase — Русское сообщество Firebird и Interbase пользователей. Поддержка.
  • gmane.comp.db.firebird.russian — Русскоязычная конференция по Firebird и Interbase
  • IB World — журнал о Firebird and Interbase
  • Факты о Firebird Скачать в виде PDF(англ.)
  • Документация — Ссылки на подробную документацию
  • Утилиты и средства администрирования Ссылки на страницы представленных сообществом программ
  • IBExpert — Инструмент для разработки, администрирования, написания и отладки скриптов в Firebird. Специальная лицензия для бывшего СССР.
  • IBExpert — Статья о инструменте разработки администрирования, написания и отладки скриптов в Firebird.
  • BlazeTop — Визуальная среда разработчика и администратора InterBase и Firebird. Бесплатная лицензия русскоязычных пользователей.
  • GeminiODBC — ODBC‑драйвер. Поддерживает стандарт ODBC 3.51. Бесплатен для России.
  • Jaybird — JCA/JDBC driver
  • IB Provider — OLEDB драйвер для доступа к Firebird. Есть бесплатная версия позволяющая работать с OLE DB, ADO и ADO.Net
  • FIBPlus — Библиотека компонентов Delphi, C++ Builder, Kylix и классов Ada для Firebird и InterBase. Специальные цены для бывшего СССР.
  • Unified Interbase (UIB) — Бесплатная библиотека компонентов (Delphi, Kylix, FreePascal).
  • IBAnalyst — Инструмент для углублённой проработки вопросов оптимизации работы сервера Firebird. Бесплатен.
  • Сообщество — Список новостных групп и почтовых рассылок
  • RSS‐каналы по Firebird
  • DotNetFirebird — Использование Firebird SQL в среде .NET
  • 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
  • FBTalk (English) — Web-форум поддержки
  • Лицензия. InterBase Public License (IPL) и Initial Developer’s Public License под которыми выпускается Firebird
  • Работа в PHP
Источник — «http://ru.wikipedia.org/wiki/Firebird»