Firebird
Материал из Википедии — свободной энциклопедии
Логотип Firebird
|
|
Тип | Реляционная СУБД |
Разработчик | сообщество Firebird |
ОС | Кроссплатформенное программное обеспечение |
Текущая версия | 2.0 — 12 ноября 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-летнего опыта работы с реляционными базами данных.
[править] Ссылки
- Firebirdsql — Официальный сайт
- IBPhoenix, Firebird Foundation Inc.
- iBase — русское сообщество Firebird и Interbase пользователей. Поддержка.
- IB World — журнал о Firebird and Interbase
- Факты о Firebird Скачать в виде PDF(англ.)
- Документация — Ссылки на подробную документацию
- Утилиты и средства администрирования Ссылки на страницы представленных сообществом программ
- IBExpert — Инструмент для разработки, администрирования, написания и отладки скриптов в Firebird. Специальная лицензия для ex-USSR.
- GeminiODBC — ODBC-драйвер. Поддерживает ODBC-стандарт 3.51. Бесплатен для России.
- Jaybird — JCA/JDBC driver
- IB Provider — OLEDB драйвер для доступа к Firebird. Есть бесплатная версия позволяющая работать с OLE DB, ADO и ADO.Net
- IBAnalyst — Инструмент для углубленной проработки вопросов оптимизации работы сервера Firebird. Бесплатен.
- Сообщество Список новостных групп и почтовых рассылок
- RSS-каналы по Firebird
- DotNetFirebird (Using Firebird SQL in .NET)
- Interbase/Firebird Development Studio — Firebird Development Studio
- IBEasy+ Free Admintool for Firebird/Interbase
- Fyracle, oracle-mode Firebird
- Fyracle,Firebird Community Database News
- FirebirdNews — Major source of Firebird related news
- FBTalk (English) — web based, Firebird support forum
- Лицензия. InterBase Public License (IPL) и Initial Developer’s Public License под которыми выпускается Firebird
Системы управления базами данных (СУБД) |
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 |