Субд borland interbase кратко

Обновлено: 25.06.2024

InterBase - это первая в мире СУБД, в которой реализована многоверсионная архитектура. Именно многоверсионная архитектура позволяет организовать взаимодействие пользователей таким образом, что читающие пользователи не блокируют пишущих, а также дает возможность очень быстро восстанавливаться после сбоев в базе данных и отказаться от ведения протокола транзакций (transaction log), а также предоставляет массу других преимуществ.

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

Можно также сказать, что для каждой записи возможно существование нескольких ее версий, при этом каждая транзакция видит только одну их этих версий.

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

Далее, транзакция может либо подтвердиться, либо отмениться. При подтверждении транзакции произойдет следующее: InterBase попытается пометить предыдущую (исходную) версию записи как удаленную и сделать текущую (измененную в рамках этой завершающейся транзакции) версию основной. Если только один пользователь менял запись, то именно так все и произойдет - измененная версия записи станет основной и именно ее увидят все остальные операции в транзакциях, которые запустятся позже подтверждения.

Предположим теперь, что после запуска описанной в примере транзакции (назовем ее № 1), но до подтверждения ее результатов запустится транзакция № 2, в которой пользователь желает прочитать изменяющуюся запись. Так как неподтвержденные в № 1 изменения нельзя увидеть (в том числе и в транзакции № 2) по крайней мере до подтверждения этой транзакции, то транзакция № 2 увидит предыдущую версию записи!

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

Но обратите внимание, что пишущий пользователь всегда может быть только один! Негоже давать изменять запись сразу двоим пользователям. Если попытаться редактировать одну и ту же запись одновременно в разных транзакциях, то, в зависимости от параметров транзакции, возникнет конфликт обновления записей - в той или иной форме. См. ниже раздел "Конфликты в транзакциях".

Итак, основной постулат многоверсионной архитектуры изложен. Конечно, в случае одновременной работы множества пользователей могут возникать сложные комбинации версий, и это может привести к странным на первый взгляд конфликтам.

Чтобы сформировать четкую и ясную картину того, как работает многоверсионность данных и транзакции в InterBase, придется углубиться в их реализацию на уровне базы данных InterBase.

Архитектура

Архитектура Если вы соблюдаете три закона и пишете тесты раньше рабочего кода, вы сталкиваетесь с дилеммой. Часто вы точно знаете, какой код нужно написать, но три закона приказывают сначала написать модульный тест, который не пройдет, потому что код еще не существует!

Архитектура TCP/IP

Архитектура TCP/IP Архитектура семейства протоколов TCP/IP основана на представлении, что коммуникационная инфраструктура включает три объекта: процессы, хосты, и сети. Процессы являются основными коммуникационными объектами, поскольку между процессами, в конечном итоге,

Глава 3 Архитектура TCP/IP

Глава 3 Архитектура TCP/IP 3.1 Введение Протоколы TCP/IP разработаны для сетевого окружения, которое было мало распространено в 70-х гг., но сегодня стало нормой. Эти протоколы позволяют соединять оборудование различных производителей и способны работать через различные типы

3.6 Архитектура TCP

3.6 Архитектура TCP TCP реализуется на хостах. Наличие TCP на каждом конце соединения обеспечивает для доставки данных локального приложения следующие возможности:? Точность? Сохранение последовательности? Полноту? Исключение дублированияБазовый механизм для реализации

3.7 Архитектура UDP

3.7 Архитектура UDP UDP реализуется на хостах. Протокол не обеспечивает целостности доставки данных, поскольку эта функция возлагается на обменивающиеся данными приложения. Именно они проверяют целостность доставляемых данных.Приложение, которое хочет переслать данные с

18.5 Архитектура gopher

18.5 Архитектура gopher Внутренняя структура gopher очень проста. На рис. 18.3, показано, как клиент соединяется с сервером gopher, извлекает меню или файл и закрывает соединение. Выбранный элемент выводится на монитор пользователя. При работе с меню или файлом пользователь уже не

11. Архитектура Windows XP

11. Архитектура Windows XP Изучение новой операционной системы обычно включает в себя последовательный анализ компонентов ее архитектуры. Но к этому вопросу можно подойти и с другой стороны. Когда речь заходит о квалифицированном автомеханике, ожидается, что он неплохо

InterBase 7

InterBase 7 Семерка - первый шаг нового семейства Чем InterBase 7 отличается от своих предшественников? Вот главный вопрос, на который отвечает эта глава.Прежде всего надо отметить, что помимо непосредственно технических новшеств и улучшений в InterBase 7 был введен ряд изменений

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

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

13 Открытая архитектура

13 Открытая архитектура Многие думают, что есть только два типа людей: мы, знающие все лучше других, и остальные, отличные от нас. То же самое можно сказать о работе в организациях. Некоторые люди думают, что есть только два выбора: приказная власть или необузданная анархия.

Простая архитектура PKI

Простая архитектура PKI Архитектура PKI может быть очень простой, если у пользователей - простые требования. В этом разделе рассматриваются два типа простой архитектуры: одиночный УЦ и списки доверия УЦ. Простая архитектура достаточна для связывания пользователей одного и

Архитектура корпоративной PKI

Архитектура корпоративной PKI В корпоративной PKI отношения доверия устанавливаются между удостоверяющими центрами одной и той же организации. Организация может быть компанией, государственным предприятием, федеральным агентством или сообществом пользователей. В

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

Interbase — СУБД от компании Borland. Основой InterBase был проект, разработанный Джимом Старки (Jim Starkey) во время работы над СУБД Datatrive. Джим создал его как реализацию своей идеи базы данных с многоверсионной архитектурой. В то время ( 1984 ) она называлась JRD (Jim’s Relational Databas). По-видимому, за основу была взята архитектура Rdb, так как Джим Старки был одним из разработчиков этой СУБД в DEC.

В 1985 Джим Старки, его жена Анн Харрисон и Дон ДеПалма (Don Depalma) основали компанию Groton Database Systems (именно поэтому базы данных InterBase до последнего времени имели традиционное расширение gdb — Groton DataBase). После ряда перепродаж и изменения наименования компании в InterBase Software Corporation в 1986 году был выпущен InterBase 2.

Надо сказать, что в основном эта СУБД использовалась во встраиваемых системах военного и специального назначения — например, она до сих пор используется в системе управления американской системы залпового огня MLRS, а также в компании Боинг для специальных расчетов жесткости крыльев.

В 1988 году компания Ashton-Tate приобретает 51 % акций Interbase, а в 1991 году Borland покупает Ashton-Tate. В том же году выходит InterBase 3.

Большую популярность InterBase приобрел с выходом версии 4 в 1994 году. Для того времени это была очень мощная СУБД, конкурировавшая по возможностям и производительности с MS-SQL (6.5) и SyBase (5).

В 1997 году выходит InterBase 5, а в 1998 InterBase 5.1.1 был включен в дистрибутив Delphi 4, что в значительной мере предопределило его популярность среди разработчиков на Delphi и C++ Builder.

В конце 1999 года 3 ключевых сотрудника InterBase (Bill Karwin, Paul Beach и Wayne Ostiguy) увольняются из отдела Interbase. В конференциях Borland начинаются волнения. Австралийская активистка Хелен Борри (Helen Borrie) создает список людей в защиту IB под названием “Спасем InterBase”, с целью не допустить закрытия IB. Образуется группа IBDI (IB Developer’s Initiative) для защиты разработчиков-пользователей Interbase, основатели — Helen Borrie, Jason Wharton и Dalton Calford.

Но самое интересное происходит в 2000 году. Компания Borland выпустила версию InterBase 6.0 в открытых кодах — InterBase 6 Open Source Edition, под InterBase Public License (IPL). Не было выпущено ни документации, ни системы тестирования, ни системы сборки проекта — просто груда некомпилируемых исходников. Фактически Borland в тот момент отказался от дальнейшего развития InterBase.

31 июля 2000 года инициативная группа, отчаявшись добиться от Borland поддержки или хотя бы внятной позиции, скопировала исходные коды InterBase 6 и образовала проект Firebird — полностью Open Source проект, основанный на кодах InterBase 6 Open Source.

В 2001 году компания Borland снова решила развивать InterBase. Директором подразделения Interbase стал Джон Артур (John Arthur), а ведущим разработчиком — Чарли Каро (Charlie Caro). В следующей версии InterBase (6.5) компания Borland очевидно отказалась от модели бизнеса на основе Open Source. Чуть позже официально полностью была прекращена поддержка InterBase Open Source Edition.

Современное состояние

В настоящее время последней версией является InterBase XE (2011) , в которой появилась поддержка Unicode и шифрование AES/DES. InterBase 7.5/2007 и Firebird 1.5/2.0 похожи, но уже далеки от полной совместимости — то есть миграция между их форматами баз данных легче, чем между форматами совсем “чужих” баз данных, но все же сопряжена с определенными проблемами.

Основными достоинствами последней версии InterBase являются низкие требования к системе, с одновременной масштабируемостью на несколько процессоров, плюс развитая система мониторинга, временные таблицы, встраиваемая аутентификация пользователей, журналирование. Традиционным достоинством считается кросс-платформенность — InterBase поддерживает Linux, Microsoft Windows, Unix и Solaris.

Особенности СУБД InterBase

СУБД InterBase отличается чрезвычайно низкими системными требованиями и при этом высокой производительностью и легкостью администрирования.
InterBase является кросплатформенным продуктом, поддерживающим большое количество различных операционных систем, включая Microsoft Windows NT/2000/XP/98/ME, LINUX, SCO UNIX, HP UNIX. Вы можете работать с InterBase, используя несколько сетевых протоколов: TCP/IP, NetNEUI, IPX/SPX.
Одной из основных особенностей InterBase можно считать версионную архитектуру, которая обеспечивает уникальные возможности при многопользовательской работе - пишущие пользователи никогда не блокируют читающих! Помимо этого, версионная архитектура позволяет отказаться от использования протокола транзакций (transction log), который в других СУБД служит для восстановления базы данных после сбоев, поэтому InterBase обладает очень высокой надежностью и устойчивостью.
Также в InterBase реализован механизм оптимистической блокировки на уровне записи. Это означает, что сервер блокирует только те записи, которые реально были изменены пользователем, и не блокирует всю страницу данных целиком. Эта особенность еще больше снижает вероятность конфликтов при многопользовательском режиме.

InterBase полностью совместим со стандартом ANSI SQL 92, а также имеет свое собственное расширение SQL для хранимых процедур и триггеров. В сравнении со многими другими СУБД, InterBase предоставляет очень эффективный механизм триггеров: каждая таблица может иметь большое количество триггеров, которые выполняются автоматически при вставке, изменении или удалении каждой отдельной записи, до или после этих событий. Многие функции существующих СУБД были впервые реализованы в InterBase - это, в частности, обновляемые представления, события (event alerters), многомерные масссивы и BLOB-поля. Более того, некоторые механизмы, такие, например, как двухфазное подтверждение транзакций, до сих пор остаются совершенно уникальными, представленными только в InterBase.
Немаловажной особенностью сервера InterBase является возможность расширения стандартного набора SQL-функций при помощи пользовательских библиотек - User Defined Functions, а также механизмы обработки BLOB-полей на сервере при помощи BLOB-фильтров. Остается только сказать, что InterBase отличается значительной устойчивостью, поскольку специально был спроектирован для применения в Intranet-приложениях, приложениях для мобильных устройств и встроенных приложениях баз данных.

Текущие версии СУБД InterBase

В настоящее время существует несколько клонов серверов InterBase. Есть коммерческая версия, принадлежащая компании Borland - СУБД InterBase версии 5.6. Есть целое семейство серверов InterBase 6.x - Borland InterBase 6.0, 6.5, 7.0, XE, Firebird 3.x и Yaffil (разработка команды программистов из Санкт-Петербурга). Все эти версии основаны на исходном коде Borland InterBase 6.0 и являются практически полностью совместимыми между собой. Системы Borland InterBase 6.0, FireBird 1.x и Yaffil являются Open Source- продуктами, которые можно использовать бесплатно без ограничений на количество пользователей в рамках условий InterBase Public License. Версии Borland 5.6, 6.5 и 7.0, Embarcadero InterBase XE являются коммерческими продуктами и требуют покупки соответствующих лицензий.
Опыт множества внедрений подтверждает, что информационные системы работают быстро и устойчиво на любой из версий InterBase.

Средства разработки под InterBase

Знаете ли Вы, что свойство объекта в объектно-ориентированном программировании - это характеристика объекта. Обычно свойства изменяются с помощью методов.

InterBase SQL Server — это система управления базами данных изначально разработанная компанией Borland. В настоящее время разработчиком InterBase является компания Embarcadero.

Версионная архитектура InterBase SQL Server

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

  • Для восстановления баз данных InterBase после системного сбоя, нет необходимости поддержки лога транзакций.
  • Клиенты, читающие данные никогда не блокируют клиентов, осуществляющих запись данных.

Преимущества сервера InterBase

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

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

  • Обновляемые представления View;
  • Двухфазное подтверждение транзакций;
  • Эффективный механизм триггеров;
  • Серверная обработка BLOB-полей (BLOB-filters);
  • События (Уведомления);
  • Шифрование сетевого трафика, базы данных, файлов бекапа и отдельных столбцов БД.

Язык InterBase SQL

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

Актуальная версия InterBase server

На сегодняшний момент новейшая версия — InterBase 2009.

Сервер InterBase 2009 доступен в 4-х вариантах:

  • InterBase SMP 2009 Developer;
  • InterBase SMP 2009 Server;
  • InterBase SMP 2009 Desktop;
  • InterBase SMP 2009 ToGo.

InterBase SMP 2009 Developer Edition

Версия InterBase SMP Developer Edition поставляется бесплатно в составе интегрированной среды разработки CodeGear и для первого знакомства c базой InterBase лучше воспользоваться ей.

InterBase SMP 2009 ToGo

Однопользовательская версия InterBase SMP 2009 ToGo встраивается в приложения в качестве dll и предназначена для разработки Portable-приложений с размером базы данных менее 3 мегабайт. Между тем она обладает всеми необходимыми функциями полноценной БД, включая поддержку транзакций и SQL.

Производительность InterBase

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

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

InterBase против Firebird

Хотя в основе версий 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.

Начало работы с InterBase

Для знакомства с InterBase можно использовать тестовую базу данных employee.gdb. Она входит в установочный комплект InterBase и расположена в папке C:\CodeGear\InterBase\examples\database\.

Создание новой базы данных InterBase

Создать новую базу данных можно через консоль управления IBConsole. Она находится в папке C:\CodeGear\InterBase\bin:

Альтернативный способ создания пустой базы InterBase через утилиту isql:

  • запустите утилиту C:\CodeGear\InterBase\bin\isql.exe
  • выполните инструкцию создания базы данных:

В ISQL каждое выражение завершается точкой с запятой.

Проверить подключение можно, выполнив запрос:

SQL> select TMP$DATABASE_PATH from TMP$DATABASE;

Если все сделано правильно, SQL запрос вернет путь к подключенной базе данных:

Безопасность InterBase Server

InterBase SQL Server поддерживает несколько методов аутентификации пользователей:

  • Classic Authentication Scheme — пользователи и пароли являются едиными для всех баз и хранятся в системной базе данных InterBase — admin.ib (isc4.gdb).
  • Embedded User Authentication — пользователи и пароли хранятся в клиентской базе данных. Такая схема защищает базы данных от прямого копирования или замены на сервере admin.ib.

Чтобы включить Embedded User Authentication необходимо при создании базы данных через SQL указать опцию WITH ADMIN OPTION. В IBConsole можно просто указать соответствующий параметр в настройках БД.

Следующие инструкции позволяют управлять механизмом Embedded User Authentication:

После включения возможности хранения пользователей в БД можно управлять пользователями через SQL операторы:

Обе схемы аутентификации Classic и EUA могут быть использованы на сервере InterBase совместно. Подробнее об аутентификации можно прочитать в статье: Встроенная аутентификация пользователей в InterBase 7.5

Пользователь SYSDBA. Смена пароля по умолчанию

SYSDBA — это административный пользователь InterBase с исключительными правами. Пароль по умолчанию: masterkey. Для того чтобы сменить пароль, используйте утилиту gsec из состава InterBase:

C:\CodeGear\InterBase\bin>gsec GSEC> modify SYSDBA -pw NEW_PASS

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

Подключение к InterBase из клиентского приложения

Для начала скачайте и установите пакет IBProvider Professional Edition.

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

Dim cn, cmd, rs, i Set cn = CreateObject ("ADODB.Connection") cn.Open "Provider=LCPI.IBProvider.3;" & _ "Data Source=localhost:d:\temp\test.gdb; " & _ "User & _ "password=masterkey;" & _ "ctype=win1251;" & _ "auto_commit=true" set rs = cn.execute("select * from TMP$ATTACHMENTS") do while not rs.EOF for i=0 to rs.Fields.Count - 1 wscript.echo rs(i).Name & " interbase_vbscript">InterBase и VBScript, Visual Basic, VBA

Для доступа к InterBase и Firebird из VBScript, VBA, Visual Basic используется библиотека ADO (ActiveX Data Objects). Множество примеров работы с этой библиотекой вы найдете в документации: примеры InterBase VBScript, VBA, Visual Basic.

InterBase и Delphi

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

  • dbGo (ADO Express) компоненты, работающие через библиотеку ADO.
  • прямой доступ к COM-интерфейсам ADO, минуя компоненты dbGo.
  • прямой доступ к COM-интерфейсам OLE DB при помощи сторонних VCL-компонент (OLE DB Direct/OLE DB Express).

InterBase и C++

В состав IBProvider Professional Edition входит C++ библиотека, которая предоставляет самый быстрый способ работы с OLE DB провайдерами из Visual C++ 2005-2008, а так же из C++ Builder.

Редактирование базы InterBase — создание таблиц, связей, ключей

В пустой базе данных необходимо создать таблицы, связи между таблицами, первичные ключи, индексы, хранимые процедуры, генераторы и другие объекты. Для редактирования баз данных вы можете использовать встроенные средства InterBase — IBConsole или утилиту isql.exe.

Создание таблицы InterBase при помощи IBConsole

Создание таблицы InterBase при помощи утилиты isql.exe

SQL> CREATE TABLE cross_rate CON> ( CON> from_currency VARCHAR(10) NOT NULL, CON> to_currency VARCHAR(10) NOT NULL, CON> conv_rate FLOAT NOT NULL, CON> update_date DATE, CON> CON> PRIMARY KEY (from_currency, to_currency) CON> );

Вставляем одну запись и делаем выборку из таблицы:

SQL> INSERT INTO cross_rate VALUES (‘Dollar’, ‘CdnDlr’, 1.3273, ’11/22/93′); SQL> SELECT * from cross_rate; FROM_CURRENCY TO_CURRENCY CONV_RATE UPDATE_DATE ============= =========== ============== =========== Dollar CdnDlr 1.3273000 1993-11-22

Помимо isql существую различные графические утилиты администрирования InterBase.

Утилиты администрирования InterBase

IBExpert

IBExpert — Поддерживает InterBase, Firebird, Yaffil. Редакторы DDL и DML. Визуальный построитель запросов. Автозавершение кода, Metadata Extractor, а так же множество других возможностей.
Лицензия: Бесплатный для exUSSR, для остальных: от 179 евро.
Сайт: IBExpert

IB/FB Development Studio

IB/FB Development Studio — Визуальный дизайнер баз данных, встроенный MERGE, scheduler, Code auto completion, анализатор запросов, монитор производительности.
Лицензия: Бесплатно для России, для остальных: от 149 евро.
Сайт: IB/FB Development Studio

Blaze Top

Blaze Top — Инструмент разработчика и администратора баз данных. Поддерживает Firebird и InterBase.
Лицензия: Бесплатно для России, для остальных: от 129 евро.
Сайт: Blaze Top

Database Workbench

Database Workbench — поддерживает несколько серверов баз данных, среди которых есть Firebird и InterBase. Отладка хранимых процедур, анализ планов, встроенные средства переноса данных и метаданных.
Лицензируется отдельно на InterBase и отдельно на Firebird. 171$ за каждый движок (InterBase или Firebird).
Сайт: Database Workbench

Теги статьи: База данных InterBase Server, Язык InterBase SQL, сервер InterBase, InterBase server, InterBase 2009, InterBase 2007, InterBase vs Firebird, Firebird 2.5, InterBase таблицы, IBExpert, IB/FB Development Studio, Blaze Top, Database Workbench.

Аннотация: На этой лекции вы начнете знакомство с одним из самых надежных и распространенных серверов баз данных InterBase.

Цель лекции

Предварительное знакомство с сервером InterBase .

Организация архитектуры клиент-сервер

На рисунке вы можете видеть, что сервер InterBase (или аналогичный) располагается на отдельном компьютере, вместе с самими данными. При этом не используется никаких открытых ресурсов (дисков, папок или файлов), обмен данными происходит только по специально выделенному порту.

Давайте представим себе работу файл -серверной базы данных по сети. Компьютер , выполняющий роль сервера, не делает ничего, кроме обеспечения общего доступа к папке, в которой находится база данных . Пользовательский компьютер , обращаясь к какой-нибудь таблице из этой БД , вначале получает по сети всю таблицу, какой бы большой она ни была, и лишь затем получает возможность работать с загруженной копией. А если база данных имеет много таблиц? А если таблицы содержат сотни тысяч записей? А если клиентских компьютеров несколько десятков, а то и сотен? В этом случае сеть подвергается огромным перегрузкам, так как каждый клиент должен получить собственную копию таблицы, и не один раз за сеанс . Кроме того, работая с файл -серверной базой данных, клиентское приложение принимает на себя всю тяжесть обеспечения правильной работы с этой БД : данные должны быть полными и непротиворечивыми, удаляя какую то запись , следует удалять и все связанные с ней записи, другими словами, бизнес-правила осуществляет клиентский ПК. Все это приводит к тому, что не только сетевые каналы должны быть скоростными, но и компьютеры пользователей должны быть как можно мощнее. Следует помнить и об отсутствии безопасности файл -серверной архитектуры, ведь для обеспечения совместной работы нужно открыть общий доступ к данным, которые из-за этого могут быть кем-нибудь испорчены, намеренно или случайно.

Работа клиент-серверной БД выглядит совершенно иначе. Компьютер , "выделенный под сервер ", не только выполняет все необходимые работы по обслуживанию БД , он еще и обрабатывает запросы от клиентских ПК, и пересылает им не всю таблицу или связанные таблицы, а лишь те сведения, которые были запрошены. В результате многократно снижается нагрузка на сеть , а безопасность работы увеличивается: в файл-серверных БД очень сложно реализовать непротиворечивость данных, если несколько клиентов обращаются к одной записи. Клиент-серверная архитектура же пользуется транзакциями - пакетом запросов, который последовательно производит изменения БД и либо принимается, если все изменения записи подтверждены, либо отвергается, если хоть один запрос завершился неуспешно. Мощным можно оставить лишь один компьютер - сервер . Пользовательские же ПК могут быть неприхотливыми и недорогими. Таким образом, происходит разделение всей работы с базой данных на две части: обслуживание БД , и обслуживание клиентов. Первая часть возлагается на SQL - сервер , вторая - на клиентскую программу.

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

Программист, используя архитектуру клиент- сервер , должен быть также и неплохим администратором БД , то есть, он должен уметь устанавливать серверное программное обеспечение и обслуживать саму базу данных: делать резервные копии, удалять накопившийся "мусор", регистрировать новых пользователей и т.п.

InterBase

InterBase представляет собой полнофункциональный SQL - сервер . Сервер баз данных - это программа или служба, которая выполняется на сетевом компьютере (сервере), где физически расположена сама база данных . На этом курсе мы изучим установку сервера InterBase версии 6.5, который входит в поставку Delphi 7 . InterBase - очень надежный сервер БД , при этом он не требователен к ресурсам ПК, благодаря чему является одним из самых популярных SQL -серверов на рынке программного обеспечения. Благодаря тому, что InterBase обеспечивает автоматическое восстановление и готовность к работе после сбоев системы (пользователи часто даже не замечают, что у сервера были проблемы), он используется во многих военных проектах США. Во многом из-за этого InterBase так поздно появился на нашем рынке.

InterBase выгодно отличается от многих других серверов следующими качествами:

  • Высокая производительность и надежность при минимальных требованиях к ПК.
  • Поддержка стандарта SQL -92, что позволяет обеспечить переносимость программ.
  • Относительно низкая стоимость продукта (с Delphi поставляется сервер InterBase с бесплатной лицензией на 5 клиентов, этого достаточно для разработки БД и приложения, но обычно недостаточно для развертывания сервера в организации).
  • Простота управления и поддержки сервера. InterBase имеет простой и удобный механизм администрирования БД, не требующий специальных знаний.

В 1985 году сервер носил название GDS ( Groton Database System ), но вскоре был переименован в InterBase . В 1991 году сервер был перекуплен фирмой Aston Tate , но уже в 1992 году вместе с фирмой сервер перешел во владение корпорацией Borland . Начиная со второй версии Delphi , дистрибутив включает в себя бесплатную локальную версию сервера InterBase . Поскольку InterBase является "родным" для Delphi сервером БД и не требует для своей работы установки дополнительных драйверов, а также, принимая во внимание все вышесказанное, мы остановимся именно на нем. Средств самой Delphi вполне достаточно для программирования приложений , работающих с InterBase , однако имеются разработки и сторонних производителей - компоненты, программы для облегчения администрирования БД и т.д.

Предполагается, что при установке Delphi вы также установили и InterBase Server . Впрочем, если это не так, то вставьте дистрибутивный диск и установите InterBase 6.5 Server :

Выбор установки сервера в поставляемом дистрибутиве Delphi

Если же вы не знаете, установлен ли у вас уже InterBase , достаточно посмотреть в список меню "Программы", где он должен присутствовать отдельной папкой. Тут следует сделать одно замечание: если вы используете ОС Windows NT , 2000 или XP, то InterBase может запускаться как служба ( по умолчанию) или как приложение . В случае Windows 95, 98 или ME InterBase запускается только как приложение . Вне зависимости от того, какая ОС у вас установлена, если сервер запущен как приложение , в правом нижнем углу (в трее) вы увидите значок InterBase Guardian:

Значок InterBase Guardian

InterBase Guardian - утилита , которая устанавливается вместе с сервером. Эта утилита осуществляет начальный запуск сервера, и его перезапуск, если по каким то причинам сервер "рухнул".

Если же у вас установлена Windows NT, 2000 или XP, то загрузите Панель управления (Пуск -> Настройки -> Панель управления). Среди прочих имеющихся служб вы увидите и InterBase Manager :

Панель управления в Windows XP SP-2

Щелкните дважды по этой службе, чтобы открыть ее. Вы увидите следующее окно:

Окно службы InterBase Manager

Ниже расположен раздел Root Directory (корневая папка сервера). В этом разделе указан адрес , по которому была произведена установка InterBase .

Еще ниже расположен раздел Status. Если сервер находится в рабочем состоянии, то зеленым цветом выводится Running (выполняется), а кнопка справа имеет название Stop (остановить). Если же сервер не работает, то красным цветом выводится надпись Stopped (остановлено), а кнопка справа содержит надпись Start (запустить). Вы можете безбоязненно попробовать нажимать на эту кнопку, запуская или останавливая сервер . "Галочка" Run the InterBase server as a service on Windows NT (Загружать сервер InterBase как службу Windows NT ) позволяет вам указать способ загрузки сервера: как службу Windows (при отмеченном состоянии) или как простое приложение . Рекомендуется запускать сервер , как службу.

В самом низу расположен раздел Properties (Свойства), где вы можете посмотреть или изменить текущие свойства сервера или служебной программы InterBase Guardian .

Читайте также: