Privacy Policy Cookie Policy Terms and Conditions Firebird — Википедия

Firebird

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

Firebird
Изображение:LogoFirebird.gif
Логотип Firebird
Тип Реляционная СУБД
Разработчик сообщество Firebird
ОС Кроссплатформенное программное обеспечение
Текущая версия 2.012 ноября 2006
Лицензия Лицензия IDPL, InterBase Public License, Mozilla Public License 1.1
Сайт www.firebirdsql.org

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

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

Содержание

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

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

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

  • Соответствие требованиям A.C.I.D: Firebird сделан специально, чтобы удовлетворять требованиям «атомарности, непротиворечивости, изоляции и долговечности» транзакций («Atomicity, Consistency, Isolation and Durability») .
  • Многоверсионность: Основная особенность Firebird — многоверсионная архитектура, позволяющая серверу обрабатывать различные версии одной и той же записи в любое время таким образом, что каждая транзакция видит свою версию данных, не мешая соседним («читающие транзакции не блокируют пишущие, а пишущие не блокируют читающих»). Это позволяет использовать одновременно OLTP и OLAP запросы.
  • Хранимые процедуры: Используя язык PSQL(процедурный SQL) Firebird, возможно создавать сложные хранимые процедуры для обработки данных полностью на стороне сервера. Для генерации отчетов особенно удобны хранимые процедуры с возможностью выборки, возвращающие данные в виде набора записей. Такие процедуры можно использовать в запросах точно так же как и обычные таблицы.
  • События: Хранимые процедуры и триггеры могут вызывать события, за которыми следит клиент, открывая специально настроенный TCP/IP порт.
  • Генераторы: Идея генераторов (последовательностей) делает возможной простую реализацию автоинкрементных полей и не только. Генераторы являются 64-битными хранимыми в базе данных счетчиками, работающими независимо от транзакций. Они могут быть использованы для различных целей, таких как генерация первичных ключей, управление длительными запросами в соседних транзакциях, и т. д.
  • Базы данных только для чтения: позволяют распространять базы данных, к примеру, на CD-ROM. Особенно упрощает распространение данных их использование в комбинации с встраиваемой версией сервера Firebird.
  • Полный контроль за транзакциями: Одно клиентское приложение может выполнять множество одновременных транзакций. В разных транзакциях могут быть использованы разные уровни изоляции. Протокол двухфазной фиксации транзакций обеспечивает гарантированную устойчивость при работе с несколькими базами данных. Так же доступны оптимистическое блокирование данных и точки сохранения транзакций.
  • Резервное копирование на лету: Для резервного копирования нет надобности останавливать сервер. Процесс резервного копирования сохраняет состояние базы данных на момент своего старта, таким образом позволяя базе данных работать в режиме 24х7.
  • Триггеры: Для каждой таблицы возможно назначение нескольких триггеров, срабатывающих до или после вставки, обновления или удаления записей. Для триггеров используется язык 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 может использовать почти любое аппаратное обеспечение. Может использоваться даже не очень мощное железо, особенно под Linux. И как в любой СУБД, на производительность влияют: количество памяти, скорость работы дисковой подсистемы, и т. д. Рекомендации для выбора аппаратного обеспечения зависят от требования к системе, прогнозируемого размера базы данных, количества пользователей, и т. д. Вы можете начать с минимальной конфигурации и далее расширять ее по мере надобности.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


Системы управления базами данных (СУБД)
MySQL | Firebird | InterBase | PostgreSQL | MS SQL Server | SQLite | DB2 | Oracle | Informix | DataFlex | Access | Sybase ASE | Sybase ASA | Sybase IQ | Cachee | Paradox | Pervasive SQL | MSDE | ЛИНТЕР | db4o | PrimeBase | Rdb | Ingres | Berkeley DB
 
THIS WEB:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia 2006:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu