
- •Серверы корпоративных баз данных
- •Проблемы выбора аппаратно-программной платформы и конфигурации сервера базы данных
- •Проблемы оценки конфигурации системы
- •Основы конфигурирования серверов баз данных
- •Характеристики рабочей нагрузки (тесты tpc)
- •Что такое tpc
- •Выбор конфигурации сервера субд
- •Предпосылки выбора
- •Выбор вычислительной модели
- •Мониторы обработки транзакций
- •Гибкость доступа к данным
- •Вопросы производительности
- •Подсистема основной памяти
- •Выбор размера буфера ввода/вывода субд
- •Дополнительные требования к памяти
- •Процессоры
- •Емкость и пропускная способность дисковой памяти
- •Файловые системы по сравнению с "чистыми" (неструктурированными) дисками
- •Метаданные субд
- •Распределение данных
- •Использование ресурсов ввода/вывода
- •Большие объекты данных
- •Конфигурация клиент/сервер и региональные сети
- •Трафик символьного терминала
- •Заключительные рекомендации по конфигурированию сетевого ввода/вывода
- •Обеспечение резервного копирования
- •Когда необходимо выполнять резервное копирование?
- •Резервное копирование в режиме online
- •Продолжительность резервного копирования
- •Использование зеркалирования дисков для облегчения резервного копирования
- •Частота резервного копирования
- •Утилиты резервного копирования
- •Пример 1
- •Пример 2
- •Предостережения
- •Структурные конфликты и способы их минимизации
- •Конфликты по данным, остановы конвейера и реализация механизма обходов
- •Конфликты по данным, приводящие к приостановке конвейера
- •Методика планирования компилятора для устранения конфликтов по данным
- •Сокращение потерь на выполнение команд перехода и минимизация конфликтов по управлению
- •Снижение потерь на выполнение команд условного перехода
- •Проблемы реализации точного прерывания в конвейере
- •Параллелизм уровня команд: зависимости и конфликты по данным
- •Основы планирования загрузки конвейера и разворачивание циклов
- •Дальнейшее уменьшение приостановок по управлению: буфера целевых адресов переходов
- •Одновременная выдача нескольких команд для выполнения и динамическое планирование
- •Архитектура машин с длинным командным словом
- •Аппаратные средства поддержки большой степени распараллеливания
- •Выполнение по предположению (speculation)
Гибкость доступа к данным
Использование мониторов транзакций практически не накладывает каких-либо ограничений на многообразие или сложность запросов доступа к нижележащей СУБД. Например, вполне осмысленной оказывается транзакция, выдающая запрос на набор данных из базы данных DB2 на мейнфрейме IBM, работающей под управлением ОС MVS, а другой набор данных из локальной базы данных Sybase, и затем сливающая оба набора вместе для представления приложению. В результате создается иллюзия того, что данные хранятся в унифицированной базе данных, размещенной в одном и том же "хранилище данных" (data warehause).
В связи с тем, что во многих "старых" (legacy) системах используются мониторы обработки транзакций CICS, мигрирующая часть или все базы данных, связанные с этими системами, могут работать с небольшими изменениями существующих приложений. Все что требуется - это физический перенос данных на новую платформу и модификация описания транзакций для использования данных на новом месте. Однако сложность такого переноса не должна недооцениваться, поскольку он часто требует внесения изменений в представление данных (трансляцию COBOL "PIC 9(12)V99S" в C++ float) и организацию данных (например, из сетевой архитектуры IMS в реляционную архитектуру, используемую почти повсеместно СУБД на базе UNIX). Но возможность сохранить части, связанные с прикладной обработкой и представлением существующих приложений существенно сокращает сложность и риск, связанные с таким переносом.
Вопросы производительности
Помимо достижения определенной гибкости за счет использования TP-мониторов, такая организация оказывается выгодной и с точки зрения увеличения производительности системы. TP-монитор всегда представляет собой многопотоковую программу. Поскольку TP-монитор открывает свое собственное соединение с СУБД, одновременно устраняя необходимость выполнения каждым прикладным процессом прямых запросов к СУБД, число одновременно работающих пользователей СУБД существенно сокращается. В подавляющем большинстве случаев СУБД обслуживает только одного "пользователя" - TP-монитор. Это особенно важно, когда СУБД относится к классу "2N", поскольку в этом случае используется только один теневой процесс (для обеспечения соединения с TP-монитором), а не по одному процессу на каждый процесс конечного пользователя (рис. 2.4). Это может существенно сократить накладные расходы, связанные с переключением контекста на сервере СУБД.
Рис.2.4. Системы СУБД клиент/сервер сконфигурированные для работы с мониторами обработки транзакций. Теневой процесс на серверной системе появляется, когда СУБД использует архитектуру "2N".
TP-мониторы позволяют также улучшить производительность за счет сокращения объема информации, пересылаемой между СУБД и прикладным процессом. Поскольку определенную часть каждой транзакции составляют только минимально требуемые данные, общий объем пересылки данных обычно может быть сокращен. Это особенно важно, когда клиент и сервер соединены между собой посредством достаточно занятой сети и/или сети с низкой полосой пропускания, подобной глобальной сети на спутниковых каналах связи.
Рекомендации:
-
TP-мониторы могут рассматриваться как кандидаты для включения в состав системы, когда доступен исходный текст приложения.
-
TP-мониторы следует использовать для интеграции в корне отличных источников информации базы данных.
-
TP-мониторы особенно полезны для сокращения трафика клиент/сервер на сетях с низкой полосой пропускания или глобальных сетях.
-
Применение системе TP-монитора следует рассматривать, когда должно обслуживаться большое количество пользователей и используемая СУБД предпочитает или требует реализации архитектуры "2N".