Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Введение в СУБД HyTech.doc
Скачиваний:
11
Добавлен:
01.03.2025
Размер:
2.67 Mб
Скачать

Встроенные переменные

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

Название переменной

Описание

1.

session_user

Сеансовый идентификатор авторизации.

2.

current_user

Текущий идентификатор авторизации.

3.

system_user

Имя пользователя, под которым работает SQL-сервер в операционной системе.

2.2 Архитектура субд HyTech Структура sql - сервера

СУБД HyTech состоит из двух основных частей: собственно SQL сервера и клиентской части. Сервер является частью соответствующей ОС и предназначен для ведения реляционных баз данных и обслуживания приложений клиентов. Приложения могут выполняться как на рабочих станциях, так и машине самого SQL сервера. Для связи клиентов с сервером поддерживаются несколько видов протоколов, основным протоколом является TCP/IP.

Основным языком взаимодействия клиентской части с SQL сервером является язык SQL, дополненный процедурным расширением.

SQL сервер, в свою очередь, состоит из нескольких слоев программного обеспечения: коммуникационная часть, монитор пользователей, компилятор SQL, оптимизатор запросов и ядро СУБД (рис. 1).

Рис 1. Структура программного обеспечения SQL сервера

Схема взаимодействия клиента и сервера

Схема взаимодействия клиента и сервера выглядит следующим образом: прикладное программное обеспечение (ППО) клиента посылает запрос на регистрацию к SQL серверу. Коммуникационная часть обнаруживает запрос и, после проверки полномочий пользователя, регистрирует его в мониторе пользователей. Для обслуживания пользователя порождается отдельный поток (процесс), обеспечиваемый средствами операционной системы. В дальнейшем потоки всех пользователей сервера выполняются параллельно (насколько это позволяют аппаратные и программные средства машины). Разграничение доступа пользователей к общим ресурсам СУБД обеспечивается соответствующими мониторами. Мониторы ресурсов также функционируют в виде отдельных потоков операционной системы. Некоторые мониторы можно отнести к «верхнему» уровню (например, мониторы пользователей или монитор чтения входных очередей сообщений), а ряд мониторов являются частью ядра СУБД.

SQL-сервер HyTech реализован в виде многопоточной программы. Каждому пользователю выделяется, так называемая, «нить» (поток, thread). Они (потоки) конкурируют между собой за общие ресурсы (процессор, память, информация в базе данных и т.д.). Все нити – один и тот же программный код и используют общие данные, загруженные в разделяемую память. Таким образом, технология «клиент-сервер» перенесена как бы внутрь SQL-сервера, внутри которого образованы нити-владельцы определенных ресурсов. Например, управлением транзакциями занимается нить-монитор транзакций, управлением таблицами занимается нить-монитор таблиц. Нити, обрабатывающие запросы пользователей, обращаются за ресурсами к нитям-владельцам этих ресурсов. Данная архитектура SQL-сервера позволила снизить затраты, связанные с повторением одних и тех же действий разными нитями.