logo
Разработка автоматизированного приложения "График рабочего дня"

1.4.2 Анализ средств управления базами данных

Сервер Interbase SQL Server- это система управления базами данных разработанная компаниейBorland. База данных Borland Interbaseпостроена на версионной архитектуре хранения данных. Этот подход обладает рядом преимуществ перед блокировочными СУБД:

· Для восстановлениябаз данных Interbaseпосле системного сбоя, нет необходимости поддержки лога транзакций.

· Клиенты, читающие данные никогда не блокируют клиентов, осуществляющих запись данных.

Сервер Interbase- это кроссплатформенная СУБД, поддерживающая большинство операционных систем: Windows, Linux, Unix, Solaris, Mac OS и т.д.

Interbase обладает целым рядом преимуществ, выгодно отличающих его от остальных СУБД:

· Обновляемые представления View;

· Двухфазное подтверждение транзакций;

· Эффективный механизм триггеров;

· Серверная обработка BLOB-полей (BLOB-filters);

· События (Уведомления);

· Шифрование сетевого трафика, базы данных, файлов бекапа и отдельных столбцов БД.

Язык Interbase SQLсовместим со стандартом SQL-92. Кроме того,Interbase serverподдерживает расширения стандартного подмножества языка SQL за счет пользовательских функций UDF (User Definded Functions). Interbase SQL предоставляет расширенные возможности SQL для хранимых процедур и триггеров - PSQL.

Сервер Interbase разрабатывался с учетом современных требований к производительности СУБД. В последних версияхInterbase SQL Serverприменен ряд технологий значительно повышающих скорость работы:

· Поддержка симметричной многопроцессорной обработки Interbase SMP (symmetric multiprocessing) позволяет задействовать возможности многопроцессорной архитектуры при единственном серверном процессе Interbase SuperServer.

· Поддержка технологии Hyperthreading.

· Пакетное выполнение SQL запросов позволяет уменьшить сетевой трафик и повысить производительность.

Хотя в основе версий Interbase 2009 и Firebird 2.5 лежит общий исходный код Interbase 6.0, эти СУБД на современном этапе развития значительно отличаются друг от друга.

В Interbase 2009 реализованы следующие возможности, которые не поддерживаются в последней версииFirebird 2.5:

· Шифрование базы данных, а так же отдельных столбцов.

· Шифрование сетевого трафика (Over-the-Wire (OTW) Encryption.

· Протоколирование операций на базе журналов.

· Возможность аутентификации на уровне базы данных.

· Функция экспорта содержимого файлов базы данных (Dump) в режиме онлайн.

· Функция восстановления состояния из архивов на определенный момент времени (Point-in-Time Recovery).

· Логический тип данных Boolean.

Клиент-серверная версия Firebird SQL Server существует в двух вариантах: Firebird Super Server и Firebird Classic. В Interbase реализована архитектура, совмещающая в себе достоинства Classic и SuperServer -Interbase SuperServer + SMP.

Архитектура Super Server- все клиентские подключения обслуживаются одним серверным процессом, имеется общий клиентский кеш. За счет этого достигается меньший расход ресурсов на обслуживание клиентов. Недостатком Super Server является отсутствие возможности задействовать несколько процессоров для работы сервера.

Архитектура Classic Server- на каждое клиентское подключение создает отдельный серверный процесс. Архитектура Classic Server более надежна, т.к. сбой одного серверного процесса не вызывает отказ в обслуживании всех клиентов. Кроме того, Classic Server позволяет распределить клиентские подключения на несколько процессоров. Недостатком архитектуры являются дополнительные накладные расходы на обслуживание и синхронизацию процессов, а так же отсутствие общего клиентского кеша.

Interbase Super Server + SMP(symmetric multiprocessing) объединяет в себе преимущества двух архитектур Classic и Superserver. Один серверный процесс Interbase Super Server позволяет сократить накладные расходы и использовать общий клиентский Кеш, а технология симметричной обработки SMP задействует возможности многопроцессорной архитектуры, которые раньше были недоступны для Classic Server.

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

Сервер Firebird SQL доступен в 3-х вариантах:

· Firebird Super Server

· Firebird Classic Server

· Firebird Embedded

Firebird Super Server- все клиентские подключения обслуживаются одним серверным процессом, имеется общий клиентский кеш. За счет этого достигается меньший расход ресурсов на обслуживание клиентов. Недостатком Firebird Super Server является отсутствие возможности задействовать несколько процессоров для работы Firebird сервера.

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

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

Недостаток Firebird Embedded - это невозможность одновременного подключения к одной БД нескольких клиентов. После успешного подключения Firebird Embedded блокирует файл базы данных для монопольного доступа.

Если у разработчика нет уверенности в выборе типа установки Firebird, то есть смысл использовать Firebird Super Server. В дальнейшем он без труда сможет изменить архитектуру сервера.

Безопасность Firebird:

· Firebird хранит всех пользователей в одной служебной базе данных security.fdb.

· Начиная с Firebird 2.1 реализована поддержка SSPI аутентификации средствами Windows. Администраторы домена на уровне БД определяются как супер пользователи SYSDBA.

· В Firebird 3.0 планируется реализовать возможность хранения пользователей в клиентской базе данных.

При помощи утилиты gsec можно создавать, удалять, модифицировать и просматривать пользователей. Полный список команд можно получить, набрав help.

IBProvider предлагает несколько способов работы с Interbase и Firebird из Delphi:

· dbGo (ADO Express) компоненты, работающие через библиотеку ADO.

· прямой доступ к COM-интерфейсам ADO, минуя компоненты dbGo.

· прямой доступ к COM-интерфейсам OLE DB при помощи сторонних VCL-компонент (OLE DB Direct/OLE DB Express).