Основные характеристики
- Соответствие требованиям A.C.I.D: Firebird сделан
специально, чтобы удовлетворять требованиям «атомарности, целостности,
изоляции и надёжности» транзакций («Atomicity, Consistency, Isolation and
Durability») .
- Версионная архитектура: Основная особенность Firebird —
версионная архитектура, позволяющая серверу обрабатывать различные версии
одной и той же записи в любое время таким образом, что каждая транзакция видит
свою версию данных, не мешая соседним («читающие транзакции не блокируют
пишущие, а пишущие не блокируют читающих»). Это позволяет использовать
одновременно OLTP и OLAP запросы.
- Хранимые процедуры: Используя язык PSQL(процедурный
SQL) Firebird, возможно создавать сложные хранимые
процедуры для обработки данных полностью на стороне сервера. Для генерации
отчётов особенно удобны хранимые процедуры с возможностью выборки,
возвращающие данные в виде набора записей. Такие процедуры можно использовать
в запросах точно так же как и обычные таблицы.
- События: Хранимые процедуры и триггеры могут генерировать события,
на которые может подписаться клиент, открывая специально настроенный TCP/IP порт.
- Генераторы: Идея генераторов (последовательностей) делает возможной
простую реализацию автоинкрементных полей, и не только их. Генераторы являются
64?битными хранимыми в базе данных счётчиками, работающими независимо от
транзакций. Они могут быть использованы для различных целей, таких как
генерация первичных ключей, управление длительными запросами в соседних
транзакциях, и т. д.
- Базы данных только для чтения: позволяют распространять базы
данных, к примеру, на CD-ROM. Особенно упрощает распространение данных их
использование в комбинации с встраиваемой версией сервера Firebird.
- Полный контроль за транзакциями: Одно клиентское приложение может
выполнять множество одновременных транзакций. В разных транзакциях могут быть
использованы разные уровни изоляции. Протокол двухфазного подтверждения
транзакций обеспечивает гарантированную устойчивость при работе с несколькими
базами данных. Так же доступны оптимистическое блокирование данных и точки
сохранения транзакций.
- Резервное копирование на лету: Для резервного копирования нет
надобности останавливать сервер. Процесс резервного копирования сохраняет
состояние базы данных на момент своего старта, не мешая при этом работе с
базой. Кроме того, существует возможность производить инкрементальное
резервное копирование БД.
- Триггеры: Для каждой таблицы возможно назначение нескольких триггеров,
срабатывающих до или после вставки, обновления или удаления записей. Для
триггеров используется язык 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, ODBC, JDBC (Jaybird),
драйверы для Python, PHP, драйвер OLE DB, 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), средства доступа,
и т. д. (см. ссылки внизу).
Поддержка
Компания IBPhoenix(В России, например компания iBase) предлагают
профессиональную поддержку, выполняемую людьми с многолетним опытом. На сайтах
IBPhoenix и iBase.ru находится большое количество технической информации,
инструкций и документации.
Компоненты доступа
Число различных компонент доступа для InterBase и Firebird весьма велико, и
превышает число компонент и драйверов для любой другой бесплатной и коммерческой
СУБД. Всего насчитывается более 35 различных компонент и
драйверов:
- Прямой доступ:
- компоненты: IBX (в поставке Delphi и C++Builder),
FIBPlus, CRLab IBDAC, IBObjects, Zeos, SQLRoots...
- библиотеки классов: IBPP, IBClasses, FireFoot,
ibase++...
- драйверы для сред Borland: BDE, dbExpress, UIB
dbExpress driver
- ODBC: Gemini, Intersolv, EasySoft, DataDirect, Firebird
ODBC, XTG...
- OLE DB: IBProvider, IBObjects, ...
- JDBC: InterClient, JayBird
- .Net: Borland Data Provider, Firebird .Net Provider
- Web: PHP, Zope, DBD, Python
- ...
Как видно из списка, можно найти драйвер, набор компонент или библиотеку
классов для любой среды разработки (Win32, Java, .Net, Web), вплоть до офисных,
отчетных и OLAP приложений (Excel, Crystal Reports, ...).
Инструменты разработчика
В поставку InterBase и Firebird обязательно входит комплект утилит командной
строки, которые в основном используются разработчиками и администраторами для
автоматизации резервного копирования и других операций. Кроме того, эти утилиты
кроссплатформенные. Для создания БД, таблиц, процедур и т.п. в InterBase и
Firebird принято использовать сторонние инструменты, которые обладают высокой
функциональностью - IBExpert, IBManager, IB/FB Developer Studio,
DatabaseWorkbench и др. Большая часть этих инструментов бесплатны для России, а
их качество, функциональность и удобство использования зачастую превышают
подобные характеристики инструментов другихк коммерческих СУБД (например в
отношении MS SQL).
Сообщество
- Существует растущее сообщество пользователей Firebird и множество
новостных групп, обеспечивающих онлайновую поддержку. Список групп доступен на
странице проекта.
|