Server for Information Technologies ИА Финмаркет
Сервер содержит море(!) аналитической информации
Поддерживается Центром Информационных Технологий
CIT Forum CD-ROM
Сетевой книжный магазин Mistral
;;; ;;;;; ;;; ;;;;; ;;;;; ;;; ;;;;; ;;; ;; ;;;;;; ;;; ;;;;; ;;; ;;;;; ;;; ;;;;; ;;;; ;;;; Рубрикатор по всем документам сервера CIT Forum
Описание всех новейших сетевых
технологий и оборудования
у Вас под рукой!

2.9. Организация тиражирования данных

Схема издатель-подписчик

Репликация данных в SQL Server строится на достаточно простой схеме издатель-подписчик (схема приведена на рисунке 6.15). Что это значит:

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

Любой SQL Server может выступать в любой из трех ролей (рисунок 16).

Гибкие условия репликации

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

Рис. 15. Схема репликации данных SQL Server

Рис. 16. Схема репликации все всем

Рис. 17. Выборочная публикация

Компоненты SQL Server, отвечающие за репликацию

Следующие компоненты SQL Server обслуживают процесс репликации:

Все три указанных процесса являются подмножеством SQL Executive. Схема взаимодействия компонентов поясняется на рисунке 6.18.

Мгновенные снимки

Репликация на основе мгновенных снимков (snapshots) реализуется как регулярный процесс полной синхронизации без последующей досылки транзакций. Этот режим выбирается при настройке сервера подписки.

Передача данных

Реплицируемые данные могут передаваться в двух форматах:

Рис. 18. Компоненты процесса репликации

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

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

Управление всем процессом репликации выполняется из SQL Enterprise Manager.

На рисунке 19 приведен пример создания защищенной публикации, на рисунке 20 - пример избирательной подписки на публикаций.

Административная консоль имеет специальное окно, называемое Replication Topology (топология репликации), в котором графически изображается схема репликации, в которой данный сервер является издателем, со всеми подписчиками. На рисунке 21 приведен внешний вид окна топологии репликации. Добавление новых подписчиков возможно методом "перетащи и оставь".

Рис. 19. Создание защищенной публикации

Рис. 20. Избирательная подписка на публикаций

Рис. 21. Окно топологии репликации

Все операции по настройке процесса репликации могут быть выполнены как из хранимых процедур сервера, так и при помощи SQL-DMO.

2.10. Организация распределенных вычислений, MS DTC

В версию SQL Server 6.5 была впервые добавлено средство, автоматизирующее обработку распределенных транзакций в среде Windows NT и Windows95 - Microsoft Distributed Transaction Coordinator (MS DTC).

MS DTC является одним из первых примеров реализаций архитектуры Distributed Common Object Model. Он обеспечивает прикладным программам возможность использовать механизм OLE для манипуляции локальными и сетевыми объектами с автоматическим поддержанием распределенных транзакций на пространстве этих OLE объектов.

MS DTC в составе SQL Server 6.5 поддерживает подмножество OLE-DB для работы с данными, хранимыми на сервере, и управления самим SQL сервером.

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

Если программа для выполнения последовательности действий обращается только к одному серверу, функции DTC сводятся к передаче запросов программы SQL серверу, который обеспечивает выполнение транзакции собственными средствами, и результатов - прикладной программе.

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

Рис. 22. Схема взаимодействия в распределенной транзакции

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

В SQL Server распределенная транзакция может быть инициирована явно, командой BEGIN DISTRIBUTED TRANSACTION, либо неявно, в момент вызова удаленной хранимой процедуры. В процессе исполнения прикладная задача может конкретно указать имя компьютера, DTC которого будет выполнять роль координатора. Если имя координатора не задано, то берется имя из реестра локальной станции, задаваемое в процессе настройки клиентской рабочей станции. Программа настройки входит в комплект клиентской части SQL Server и регистрирует себя в контрольной панели. Если и здесь имя не задано, в роли координатора выступает DTC сервера, к которому прикладная программа обратилась. Если распределённая транзакция инициируется неявно, методом вызова удаленной хранимой процедуры, координатором всегда становится локальный DTC.

Кроме MS DTC для выполнения операций над распределенными данными может использоваться любой монитор, совместимый со стандартом TP-XA, к примеру TUXEDO, ECINA или TOPEND. Настройки SQL Server для использования с мониторами транзакций третьих фирм не входят в программу курса и далее не рассматриваются. За более подробной информацией следует обращаться к руководству по SQL Server, технической библиотеке Tech-Net и документации по конкретному XA-совместимому монитору.

Настройка серверной компоненты DTC выполняется в SQL Enterprise Manager. Администратор может установить уровень отладочных сообщений в журнале регистрации распределенных транзакций, разрешить или запретить трассировку, просмотреть историю исполнения транзакций, просмотреть список незавершенных транзакций, их текущее состояние и принять решение о принудительной фиксации или откате.

2.11. Средства интеграции с Internet, SQL Web Assistant

В состав SQL Server 6.5 входит графическая утилита, называемая SQL Web Assistant, позволяющая на основании данных сервера генерировать файлы в формате HTML 3.0, известные также как Web-страницы, которые могут быть просмотрены любым Internet-браузером. HTML-файлы могут быть переданы серверу Internet для организации доступа к ним внутри организации или для всеобщего обозрения в World Wide Web. Web Assistant использует для работы как операторы Transact-SQL, так и набор системных и расширенных хранимых процедур. Вследствие использования "родного" метода доступа данный способ генерации WWW-страниц имеет лучшие показатели быстродействия и масштабируемости, по сравнению, например, с методом, используемым в Common Gateway Interface. Однако область применения этого способа ограничена в основном неинтерактивными запросами к базе данных. Типовая схема применения Web Assistant приведена на рисунке 23.

Рис. 23. Типовая схема применения Web Assistant

Используя Web Assistant, генерацию HTML-файлов можно выполнять:

Ниже перечислены типичные сферы применения Web Assistant:

Web Assistant позволяет использовать достаточно гибкую схему подготовки задания на генерацию страниц HTML, а именно:

На рисунке 25 приведен пример страницы, созданной с помощью Web Assistant.

Кроме Web Assistant для получения тех же результатов можно использовать следующие хранимые процедуры:

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

Сама программа Web Assistant может исполняться только на процессорах Intel, но может создавать задания на любой из поддерживаемых SQL Server платформе, так как все хранимые процедуры, вызываемые программой, там присутствуют.

Рис. 24. Пример создания запроса в Web Assistant

Рис. 25. Пример очень простой страницы, созданной при помощи Web Assistant

2.12. Средства разработки расширений, ODS

Microsoft Open Data Services (ODS) представляют собой набор интерфейсов (API) для создания:

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

Приложения второго типа называют расширенными хранимыми процедурами, они обеспечивают выполнение функций и доступ к данным, поддержка которых не обеспечивается SQL Server, и исполняются как часть процесса сервера, С точки зрения пользователей они ведут себя как обычные хранимые процедуры.

Расширенные хранимые процедуры создаются на языках C/C++ в виде динамических библиотек, установка, регистрация и назначение прав на запуск выполняется пользователем с правами SA.

Как работает ODS

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

После получения запроса от клиента ODS определяет тип этого запроса и переадресует его соответствующему обработчику событий (event handler). Результат обработки ODS возвращает клиентскому приложению.

В ODS определены три основных вида событий:

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

Рис. 26. Взаимодействие клиентов с ODS сервером

Назад | Содержание | Вперед

Home Каталог ресурсов Поиск Рубрикатор FTP-архив
Newman

Комментарии: info@citmgu.ru
Copyright ©