ВУЗ:
Составители:
Рубрика:
28
Приведенное здесь рассуждение описано на основе систем INGRES и ORACLE всего
лишь для того, чтобы конкретизировать стиль изложения, хотя эту идею можно
использовать в более общем смысле. Предположим теперь, что существует два узла - X и
Y, на которых запущены соответственно системы INGRES и ORACLE. Допустим также,
что некоторый пользователь U на узле X желает взглянуть на распределенную базу
данных, которая содержит данные из базы данных INGRES на узле X и из базы данных
ORACLE на узле Y. По определению U является пользователем системы INGRES, а
потому работа с распределенной базы данных должна походить на работу базы данных
INGRES. Таким образом, режим работы пользователя должен поддерживаться системой
INGRES, а не системой ORACLE. В чем заключается такая поддержка?
В принципе, она организована довольно просто. Система INGRES должна иметь
надстроечную программу, которая называется шлюзом и взаимодействует с системой
ORACLE так, чтобы создавалось впечатление, что "работа системы ORACLE выглядит
так же, как и работа системы INGRES". Такая распределенная система показана на рис.
2.3.
Тогда шлюз должен выполнять все перечисленные ниже функции, причем некото-
рые из них с точки зрения технического воплощения представляют собой весьма сложную
задачу. (Более подробно эти проблемы обсуждаются ниже при описании стандартов
удаленного доступа.)
• Воплощение протоколов обмена информацией между системами INGRES и
ORACLE. Такие протоколы, помимо прочего, должны содержать сведения о со-
вместимости формата сообщений, с помощью которых утверждения SQL
посылаются со стороны системы INGRES, а также посылаются сведения об
отображении результатов в системе ORACLE (значения данных, коды возврата и
т.д.) в формат сообщения, которое понимала бы система INGRES.
• Обеспечение функции "реляционного сервера" для системы ORACLE (аналогич-
ной функции, выполняемой интерактивным процессором языка SQL, который
уже поддерживается в большинстве современных программных продуктов такого
типа). Иначе говоря, шлюз должен обрабатывать произвольные незапланирован-
ные утверждения языка SQL, заданные для базы данных ORACLE. Для того
чтобы обеспечить эту функцию, шлюз должен осуществлять динамическую
поддержку языка SQL или поддерживать интерфейс вызовов на узле системы
ORACLE.
• Отображение между типами данных систем INGRES и ORACLE. Эта проблема
включает множество подчиненных проблем, которые связаны с различием про-
цессоров (например, у разных процессоров может по-разному определяться длина
переменной типа ''word''), различием кодировок символов (при сравнении строк в
запросах упорядочения могут быть получены неожиданные результаты), различи-
ем формата чисел с плавающей запятой (широко известная проблема), различием
в способе управления датой и временем (никакие СУБД не поддерживают это
управление одинаковым образом) и т.д.
• Отображение диалекта языка SQL, принятого в системе INGRES, на диалект SQL,
принятый в ORACLE. Следует отметить, что как в системе INGRES, так и в сис-
теме ORACLE поддерживаются отдельные инструменты языка SQL, которые не
поддерживаются в другой системе. К тому же в них содержатся некоторые конст-
рукции, синтаксически одинаковые, но семантически различные.
• Отображение информации, посылаемой обратно от системы ORACLE (код воз-
врата и т.д.), в формате INGRES.
• Отображение каталога ORACLE в формате INGRES таким образом, чтобы узел
INGRES и его пользователи могли понимать содержимое базы данных ORACLE.
• Работа в качестве участника (в варианте INGRES) протокола двухфазной фикса-
Приведенное здесь рассуждение описано на основе систем INGRES и ORACLE всего
лишь для того, чтобы конкретизировать стиль изложения, хотя эту идею можно
использовать в более общем смысле. Предположим теперь, что существует два узла - X и
Y, на которых запущены соответственно системы INGRES и ORACLE. Допустим также,
что некоторый пользователь U на узле X желает взглянуть на распределенную базу
данных, которая содержит данные из базы данных INGRES на узле X и из базы данных
ORACLE на узле Y. По определению U является пользователем системы INGRES, а
потому работа с распределенной базы данных должна походить на работу базы данных
INGRES. Таким образом, режим работы пользователя должен поддерживаться системой
INGRES, а не системой ORACLE. В чем заключается такая поддержка?
В принципе, она организована довольно просто. Система INGRES должна иметь
надстроечную программу, которая называется шлюзом и взаимодействует с системой
ORACLE так, чтобы создавалось впечатление, что "работа системы ORACLE выглядит
так же, как и работа системы INGRES". Такая распределенная система показана на рис.
2.3.
Тогда шлюз должен выполнять все перечисленные ниже функции, причем некото-
рые из них с точки зрения технического воплощения представляют собой весьма сложную
задачу. (Более подробно эти проблемы обсуждаются ниже при описании стандартов
удаленного доступа.)
• Воплощение протоколов обмена информацией между системами INGRES и
ORACLE. Такие протоколы, помимо прочего, должны содержать сведения о со-
вместимости формата сообщений, с помощью которых утверждения SQL
посылаются со стороны системы INGRES, а также посылаются сведения об
отображении результатов в системе ORACLE (значения данных, коды возврата и
т.д.) в формат сообщения, которое понимала бы система INGRES.
• Обеспечение функции "реляционного сервера" для системы ORACLE (аналогич-
ной функции, выполняемой интерактивным процессором языка SQL, который
уже поддерживается в большинстве современных программных продуктов такого
типа). Иначе говоря, шлюз должен обрабатывать произвольные незапланирован-
ные утверждения языка SQL, заданные для базы данных ORACLE. Для того
чтобы обеспечить эту функцию, шлюз должен осуществлять динамическую
поддержку языка SQL или поддерживать интерфейс вызовов на узле системы
ORACLE.
• Отображение между типами данных систем INGRES и ORACLE. Эта проблема
включает множество подчиненных проблем, которые связаны с различием про-
цессоров (например, у разных процессоров может по-разному определяться длина
переменной типа ''word''), различием кодировок символов (при сравнении строк в
запросах упорядочения могут быть получены неожиданные результаты), различи-
ем формата чисел с плавающей запятой (широко известная проблема), различием
в способе управления датой и временем (никакие СУБД не поддерживают это
управление одинаковым образом) и т.д.
• Отображение диалекта языка SQL, принятого в системе INGRES, на диалект SQL,
принятый в ORACLE. Следует отметить, что как в системе INGRES, так и в сис-
теме ORACLE поддерживаются отдельные инструменты языка SQL, которые не
поддерживаются в другой системе. К тому же в них содержатся некоторые конст-
рукции, синтаксически одинаковые, но семантически различные.
• Отображение информации, посылаемой обратно от системы ORACLE (код воз-
врата и т.д.), в формате INGRES.
• Отображение каталога ORACLE в формате INGRES таким образом, чтобы узел
INGRES и его пользователи могли понимать содержимое базы данных ORACLE.
• Работа в качестве участника (в варианте INGRES) протокола двухфазной фикса-
28
Страницы
- « первая
- ‹ предыдущая
- …
- 26
- 27
- 28
- 29
- 30
- …
- следующая ›
- последняя »
