Firebird. Знакомство с огненной птицей



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

На данный момент, из специализированных программ, можно выделить следующие - DB2, Firebird, PostgreSQL, MS SQL Server, MySQL, Oracle, SQLite. Каждая из них довольно хорошо зарекомендовала себя в работе, и многим читателям выше названные программы, уж точно, не в диковину. По роду своей деятельности, мне приходилось сталкиваться с данными программами, но более плотно, работаю лишь с одной – Firebird. В этой статье мы подробно рассмотрим, принципы работы данной системы, функциональные возможности, настройку, а также многое другое. Хочу предупредить, что данная статья будет полезна лишь начинающим, более опытные пользователи для себя здесь ничего нового не найдут, но я буду очень признателен за выявление недочетов, а также критике по поводу данной темы.

Благодаря компании Borland, в августе 2000 года, состоялся релиз Firebird – это компактная, кроссплатформенная, свободная система управления базами данных (СУБД), работающая на GNU/Linux, Microsoft Windows и разнообразных Unix платформах. Данная система полностью бесплатна (Open Source) для использования и распространения, что уже придает ей некоторый интерес. Firebird являясь сервером баз данных (полностью основанный на исходном коде InterBase 6.0 ), может обрабатывать несколько независимых баз данных и каждую с множеством пользовательских соединений.

Возможностей у данной системы достаточно много, но я приведу лишь некоторые:
• Данная СУБД использует язык PSQL (процедурный SQL), с возможностью создавать сложные хранимые процедуры на стороне сервера.
• Одно клиентское приложение может выполнять множество одновременных транзакций.
• Резервное копирование может осуществляться без надобности остановки сервера.
• Для каждой таблицы возможно назначение нескольких триггеров, срабатывающих до или после вставки, обновления или удаления записей.
• Поддержка множества международных наборов символов (включая Unicode).
• Возможность использовать библиотеки с UDF, расширяя возможности сервера.
• Идея генераторов (последовательностей) делает возможной простую реализацию автоинкрементных полей, и не только их. Генераторы являются 64-битными хранимыми в базе данных счётчиками, работающими независимо от транзакций. Они могут быть использованы для различных целей, таких как генерация первичных ключей, управление длительными запросами в соседних транзакциях, и т. д.

Если я заинтересовал тебя, то смотри во врезке ссылку на загрузку дистрибутива, а пока я расскажу основные моменты, которые стоит знать, при установке данной системы (для платформы Windows). На данный момент последней, доступной версией является: Firebird 2.5., стабильная версия Firebird 2.1.

Установка Firebird доступна в трех вариантах:
• Firebird Super Server
• Firebird Classic Server
• Firebird Embedded.
Если вы не уверены в выборе типа установки Firebird, то используйте Firebird Super Server; от Classic Server она выделяется своим быстродействием. Если вам нужна стабильная работа или вы хотите увидеть большую надежность в работе сервера, то смело выбирайте Classic Server. В дальнейшем, без труда сможете изменить архитектуру сервера на необходимую.

Вариант Superserver:
• Один серверный процесс обслуживает все подключения, используя потоки для обработки запросов.
• Разделяемое пространство кэша. Более эффективен (в плане потребления ресурсов) в случае роста числа одновременных соединений.
• Полноценный Services Manager, позволяющий программно осуществлять операции по управлению (резервирование/восстановление, останов базы данных, управление пользователями, получение статистики и т.д.). Вы можете подключиться к Services Manager по сети и, соответственно, выполнять эти операции удаленно.
• UDF выполняются в общем, адресном пространстве сервера.

Несколько слов о безопасности и пользователях:
• Хранение учетных записей пользователей производится в одной служебной базе данных security.fdb.
• Администраторы домена на уровне БД определяются как суперпользователи SYSDBA (для данного пользователя назначен пароль - masterkey). Данного пользователя и пароль, программа, при установке назначает самостоятельно. Поэтому рекомендуется изменить пароль или/и добавить нового пользователя (об этом чуть ниже – прим. автора).
• В Firebird 3.0 планируется реализовать возможность хранения пользователей в клиентской базе данных.

В дистрибутив Firebird, не входит какой-либо инструмент администрирования, но разработчик не оставил этот момент без внимания, поэтому весь необходимый набор утилит командной строки (!), находятся в папке bin (смотрите директорию с установленной программой). Задействуем следующую предложенную программу: gsec. Она нам понадобится, если мы захотим, а мы захотим, добавить или изменить уже имеющуюся учетную запись пользователя. Сменим пароль пользователя SYSDBA:

C:\Program Files\Firebird\Firebird_2_1\bin>gsec
GSEC> modify SYSDBA -pw NEW_PASS

NEW_PASS – это новый пароль, хочу отметить, что пароль имеет ограничение в 8 символов, остальные символы будут игнорироваться. При установке Firebird, можно установить автоматический старт сервера при загрузке ОС, а также осуществлять запуск, как сервиса или приложения. Имеется небольшой апплет, позволяющий запускать или останавливать сервер, но стоит отметить, что средства администрирования в дистрибутив не входят, но сторонние разработчики не обошли стороной Firebird.

В своей работе, я использую, IB/FB Development Studio - визуальный дизайнер баз данных, встроенный MERGE, scheduler, Code auto completion, анализатор запросов, монитор производительности. Достаточно мощный продукт, простой в освоении и, что немаловажно, с русифицированным интерфейсом.

Другой инструмент, который бы я хотел отметить, это FlameRobin. Простое и удобное графическое средство управления базами данных Firebird с открытым исходным кодом. На сегодняшний день доступны версии под Linux, MacOS X и Windows.

Проект:

Официальный сайт: ]]>http://www.firebirdsql.org/]]>
Проект Firebird: ]]>http://sourceforge.net/projects/firebird/files/]]>
InterBase, Firebird и Yaffil: ]]>http://www.ibase.ru]]>

Документация:

Википедия: ]]>http://ru.wikipedia.org/wiki/Firebird]]>
Документация на русском (неофициальная): ]]>http://www.firebirdsql.su/doku.php]]>
Документация на русском: ]]>http://www.ibprovider.com/rus/documentation/firebird.html]]>

Администрирование:

Средства администрирования: ]]>http://www.ibphoenix.com]]> (соответствующий раздел)
IB/FB Development Studio : ]]>http://www.sqlly.com/]]>
Проект FlameRobin: ]]>http://www.flamerobin.org]]>

Программирование:

Firebird и Delphi: ]]>http://www.ibprovider.com/rus/documentation/firebird_interbase_delphi.html]]>
Firebird и С++: ]]>http://www.ibprovider.com/rus/documentation/examples.html]]>

Written by: Козлов Антон aka Jimmy Jonezz

Комментарии

3 комментария(ев)
аватар: Fish
Fish
Дата: Втр, 25/05/2010 - 17:14
Звание: Наблюдатель
Сообщений: 1

Наилучший инструмент для работы с FB это IBExpert.
IB/FB Development Studio не плохой инструмент, но проверка базы работает с ошибками.

И еще. Это статья или просто заметка?

аватар: jimmyjonezz
jimmyjonezz
Дата: СР, 26/05/2010 - 01:04
Звание: Мастер
Сообщений: 2469

IBExpert достаточно хороший продукт и внушает уважение, но для большинства повседневных задач отлично подходят инструменты перечисленные мной, в этом обзоре.... Smile

аватар: Va-Bank
Va-Bank
Дата: Втр, 25/05/2010 - 18:12
Звание: Гуру
Сообщений: 8234

Согласен. IBExpert лучшая в своем деле по работе с Interbase/Firebird. Новые версии можно качнуть отсюда: ]]>http://www.ibexpert.net/downloadcenter/]]>