Литвек - электронная библиотека >> Хелен Борри >> Базы данных и др. >> Firebird. Руководство разработчика баз данных >> страница 3
представлены в виде списков e-mail, многие из них отображаются на сервере новостей. Самые свежие ссылки на эти форумы всегда могут быть найдены на главном Web- сайте сообщества (http://www.firebirdsql.org) и на дочернем коммерческом сайте IBPhoenix (http://www.ibphoenix.com).

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

В приложении 12 смотрите исчерпывающий список ресурсов поддержки сообщества.


FirebirdSQL Foundation
FirebirdSQL Foundation Inc. - это некоммерческий фонд, зарегистрированный в Новом Южном Уэльсе в Австралии, который собирает во всем мире денежные средства для предоставления разработчикам, работающим над основным и специальными проектами для развития, тестирования и улучшения Firebird. Средства поступают в виде частной и корпоративной спонсорской помощи, пожертвований или членских взносов. Это предоставляет возможность благодарным пользователям Firebird возвращать вложения за свободное использование программного обеспечения и поддержку сообщества. (См. на http://www.firebirdsql.org/ff/foundation.)


Спарки

Firebird. Руководство разработчика баз данных. Иллюстрация № 1 Спарки, молодой, алый феникс с зеленым клювом - талисман Firebird. Спарки крутился возле проекта Firebird в различных нарядах с самого начала, однако он впервые появился "как персона" на Первой международной конференции по Firebird в г. Фулда в Германии, в мае 2003 года.

Обзор возможностей

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


! ! !

ВНИМАНИЕ! Администрирование и разработка в полноценной SQL реляционной СУБД на платформе клиент-сервер, вероятно, являются совершенно новой для вас территорией. Вам это может показаться слишком сложным, если вы впервые отважились обратиться к программному обеспечению управления данными, в котором заложена возможность существования множества параллельных процессов. Часть II этой книги содержит введение в концепцию клиент-сервер. Если вы почувствуете, что теряетесь в следующих описаниях, вы можете тут же обратиться к части II, чтобы освоить контекст.

. ! .


Версии Firebird

Двоичные файлы Firebird версии 1.0.x были разработаны для корректировки и улучшения написанных на языке С модулей, которые сообщество открытых исходных текстов наследовало от InterBase 6.0. Для Firebird 1.5 модули были полностью переписаны на C++ с высокой степенью стандартизации.

Переход от версии 1 к версии 1.5 был в большей мере внутренним, интерфейс прикладного программирования (Application Programming Interface, API) не изменился. Программное обеспечение приложений, написанное для версии 1, требует небольших (или вообще никаких) изменений для работы с версией 1.5.

И хотя рекомендуется установить и использовать самую последнюю версию, несовместимость операционных систем означает (при всем уважении к Linux), что последняя версия 1.0.x- единственный выбор для некоторых сайтов. Многие новшества версии 1.5 были привнесены в версию 1.0.x, и регулярно выпускаются дополнительные сборки.

Доступ к сети

Сервер Firebird, запущенный на любой платформе, принимает TCP/IP-подключения клиентов с любой клиентской платформы, которая может выполнять Firebird API.

Клиенты не могут подключиться к серверу Firebird через какую-нибудь файловую систему коллективного доступа (NFS, соединение клиентов Samba, общие ресурсы Windows или сетевой диск и т.д.).

Клиент должен подключаться с указанием абсолютного физического пути. Тем не менее в Firebird 1.5 и выше средство алиасов баз данных позволяет приложениям выполнять "мягкое подключение" с использованием именованных алиасов, чьи абсолютные пути указаны специально для каждого сервера.

К серверу Firebird, запущенному на хосте в Windows с сервисами, можно получить доступ от клиентов Windows с помощью сетевого протокола Named Pipes (именованные каналы).

Многоверсионная архитектура

Модель изоляции и управления работой множества пользователей, принятая в Firebird, является центральной частью архитектуры; она позволяет сохранять в базе данных более одной версии записи одновременно. Множество версий одной записи может существовать одновременно - отсюда термин "многоверсионный". Каждая пользовательская задача имеет свой собственный контекстный вид состояния базы данных (см. следующий раздел) и записывает свои версии записей на диск сервера. В этот момент новая версия записи (или удаленная запись) недоступна другим задачам пользователей.

Только самая последняя подтвержденная версия записи является видимой за пределами пользовательской задачи, которая успешно сохранила новую версию, и эта запись продолжает оставаться видимой для других задач. Другие задачи будут в курсе того, что что-то произошло с этой записью, поскольку они будут блокированы от изменения или удаления этой записи, пока новая версия не станет "официальной" после подтверждения изменений.

По причине использования многоверсионной архитектуры (называемой также MGA - Multi-generational architecture) для Firebird нет необходимости в двухфазной блокировке, используемой другими СУБД для управления многопользовательской работой.

Транзакции

Все задачи пользователей в Firebird помещаются внутрь транзакций. Задача начинается с оператора START TRANSACTION и завершается, когда выполненная работа подтверждается (commit) или отменяется (rollback). Задача пользователя может выполнять множество запросов к операциям в одной транзакции, включая операции с более чем одной базой данных.

Работа сохраняется в базе данных в два этапа. На первом этапе изменения сохраняются на диске без изменения состояния базы данных. На втором этапе изменения подтверждаются или отменяются клиентским процессом. В версии 1.5 и выше клиенты могут отменить часть работы, маркируя этапы с помощью точек сохранения (savepoints) и отменяя изменения до точки сохранения без отмены всей транзакции.

Транзакции в Firebird являются атомарными в том смысле, что вся работа в рамках транзакции будет сохранена или вся отменена.

Транзакции можно конфигурировать с использованием трех уровней изоляции и множества стратегий тонкой настройки параллельности выполнения и условий чтения/записи.

Хранимые процедуры и триггеры

Firebird