Хелен Борри - Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ

Тут можно читать онлайн Хелен Борри - Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ - бесплатно полную версию книги (целиком) без сокращений. Жанр: comp-programming, издательство БХВ-Петербург, год 2006. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ
  • Автор:
  • Жанр:
  • Издательство:
    БХВ-Петербург
  • Год:
    2006
  • Город:
    Санкт-Петербург
  • ISBN:
    5-94157-609-9
  • Рейтинг:
    4/5. Голосов: 81
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 80
    • 1
    • 2
    • 3
    • 4
    • 5

Хелен Борри - Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ краткое содержание

Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ - описание и краткое содержание, автор Хелен Борри, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

Рассмотрены вопросы, необходимые разработчику для создания клиент-серверных приложений с использованием СУБД Firebird, явившейся развитием СУБД Borland Interbase 6. Содержится обзор концепций и моделей архитектуры клиент/сервер, а также практические рекомендации по работе с клиентскими библиотеками Firebird. Детально описаны особенности типов данных SQL, язык манипулирования данными (Data Manipulation Language, DML), а также синтаксис и операторы языка определения данных ( Data Definition Language, DDL). Большое внимание уделено описанию транзакций и приведены советы по их использованию при разработке приложений. Описано программирование на стороне клиента и сервера написание триггеров и хранимых процедур, создание и использование событий базы данных, обработка ошибок в коде на сервере и многое другое. Материал сопровождается многочисленными примерами, советами и практическими рекомендациями.

Для разработчиков баз данных

Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ - читать онлайн бесплатно полную версию (весь текст целиком)

Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ - читать книгу онлайн бесплатно, автор Хелен Борри
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

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

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

Использование сообщений о событиях

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

Эти возможности безграничны в терминах масштаба и приложения. Некоторыми примерами являются:

* сервисы фоновой репликации данных запрашивают новый элемент;

* приложение продажи билетов использует эту схему в качестве сигнала для обновления открытых наборов данных в других офисах, когда происходит изменение выделенных мест или расписания;

* приложение инвентаризации выдает отделу закупок сообщение "запас на исходе", когда количество элементов инвентаризации находится ниже минимально допустимого уровня запасов;

* розничные магазины информируются о загрузке нового прайс-листа;

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

Элементы механизма

Инициаторами событий являются операции изменения состояния базы данных - успешно выполненные операции INSERT, UPDATE и DELETE. Сигнализация о событии выполняется в триггерах или хранимых процедурах с помощью оператора PSQL

POST_EVENT.

Однако POST EVENT является только одним элементом этого механизма- изолированно он ничего не делает. Это просто посылка сигнала слушающим приложениям. Он не несет никакой информации, о каком событии базы данных он сигнализирует; задачей приложения является обеспечение собственного контекста для каждого события.

Сам механизм событий состоит из нескольких взаимодействий между серверной стороной и приложением.

Элементы на стороне сервера

Элементами на стороне сервера являются:

* один или более триггеров или хранимых процедур, которые выдают оператор

POST_EVENT;

* внутренняя таблица событий - адресат вызовов POST_EVENT - содержит список направленных ей событий процедурами и триггерами во время работы транзакций, при которых возникли события;

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

Элементы приложения

На стороне приложения этому механизму нужно:

* приложение, которое способно зарегистрировать свой интерес в событиях;

* другие приложения, которые выполняют те операции DML, которые прослушивает заинтересованное приложение.

Естественно, прослушивающему приложению также необходим механизм реагирования на события.

Элементы интерфейса

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

Элементом программного обеспечения является клиентская подпрограмма, называемая функцией обратного вызова события. Это код на клиенте, который вызывается сервером для информирования клиента о событиях, как только подтвердится транзакция, в рамках которой было отправлено ожидаемое событие. Для встроенных приложений предкомпилятор gpre генерирует код для таких функций обратного вызова. Для динамических приложений, которые хотят выполнять прослушивание синхронно (см. следующий раздел), как это делают приложения ESQL, функция обратного вызова содержится в клиентской библиотеке. Динамические приложения могут - и обычно так и делают - прослушивать асинхронно (см. разд. "Асинхронная сигнализация" и "Асинхронное прослушивание"). Для этого они должны предоставить пользовательскую функцию обратного вызова, называемую асинхронным перехватчиком (Asynchronous Trap, AST).

! ! !

СОВЕТ. Если ваша стратегия межсетевой защиты не позволяет приложениям выбирать произвольный порт, Firebird версии 1.5 и выше позволяет специально сконфигурировать такой вспомогательный порт - используйте параметр RemoteAuxPort В firebird.conf.

. ! .

Синхронное прослушивание

На рис. 32.3 показана модель событий, которая реализована в языке ESQL для встроенных приложений с помощью операторов EVENT INIT и EVENT WAIT. Динамический SQL не имеет эквивалентных операторов SQL. Для приложений динамического SQL та же синхронная модель событий реализована в API с помощью функции isc_wait _for_event().

Приложение ESQL использует EVENT INIT для сообщения, что оно прослушивает событие, и EVENT WAIT, что оно ожидает оповещения. Оно прослушивает оповещение через вспомогательный канал между портами сети, используя главный дескриптор канала соединения с базой данных. Когда вызывается EVENT WAIT, выполнение клиентского приложения приостанавливается, пока не придет сообщение о событии.

Рис 323 Синхронная сигнализация Клиент в сети посылает изменение строки - фото 50

Рис. 32.3. Синхронная сигнализация

Клиент в сети посылает изменение строки таблицы MYTABLE. Его принимает и обрабатывает сервер. В процессе фазы AFTER UPDATE триггер посылает сообщение с именем big_event для оповещения менеджера событий, что изменение завершено.

Менеджер событий добавляет это событие в список своих событий. В это время изменение не подтверждено, и менеджер событий больше ничего не делает. В своем списке прослушивающих он отыскивает процесс x, который прослушивает это событие. Процесс x будет ожидать, пока не подтвердится одно или более событий big_event.

При выполнении COMMIT менеджер событий посылает процессу x и всем другим процессам, ожидающим событие big_event, оповещение, что big_event произошло. Даже если транзакция много раз отправляла big event, ожидающие клиенты получат одно оповещение.

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

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Хелен Борри читать все книги автора по порядку

Хелен Борри - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ отзывы


Отзывы читателей о книге Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ, автор: Хелен Борри. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x