Свободная СУБД Firebird
СУБД FireBird является одной из самых популярных в мире бесплатных, кросплатформенных систем управления базами данных с открытым исходным кодом. Она была разработана на основе исходного кода СУБД Interbase и развивается сегодня независимым международным сообществом. По надёжности, производительности и функциональным возможностям эта система мало в чём уступает признанным лидерам своего класса — Oracle и Microsoft SQL Server.
Основные возможности СУБД
Firebird полностью поддерживает стандартны ANSI в синтаксисе языка SQL и может работать под управлением многих операционных систем — Windows, Linux, MacOS, Solaris и различных Unix-платформах. Среди достоинств этой системы использование очень развитого языка для хранимых процедур и триггеров. Предшественник Firebird, СУБД Interbase использовалась в информационных системах начиная с 1981 года.
Firebird это свободный проект, поддерживаемый многими программистами и специалистами из других областей по всему миру. Его начало было положено 25 июля 2000 года, когда корпорация Inprise Corp (ныне известная как Borland Software Corp) открыла исходные коды своей СУБД Interbase, которая использовалась в различных информационных системах начиная с 1981 года.
Todoist — лучшее приложение для ведения личных задач
Firebird полностью бесплатна, она не требует ни регистрации, ни оплаты за поддержку. Исходный код этой системы открыт и любой желающий может разрабатывать на его базе собственные некоммерческие проекты, при условии соблюдения требований лицензии IDPL, по которой распространяется Firebird.
Firebird (FirebirdSQL) — компактная, кроссплатформенная, свободная система управления базами данных (СУБД), работающая на Linux, Microsoft Windows и разнообразных Unix платформах.
Firebird основан на исходном коде InterBase 6.0 который был выпущен как Open Source компанией Borland в августе 2000 года. История Interbase начинается в 1984 году, таким образом, продукт является наследником более чем 20-летнего опыта работы с реляционными базами данных
В качестве преимуществ Firebird можно отметить многоверсионную архитектуру, обеспечивающую параллельную обработку оперативных и аналитических запросов (это возможно потому, что читающие пользователи не блокируют пишущих), компактность (дистрибутив 5Mb), высокую эффективность и мощную языковую поддержку для хранимых процедур и триггеров.
Firebird используется в различных промышленных системах (складские и хозяйственные, финансовый и государственный сектора) с 2001 г. Это коммерчески независимый проект C и C++ программистов, технических советников и разработчиков мультиплатформенных систем управления базами данных, основанный на исходном коде, выпущенном корпорацией Borland 25 июля 2000 года в виде свободной версии Interbase 6.0.
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) с множеством вариантов сортировки.
Архитектуры сервера
Существует четыре различных взаимозаменяемых архитектуры сервера.
Классик сервер (англ. ClassicServer) — один процесс на одно соединение; поддержка многопроцессорных машин.
Суперсервер (англ. SuperServer) — все соединения используют один процесс, меньшие требования к памяти при большем быстродействии; для однопроцессорных машин.
СуперКлассик (англ. SuperClassic Server) — один процесс, но свой поток на каждое соединение. Данная архитектура введена в версии 2.5.
Встраиваемая (англ. Embedded) версия — весь движок содержится в одной библиотеке с именем клиентской библиотеки сервера, идеально подходит для однопользовательских систем, не требует инсталляции.
Все архитектуры используют одинаковый формат файла базы данных, таким образом в любой момент можно переключиться на другую архитектуру.
Соответствие стандарту 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 работает на 32- и 64-разрядных версиях Windows, Linux, также на MacOS X, HP-UX, FreeBSD, и др., на аппаратных платформах x86, x64 и PowerPC, Sparc и многих других, и поддерживает легкий переход между этими платформами. Может использоваться даже не очень мощное оборудование, особенно под Linux. И как в любой СУБД, на производительность влияют: количество памяти, скорость работы дисковой подсистемы, и т. д. Рекомендации для выбора аппаратного обеспечения зависят от требования к системе, прогнозируемого размера базы данных, количества пользователей, и т. д. Допустимо начинать с минимальной конфигурации, расширяя её по мере надобности.
Доступные операционные системы
Наиболее широко используемыми для серверов Firebird операционными системами являются Linux и Microsoft Windows (включая NT) (включая терминальные сервисы MS и Citrix). Другие поддерживаемые платформы — Mac OS X, Solaris, FreeBSD и HP-UX.
Переход от одной ОС к другой весьма прост — достаточно сделать резервную копию базы в переносимом формате в одной системе и восстановить на другой.
Средства доступа к серверу
Firebird поддерживает множество способов доступа, включая: собственные наборы компонент для C/C++, Delphi, классы для ADO, ODBC, JDBC (Jaybird), драйверы для Python, PHP, драйвер OLE DB, dbExpress, провайдер данных .NET и прямой доступ с использованием клиентской библиотеки сервера (fbclient.dll или GDS32.dll)
Физические ограничения
Firebird поддерживает большие базы данных. Базы данных могут быть расположены в нескольких файлах, предельный размер которых зависит от операционной системы. Теоретический предел в настоящее время составляет 64TB для одного файла базы данных, таким образом, главные ограничения накладываются файловой системой и местом на жёстком диске.
Практически база данных объемом 1 ТБ стабильно работает, что доказывает проведенный тест.
Максимальная длина одной записи (суммарно все поля за исключением полей с типом BLOB) равна 64 КБ.
Версии сервера
Не поддерживаемые версии:
1.0 (последний релиз 1.0.3 от апреля 2003)
1.5 (1.5.6 от октября 2009, последний релиз ветки 1.5 (End of series))
Поддерживаемые версии
2.0 (последний релиз 2.0.6)
2.1 (последний релиз 2.1.4 от 15.03.2011)
2.5 (самая последняя версия, последний релиз от 4.10.2011 — Ver 2.5.1)
3.0 (в разработке)
Лицензирование
Firebird выпускается под условиями IPL (InterBase Public License) и IDPL (Initial Developer’s Public License), которые совпадают с условиями Mozilla Public License 1.1. Firebird полностью бесплатен для использования и распространения (в том числе и коммерческого). Раскрытие исходного кода вашего продукта не требуется, вне зависимости от используемой модели лицензирования. Однако, в случае, если вы модифицировали исходный код сервера, то необходимо сделать доступным исходный код ваших модификаций.
Средства разработки и администрирования
FlameRobin — поддерживает Firebird. Кросс-платформенная архитектура. Есть редактор SQL, DDL, управление пользователями.
Лицензия: open source, распространяется бесплатно.
IBExpert — Поддерживает Firebird, Interbase, Yaffil. Редакторы DDL и DML. Визуальный построитель запросов. Автозавершение кода, Metadata Extractor, отладчик хранимых процедур, а также множество других возможностей .
Лицензия: Бесплатный для жителей постсоветского пространства, для остальных: от 179 евро.
IB/FB Development Studio — Визуальный дизайнер баз данных, встроенный MERGE, scheduler, Code auto completion, анализатор запросов, монитор производительности.
Лицензия: Бесплатно для России, для остальных: от 149 евро.
Blaze Top — Инструмент разработчика и администратора баз данных. Поддерживает Firebird и Interbase.
Лицензия: Бесплатно для России, для остальных: от 129 евро.
Database Workbench — поддерживает несколько серверов баз данных, среди которых есть Firebird и Interbase. Отладка хранимых процедур, анализ планов, встроенные средства переноса данных и метаданных.
Лицензируется отдельно на Interbase и отдельно на Firebird. 171$ за каждый движок (Interbase или Firebird).
EMS SQL Manager for InterBase Firebird
Есть платная и бесплатная (lite) версия
Database Master — средство управления системами баз данных FireBird, PostgreSQL, Oracle, SQL-Server, MySQL, ODBC, OleDB, MongoDB, XML и SQLite. Сайт: Database Master — FireBird Management Software
Поддержка
На главной странице проекта Firebird находится множество полезных ссылок по Firebird. Ряд компаний (например, IBPhoenix, iBase) предоставляют услугу профессиональной поддержки Firebird.
Сообщество
Существует растущее сообщество пользователей Firebird и множество новостных групп, обеспечивающих онлайновую поддержку.
Интернет-ссылки
- Firebirdsql — Официальный сайт
- Глоссарий Firebird — Неофициальный сайт документации по Firebird на русском языке.
- 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
- IB Provider — OLEDB драйвер для доступа к Firebird. Есть бесплатная версия позволяющая работать с OLE DB, ADO и ADO.Net
- FIBPlus — Библиотека компонентов Delphi, C++ Builder, Kylix и классов Ada для Firebird и InterBase. Специальные цены для бывшего СССР.
- Unified Interbase (UIB) — Бесплатная библиотека компонентов (Delphi, Kyl ix, 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
Знаете ли Вы, что свойство объекта в объектно-ориентированном программировании — это характеристика объекта. Обычно свойства изменяются с помощью методов.
Источник: www.bourabai.ru
FireBird серый кардинал на рынке СУБД
Помимо явных лидеров на рынке СУБД есть и менее приметные, но не менее востребованные решения, например PostgreSQL или Sybase ASA. Но настоящим «серым кардиналом» можно назвать, пожалуй, лишь одну — FireBird (в переводе с англ. «жар-птица»).
Почему FireBird?
Помимо явных лидеров на рынке СУБД есть и менее приметные, но не менее востребованные решения, например PostgreSQL или Sybase ASA. Но настоящим «серым кардиналом» можно назвать, пожалуй, лишь одну — FireBird (в переводе с англ. «жар-птица»).
Многим программистам знакома аббревиатура IB/FB. Так четырьмя буквами обозначаются целых две системы управления базами данных — InterBase и FireBird. Обе системы нетребовательны к ресурсам, платформонезависимы, просты в использовании и относительно легки в освоении. Очень часто клиентские программные утилиты поддерживают эти две СУБД одновременно.
В действительности FireBird бесплатна и распространяется вместе с исходными текстами (http://firebird.sourceforge.net ), но не лишним будет вспомнить, что же на самом деле означает эта «бесплатность». Основная идея лицензии FireBird состоит в том, что при использовании ее в своих проектах разработчик волен с ней поступать по собственному усмотрению — дарить, продавать, перекомпилировать, менять название и т.д. Согласно общепринятой практике, программы с подобными лицензиями можно пересобирать в Linux (и других Unix-системах) с использованием компилятора GCC, а для Windows делать сборки непосредственно из среды MS Visual Studio. Вообще, перекомпиляция какого-либо ПО для Linux-систем всегда считалась хорошим тоном — установка новых пакетов пройдет без проблем, если программа собрана из исходных текстов.
Еще недавно такая возможность существовала и для пользователей СУБД MySQL, но начиная с шестой версии новый владелец этого продукта компания Sun Microsystems закрывает доступ к исходным текстам отдельных модулей корпоративной версии СУБД. Плохо это или хорошо — каждый должен решить для себя сам, но факт, что на данное время есть только две бесплатные продвинутые реляционные СУБД, распространяемые с исходными текстами: PostgreSQL и FireBird.
Кстати, существует и коммерческий вариант FireBird — «Ред База Данных» 2.0, продукт корпорации «Ред Софт». Эту неожиданно родившуюся СУБД, полностью совместимую с FireBird, можно приобрести за деньги! Разработчики этого чуда емко охарактеризовали его как «FireBird для госструктур». В апреле 2008 г. эта СУБД получила от одного российского журнала звание «Продукт года». Хотя есть и другой не менее полезный вариант расставания с деньгами — их можно перечислить в сообщество FireBird (FireBirdSQL Foundation Inc.), некоммерческий фонд, целью которого является не только проведение в самых уютных уголках мира веселых пивных конференций, но и собственно улучшение программного пакета FireBird.
История FireBird. Жар-птица, дятел и другие
Изучая историю «жар-птицы», легко понять, что ее успех в России был предопределен. Давным-давно, когда многие Delphi-программисты (основная часть которых хорошо помнит, что такое Turbo Pascal или Borland Pascal for Windows) писали программы для BDE, признаком профессионализма считалось использование в проекте СУБД InterBase.
А наличие в Delphi отдельной страницы готовых к использованию компонентов для InterBase подхлестывало всеобщий интерес следующих поколений разработчиков к этой СУБД. По традиции при знакомстве с InterBase было принято узнавать о героическом пути этой программы в армии США — о том, как ее ставили на танках «Абрамс». А когда Borland (в то время носившая загадочное название Inprise) выпустила свободно распространяемый SQL-сервер InterBase 6.0 (а точнее 6.0.0.627), да еще фактически подарила всем желающим исходные тексты этой версии, у сообщества Open Source появился отличный повод для создания нового проекта. К тому же и сами разработчики InterBase приняли в нем участие.
Уже первая версия FireBird позволила многим пишущим для InterBase 5.x высоко поднять голову, гордясь легальностью распространяемого ПО. Более того, компоненты среды Delphi, предназначенные для InterBase, оставались полностью совместимы с новой СУБД. Да что тут скромничать, и сейчас пакет борландовских компонентов IBX отлично справляется с типовыми задачами, решаемыми под FireBird, хоть и нет уже в этом особой надобности.
Менее известные клоны InterBase — это заглохший в 2003 г. российский Yaffil (в переводе с англ. «зеленый дятел»), ориентированный на архитектуру Windows, но просуществовавший фактически только два года, и загадочный всемогущий Fyracle (http://www.janus-software.com/fb_fyracle.html ), который позиционируется разработчиками как Oracle-mode FireBird, т.е. СУБД FireBird, дополненная возможностями PL/SQL.
Поводом для разработки Fyracle послужила идея обеспечения минимальной необходимой совместимости при распространении бесплатной CRM, которая могла бы работать как с Oracle, так и с FireBird. Но сама эта идея привлекла внимание многих разработчиков по другой причине. Дело в том, что возможности PL/SQL в сравнении с незатейливым процедурным языком FireBird выглядят до сих пор очень заманчиво. Но абсолютно бесплатно можно загрузить только Fyracle Run-time Kit, к тому же на их сайте давно не появлялись новые сборки, соответствующие основным версиям FireBird, что говорит о полной непредсказуемости этого амбициозного проекта. К тому же при детальном рассмотрении сразу выясняется, что в Fyracle реализована лишь минимальная концептуальная часть от всего имеющегося современного синтаксиса PL/SQL.
СовременнАЯ FireBird
Сейчас с уверенностью можно говорить, что FireBird — развитое промышленное программное обес-печение, гарантирующее транзакционную целостность данных при использовании его с множеством пользователей, соответствующее правилам ACID:
Atomicity — атомарность транзакций;
Consistency — целостность данных;
Isolation — изолированность
(контроль доступа пользователей);
Durability — долговременность хранения данных.
Предназначенная для клиент-серверной архитектуры, эта СУБД предъявляет достаточно типичные требования при выборе серверного оборудования для серьезных проектов. А способность отлично работать с большими базами и множеством клиентских подключений давно успешно доказана как на выставках, так и в реальных коммерческих проектах. Тут действует универсальное правило — качество работы базы сильно зависит от того, кто ее проектировал.
В настоящее время можно насчитать три стабильные современные ветви FireBird — это FB 2.0.x, FB 1.5.x. и вышедший во второй половине апреля 2008 г. релиз FB 2.1.
Уже в версии 1.5 все модули были аккуратно переписаны с учетом современных стандартов языка C++. Версия 2.1 имеет футурологическую направленность: в нее успели заложить некоторые элементы, запланированные для архитектуры 3.0. В этой версии были добавлены триггеры для общих событий базы данных, глобальные временные таблицы, выражение «UPDATE OR INSERT», использование доменов для аргументов и переменных процедурного языка.
А вот «рабочей лошадкой» на апрель 2008 г. можно считать версию 2.0.x.
Конечно, применение СУБД FireBird очень часто сопровождается использованием среды разработки Delphi, но она подойдет и не только для Delphi-разработчиков. Существуют бесплатно распространяемые драйверы для ODBC, Java, .NET (1.1, 2.0, 3.5), а также библиотеки для низкоуровневого доступа через C++.
FireBird предоставляет возможности, стандартные для современных промышленных СУБД: триггеры, просмотры, хранимые процедуры, анонимные блоки, функции, заданные пользователем, домены, события, исключения, инкрементное резервное копирование данных. И при этом у «жар-птицы» остается отличительная черта — невысокие требования к аппаратным ресурсам и относительно простой процесс установки. Более того, в FireBird есть отдельный вариант сборки для встроенных однопользовательских решений (Embedded FireBird), работающий на одной-единственной библиотеке. Но при этом обеспечивается полная совместимость структуры базы для основного варианта использования этой СУБД.
Чего сейчас нет в FireBird
Data Partitioning и табличные пространства
Отсутствие возможностей логического и физического разделения данных сейчас уже как-то странно смотрится на фоне других СУБД. С другой стороны, современные аппаратные возможности и опыт в проектировании баз данных способны творить чудеса. В некоторых СУБД разделение данных (партицирование таблиц) реализовано сейчас так, как будто бы его вовсе нет. Иными словами, используя средства процедурного языка в FireBird, можно самостоятельно реализовать нечто похожее на разделение данных.
Схемы пользователей
Эта возможность позволяет хорошо структурировать базу данных и удобно разграничивать права доступа для пользователей. Нехватка схем — большой минус FireBird по сравнению с другими современными развитыми реляционными СУБД. И похоже, изменений в этом направлении пока не предвидится.
Работа с XML
Тему интеграции с форматом XML разработчики обошли во всех вопросах, оставляя программистам широкое поле для деятельности. В какой-то степени отсутствие этих функций может быть компенсировано обещаниями возможностей работы с внешними источниками данных в версии 3.0. Сейчас в FireBird собственные решения, связанные с использованием XML, можно реализовать с помощью хранимых процедур и функций, заданных пользователем.
Написание пользовательских функций под Java и .NET
Наверное, ни одна современная РСУБД не может обойти стороной этот функционал.
Java — мощный язык программирования, предоставляющий разработчику широкие возможности. Как бы ни выглядела непосредственная реализация, позволяющая использовать Java, она обязательно будет иметь успех, так как отлично ляжет в общую концепцию решения OpenSource: Linux, FireBird… Java!
Судя по планам разработчиков, создавать функции под Java и .NET можно будет уже в версии 3.0.
Операторы быстрого экспорта/импорта для внешнего файла
Имеющаяся сейчас в FireBird возможность называется «внешними таблицами» и напоминает специальное пыточное устройство для программиста любой квалификации. Она не заслуживает особого внимания при проектировании баз данных, если, конечно, разработчик хранилища данных не ставит себе целью тренировку собственного терпения и усердия независимо от результата. Тем не менее, если понаблюдать за диалогами на форумах, некоторые разработчики по отношению к внешним таблицам питают чувства, напоминающие стокгольмский синдром. В настоящий момент существует множество готовых платных и бесплатных решений (для «автоматики» и разовых операций) для репликации, экспорта/импорта данных, сохранения в файле выходной информации, но в сравнении, например, с возможностями MySQL заметен явный недостаток в этом вопросе.
Работа с объектами. Наследование
Наверное, реализация объектных возможностей в реляционной СУБД — достаточно неоднозначная функциональность с точки зрения ее полезности и общей идеологии хранения данных. Объектные расширения есть не у каждой распространенной СУБД, да и не всем они нужны.
В FireBird любой внешний объект всегда можно бросить в поле типа BLOB, а остальное уже, как обычно, зависит от программиста. Кроме того, в Интернете легко найти статьи о методах правильного хранения объектов в реляционных базах.
Гетерогенные запросы
Если сравнивать бесплатную FireBird c платной СУБД Sybase ASA, то в пользу последней может свидетельствовать возможность использования веб-сервисов и «чужих» таблиц из других СУБД. Похожими способностями обладают, кроме того, MS SQL Server и Oracle, а также серверное ПО Adobe ColdFusion, имеющее собственный механизм кросс-платформенных запросов. Ряд задач, требующих работы с данными разных источников, решаются на уровне клиентских программ, однако тема реализации гетерогенных запросов для FireBird обсуждается в Рунете уже давно. Хорошие механизмы интеграции нужны как воздух именно потому, что эту СУБД используют для задач, связанных со средним уровнем (MiddleWare, промежуточный программно-технический уровень предназначенный для преобразования данных, их первичной обработки и т.д.). Идя навстречу пожеланиям трудящихся, разработчики по крайней мере запланировали этот функционал на версию 3.0.
Встроенные возможности для работы с древовидными структурами
С обработкой и хранением древовидных данных на уровне пользовательских таблиц связана огромная часть задач. Тема отражения таких данных на табличное пространство уже давно тривиальна, но программисты, использующие FireBird, не раз высказывали участникам сообщества просьбы об оснащении сервера специализированными средствами для хранения и обработки деревьев.
В помощь разработчику
Сейчас к вашим услугам широкий диапазон драйверов, пакетов, компонентов, обеспечивающих возможность использования FireBird при работе в любой современной среде программирования и с любым развитым языком. Постоянно обновляются бесплатные драйверы для доступа к базе через ODBC, пакеты для работы из Java, .NET/MONO-провайдеры, объектные библиотеки С++ (как обертка для API), драйверы для работы на PHP. И все это богатство имеет соответствующую документацию, примеры использования и перспективы развития. Но, как прежде, особую любовь к FireBird питают Delphi-программисты, для которых можно назвать как минимум три пакета FireBird-компонентов, готовых к коммерческому использованию.
Ближайшие перспективы: FireBird 2.5
Разработчики FireBird постоянно отступают от собственных намерений, которые сами декларируют в планах развития. В апреле 2008 г. уже должна была быть выпущена бета-версия FireBird 2.5, но на тот момент имелась только очень предварительная альфа-версия. В ней (судя по сопровождающей ее документации) из «вкусностей» обещаны автономные транзакции, а список присутствующих в ней нововведений выглядит заметно скромнее списка исправленных ошибок.
А поскольку выпуск версии 3.0 все равно остается в туманной перспективе, то для этой версии были обещаны гетерогенные запросы и средства массовой загрузки данных.
Что читать
Борри Х. FireBird. Руководство разработчика баз данных. СПб.: БХВ-Петербург, 2006.
Бондарь А. InterBase и FireBird. Практическое руководство для умных пользователей и начинающих разработчиков. СПб.: БХВ-Петербург, 2007.
Сайт сообщества разработчиков FireBird
Самый полезный в Рунете сайт по СУБД InterBase / FireBird
Не всегда вовремя обновляемый информационно-новостной сайт
Новостной сайт, постоянно обновляется информация по событиям, связанным с FireBird
Сайт журнала The InterBase https://www.osp.ru/pcworld/2008/06/5368237″ target=»_blank»]www.osp.ru[/mask_link]