Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лекции_ПрИС_заочн.doc
Скачиваний:
35
Добавлен:
21.11.2018
Размер:
747.52 Кб
Скачать

Архитектура серверной подсистемы.

В любой ИС можно выделить два компонента – собственно программу и данные. Данные хранятся в так называемой «базе данных» – файле или наборе файлов. Большинство используемых в настоящее время баз данных имеют реляционную структуру, т.е. состоят из таблиц, связанных между собой.

При работе с данными используется ограниченное число операций:

  1. Определение структуры данных – создание таблиц, изменение структуры таблиц, удаление таблиц и т.п.

  2. Манипулирование данными – добавление, изменение или удаление данных

  3. Выборка данных

Механизм этих операций не зависит от того, какой продукт ими пользуется (Microsoft Access, SAP R/3 или, например, SQL-версия программы 1С:Предприятие). Поэтому удобно осуществление этих операций возложить на отдельный программный продукт – сервер баз данных. Существует много серверов баз данных отличающихся друг от друга форматом файлов данных, алгоритмами выполнения операций и прочими особенностями. Одними из наиболее популярных серверов баз данных являются Microsoft SQL Server (обычно читается как «Майкрософт сиквел-сервер») и Oracle Database.

Использование готового сервера баз данных даёт разработчику ИС следующие преимущества:

  1. Упрощается разрабатываемая программа – вместо того, чтобы писать, например, механизм записи в файл данных, предусматривая при этом запрещение записи в файл информации одновременно несколькими пользователями, нам будет достаточно обратиться из нашей программы к серверу баз данных и отдать команду выполнить запись.

  2. Сервер баз данных берёт на себя значительную нагрузку, что уменьшает стоимость всей системы. Дело в том, что компьютер пользователя рассчитывается исходя из пиковой (т.е. максимальной) нагрузки. Но такая нагрузка на него приходится редко, т.е. большую часть времени компьютеры пользователей нагружены на малую долю их реальной мощности. Если наиболее ресурсоёмкие операции, а именно к таким операциям и относятся операции с базами данных, мы делегируем серверу баз данных, то требования к пользовательским компьютерам можно будет значительно уменьшить.

  3. Сервер баз данных оптимизирует операции. Например, он хранит промежуточные результаты выборки из базы. Если какие-то запросы к базе данных используются часто, то сервер сохранит результаты этих запросов и сможет выдавать их пользователям, не обращаясь повторно к базе данных.

С точки зрения компании-пользователя ИС, выбор программы-сервера баз данных определяется следующими параметрами:

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

  2. Стоимость администрирования сервера баз данных (заработная плата администраторов + затраты на прием на работу администраторов)

  3. Стоимость аппаратных мощностей, необходимы для работы сервера баз данных (компьютеров-серверов, сетевого оборудования, а также устройств резервного копирования)

Производительность программ-серверов баз данных во многих случаях не очевидна. Например, Oracle Database 9 версии позволяет устанавливать различный приоритет для разных запросов к базе данных. Некоторые регламентные операции в ИС сильно нагружают сервер баз данных, например, закрытие склада (пересчёт стоимости всех товаров) или начисление амортизации основных средств. Во время проведения этих операций загрузка серверов баз данных резко возрастает, что увеличивает время ожидания работников, выполняющих текущие операции. Если мы установим более низкий приоритет для соответствующих запросов, то это повысит время их выполнения (что может быть не так важно), но заметно понизит время отклика системы на прочих операциях. Microsoft SQL Server 2000 подобной возможности нам не предоставляет, но зато предъявляет, в большинстве случаев, заметно меньшие требования к аппаратному обеспечению.

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