Организация удаленного доступа к распределенным базам данных
альных инструментов, как dBASE, Paradox и другие продукты
Windows на базе IDAPI.
. SQL, позволяющую реализовать доступ на базе статических или
динамических операторов SQL.
Основываясь на конкретных потребностях, приложение может свободно сочетать
эти модели.
Для взаимодействия с сервером персональное приложение на PC, включая
Paradox и dBASE, может вызывать администратор IDAPI. Сами функции IDAPI по
характеру выполняемой ими работы подразделяются на функции перемещения и
функции SQL. Вызовы SQL в IDAPI основаны на спецификации X-Open Call Level
Interface, в то время как расширения вызовов персональных приложений IDAPI
предназначены для реализации характерной технологии программирования
персональных приложений. Для получения общей рабочей среды некоторые вызовы
используются совместно как в режиме SQL, так и в режиме перемещения. Режим
взаимодействия приложения с сервером InterBase 4.0 обычно определяется
режимом текущего вызова IDAPI. Использование SQL или режима перемещения
прозрачно для пользователя.
Для поддержки ориентированного на записи доступа обычно требуется
выполнение на промежуточном уровне трансляции, преобразующей запросы
персонального приложения в команды SQL. Например, чтобы открыть индексный
курсор, транслирующий уровень строит оператор SQL с предложением Order By,
соответствующим столбцам индекса, а затем выполняет его на сервере.
Фильтрующие выражения завершаются предложением Where сгенерированного
оператора SQL. Сервер реляционной базы данных эмулирует через SQL семантику
данных работающего с упорядоченной информацией персонального приложения,
что ведет к заметному снижению производительности.
Позволяя открывать курсоры для таблиц и индексов без использования
операторов SQL, InterBase 4.0 с помощью многопользовательской среды клиент-
сервер обеспечивает производительность, близкую к производительности
локального персонального приложения. Это означает, что когда курсор
открывается для таблицы, то записи возвращаются в естественном порядке, а
когда он открывается для индекса, то они возвращаются в отсортированном
порядке.
Важным аспектом дизайна InterBase 4.0 является прямая, осуществляемая
на уровне механизма базы данных поддержка подобных операций перебора. Для
более быстрой выборки записей из таблиц и индексов InterBase 4.0 использует
специальные структуры данных, алгоритмы и протоколы. Для подготовки и
выполнения таких операций операторы SQL не требуются, поэтому отпадает
необходимость в промежуточных транслирующих модулях, а буферизация
результирующего набора сводится с минимуму. Кроме того, к данным
параллельно могут обращаться как пользователи Express Link, так и SQL.
Закладка - это метка записи относительно ее позиции среди других
записей. Механизм InterBase 4.0 поддерживает закладки непосредственно на
уровне сервера, позволяя использовать вызовы для установки, получения и
сравнения закладок. Закладка действует в течение всего подключения к базе
данных и допустима даже после закрытия исходного курсора и завершения
первоначальной транзакции. Используя внутренние идентификаторы записи,
InterBase 4.0 поддерживает быстрые операции с закладками.
Многие персональные приложения не используют понятия множественной
транзакции и предполагают обычно, что каждая операция базы данных
выполняется немедленно. Для поддержки такого представления InterBase 4.0
использует возможность автоматической фиксации, которая принудительно
интерпретирует каждое обновление как полную транзакцию.
С этой целью в InterBase 4.0 поддерживается сохранение контекста
курсора. Это позволяет поддерживать текущий курсор даже после завершения
транзакции.
Когда сервер использует в качестве своего интерфейса исключительно
SQL, он ограничен налагаемыми SQL правилами блокировок транзакций. В
соответствии с правилами SQL пользователь может определить уровень
выделения, но не может управлять блокировками (их установкой и отменой).
Персональные приложения используют парадигмы явных и монопольных блокировок
и в общем случае не применяют неявных блокировок. Более того, может
потребоваться, чтобы запрашиваемые приложением блокировки сохранялись в
течение транзакции, пока не будут явным образом отменены пользователем.
Для обеспечения потребностей пользователей персональных приложений PC,
InterBase 4.0 поддерживает явные блокировки, но следует также и стандартной
модели сервера, которая обеспечивает явные блокировки для традиционных
пользователей SQL.
Персональные приложения часто позволяют пользователю просматривать
большие объемы данных. Устанавливать для таких записей блокировки по чтению
непрактично. В типичной системе клиент-сервер клиентское приложение выводит
пользователю набор данных, не устанавливая на сервере никаких блокировок.
Для поддержки целостности и согласованности данных клиентское приложение
вынуждено следовать одним из путей:
. Через регулярные интервалы обновлять данные путем опроса сервера.
. Игнорировать изменения и продолжать выводить старые данные.
Изменения распознаются, только если пользователь пытается обновить
данные. В этом случае приложение информирует пользователей, что
другое приложение изменило данные, и отражает это изменение.
. Блокировать все кэшируемые данные
В InterBase 4.0 предусмотрена специальная технология, которая называется
обновлением кэша. Используя это средство, приложение IDAPI может
идентифицировать диапазон интересующих его записей и регистрирует это на
сервере. Когда в записи из этого диапазона происходит изменение (например,
параллельно работающий пользователь модифицирует запись), сервер инициирует
событие, которое уведомляет клиентское приложение с помощью механизмов
уведомления о событиях - InterBase 4.0 Event Alerters. Клиентское
приложение получает это событие и может либо игнорировать его, либо
запросить изменение записей в данном диапазоне.
InterBase 4.0 допускает использование для хранения данных и работы с
ними нескольких национальных наборов символов. Для всех строковых операций
и операций с объектами BLOB поддерживаются как 8-битовые, так и 16-битовые
наборы. Заданный по умолчанию набор символов и порядок сравнения можно
определить для базы данных в целом. Сравнение можно также определить с
помощью предложения Order By в операторе Select. Для спецификации символов
национальных алфавитов можно использовать строковые литералы с префиксом
имени набора символов. В стандартный комплект поставки включена поддержка
кодовой таблицы ANSI 1251, являющейся стандартом при работе с русским
языком в среде Windows.
2.5 Выбор средств разработки
В качестве CASE-средства использован программный продукт ERWin 2.5
фирмы Logic Works. ERwin - средство разработки структуры базы данных. ERwin
сочетает графический интерфейс Windows, инструменты для построения ER-
диаграмм, редакторы для создания логического и физического описания модели
данных и прозрачную поддержку ведущих реляционных СУБД и настольных баз
данных. С помощью ERwin можно создавать или проводить обратное
проектирование (реинжиниринг) баз данных.
Предыдущие версии ERwin - 1.5 и 2.1 - завоевали все возможные призы
среди программ своего класса, в том числе DBMS Readers' Choice в 1992,
1993, 1994, 1995 годах, Software Development Productivity Award 1993, Data
Based Advisor Readers' choice 1992 и 1994. Текущая версия продукта - 2.6.
ERWin позволяет проводить анализ системы как в стандарте IDEF1X, так и
в стандарте IE, что увеличивает удобство работы с продуктом. ERwin
объединяет логический и физический уровни представления модели в единую
диаграмму, что позволяет провести анализ предметной области и полностью
разработать структуры базы данных используя только один программный
продукт. Выбор этого продукта обусловлен также возможностью легкого
переноса разработанной модели на другой сервер баз данных.
Для написания клиентской части приложений использована среда
разработчика Borland Delphi C/S 2.01. Delphi относится к средствам быстрой
разработки приложений (RAD - Rapid Applications Development). Определяющим
фактором при выборе Delphi в качестве средства разработки клиентской части
является наличие большой библиотеки объектов для быстрого построения
приложений, работающих с базами данных. Кроме того, Delphi поддерживает
интерфейс PVCS, что позволяет вести параллельную разработку проекта
несколькими программистами.
Для разработки процессов, функционирующих на стороне сервера
использована среде разработки Microsoft Visual C 4.2 из пакета Microsoft
Developer Studio. Эта среда сочетает в себе мощь языка C++, удобные
средства отладки программ и навигации по тексту. Кроме того, она позволяет
использовать в программах все возможности операционной системы (RPC, RAS,
TAPI, сервисы Windows NT).
2.6 Организация взаимодействия между серверами
2.6.1 Выбор модели распределенной базы данных
Так как для обмена данными между серверами предполагается
использовать медленные асинхронные каналы связи, а также учитывая большое
количество серверов в данной информационной системе использован механизм
репликации данных. Недостатки этого механизма, такие как задержка
синхронизации различных копий данных, для данной системы играют малую роль.
2.6.2 Модель взаимодействия
Для органи
| | скачать работу |
Организация удаленного доступа к распределенным базам данных |