вторник, 21 октября 2008 г.

Быстрый старт с Firebird 2.5

Firebird SQL server - система управления базами данных, основанный на открытом исходном коде Interbase 6.0. Сервер Firebird разрабатывается под различные платформы: Linux, Solaris, Windows, Unix, MacOS, под 64-х и 32-х битную операционные системы. Firebird SQL Server распространяется бесплатно и не имеет лицензионных ограничений.

Firebird SQL Server существует в 3-х вариантах:
  • Firebird Embedded - предназначен для встраиваемых баз данных;
  • Firebird Super Server - все клиентские коннекты обслуживаются одним
    серверным процессом, имеется общий клиентский кеш;
  • Firebird Classic Server - на каждое клиентское подключение создает отдельный
    серверный процесс;
Для первого знакомства с Firebird лучше установить Firebird Super Server.

На сегодняшний день, последней версией Firebird является Firebird 2.5, стабильной версией - Firebird 2.1.

Скачать Firebird 2.1 и Firebird 2.5 можно здесь: download Firebird.

Драйвер для Firebird 2.5


Помимо самого SQL сервера, вам понадобится драйвер для работы с Firebird из различных средств разработки. Я рекомендую воспользоваться IBProvider . Этот OLE DB provider, позволяет работать со всеми версиями Interbase и Firebird, включая Firebird 2.5. Технология OLE DB позволяет разрабатывать приложения под большинство известных средств разработки для Windows: Delphi, ADO, Visual Studio .Net, VBScript, VBA, C++, C#, ASP, ASP .Net и т.д.

Скачать IBProvider можно на официальном сайте: Firebird and Interbase provider.

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


В стандарнтую поставку Firebird 2.5 входит утилита для его администрирования: isql.exe. С её помощью вы можете создать базу данных, таблицы и связи в ней, а так же выполнять различные запросы к данным. Помимо isql существует различные графические утилиты администрирования, позволяющие работать с Firebird 2.5. Большинство из них бесплатно для жителей России.

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

вторник, 19 августа 2008 г.

Firebird 2.5 - Улучшенный мониторинг.

Асинхронное отключение клиентов


В Firebird 2.5 появилась возможность отключать клиентов от сервера.

Для отмены всей активности конкретного клиента можно использовать следующий запрос:
DELETE FROM MON$STATEMENTS
WHERE MON$ATTACHMENT_ID = 32
Следующий код может оказаться полезен если необходимо отключить всех клиентов от базы перед выполнением важного обновления:
DELETE FROM MON$ATTACHMENTS
WHERE MON$ATTACHMENT_ID <> CURRENT_CONNECTION
Данный механизм работает для файлов баз данных с версией ODS не ниже ODS 11.2.

MON$MEMORY_USAGE


Новая виртуальная таблица MON$MEMORY_USAGE позволяет получить информацию об использовании памяти.

Пример: Выбрать 10 запросов отсортированных в порядке используемой ими памяти
SELECT FIRST 10
STMT.MON$ATTACHMENT_ID,
STMT.MON$SQL_TEXT,
MEM.MON$MEMORY_USED
FROM MON$MEMORY_USAGE MEM
NATURAL JOIN MON$STATEMENTS STMT
ORDER BY MEM.MON$MEMORY_USED DESC

MON$CONTEXT_VARIABLES


Таблица MON$CONTEXT_VARIABLES содержит информацию о контекстных переменных.

Пример: Перечислить все контекстные переменные для текущего подключения
SELECT
VAR.MON$VARIABLE_NAME,
VAR.MON$VARIABLE_VALUE
FROM MON$CONTEXT_VARIABLES VAR
WHERE VAR.MON$ATTACHMENT_ID = CURRENT_CONNECTION

понедельник, 18 августа 2008 г.

Firebird 2.5 - CREATE USER, ALTER USER, DROP USER - Управление пользователями.

В Firebird 2.5 разработчики добавили возможность управлять пользователями через SQL выражения.
Создание учетной записи:
CREATE USER {user_name} PASSWORD {user_password} 
[FIRSTNAME 'FirstName']
[MIDDLENAME 'MiddleName']
[LASTNAME 'LastName'];
Изменение учетной записи пользователя:
ALTER USER {user_name} 
[SET] {[PASSWORD {user_password}] |
[FIRSTNAME 'FirstName'] |
[MIDDLENAME 'MiddleName'] | [LASTNAME 'LastName']};
Удаление учетной записи пользователя:
DROP USER {user_name};

Особенности работы операторов CREATE USER/ALTER USER/DROP USER


  • Изменения сделанные операторами CREATE USER/ALTER USER/DROP USER незамедлительно отражаются в базе данных учетных записей Security.fdb, не дожидаясь завершения транзакции. Откат сделанных изменений не поддерживается
  • Управлять учетными записями может пользователь SYSDBA или пользователь, которому была присвоена роль RDB$ADMIN. Остальные пользователи могут изменять только свою учетную запись через ALTER USER.
  • При изменении учетной записи через ALTER USER необходимо указать по меньшей мере один изменяемый параметр PASSWORD, MIDDLENAME, FIRSTNAME, LASTNAME

суббота, 2 августа 2008 г.

Что нового в Firebird 2.5

Многопоточная архитектура Firebird 2.5

Основной целью Firebird 2.5 было заложить основу для многопоточной архитектуры будущих версий. В данной версии в основе двух моделей Firebird Super Server и Firebird Classic лежит общий код, осуществляющий низкоуровневую синхронизацию и потокобезопасность.

Новые возможности SQL в Firebird 2.5

  • Управление пользователями через SQL (CREATE USER/ALTER USER/DROP USER).
  • Модификация представлений через инструкции ALTER VIEW и CREATE OR ALTER VIEW.
  • Возможность изменять вычисляемые поля ALTER COLUMN.
  • Оператор SIMILAR TO позволяет проверять регулярные выражения в условии WHERE, CHECK и в операторе IF расширения PSQL.

Прочие изменения в Firebird 2.5

  • Поддержка автономных транзакций в PSQL (хранимые процедуры, триггеры, оператор EXECUTE BLOCK.
  • Выполнение гетерогенных запросов через EXECUTE STATEMENT
  • VIEW на основе хранимых процедур
  • Таймауты запросов
  • Улучшенный мониторинг. MON$MEMORY_USAGE и др.
  • Принудительное отключение клиента через MON$STATEMENTS.
  • Новая системная роль RDB$ADMIN позволяет передавать SYSDBA свои привилегии другому юзеру в пределах базы данных.

Новая версия Firebird 2.5 ODS

В Firebird 2.5 изменен номер ODS (On-Disk-Structure) = 11.2

Подробно об этих и других изменениях читайте в этом блоге в будущих постах!