Скачиваний:
190
Добавлен:
02.05.2014
Размер:
2.66 Mб
Скачать

2.11. Утилиты

Утилиты — это программы, разработанные для АБД и используемые им при реше- нии различных административных задач. Как упоминалось выше, некоторые утилиты выполняются на внешнем уровне системы и потому представляют собой не что иное, как приложения специального назначения. Одни из них могут быть созданы даже не поставщиком данной СУБД, а определенными сторонними разработчиками программ-

ного обеспечения. Однако другие утилиты выполняются непосредственно на внутрен- нем уровне (т.е. действительно являются частью сервера) и поэтому должны предос- тавляться поставщиками СУБД.

Ниже приводится несколько примеров утилит различных типов, которые часто при- меняются на практике.

  • Инструменты загрузки, применяемые для создания исходной версии базы данных из одного или более файлов операционной системы.

  • Инструменты выгрузки-перезагрузки, применяемые для выгрузки базы данных или ее части, создания резервных копий хранимых данных и восстановления базы данных из этих копий, (Безусловно, утилита перезагрузки, по существу, идентична упомянутой выше утилите загрузки.)

  • Инструменты реорганизации, применяемые для перераспределения данных в хранимой базе данных, которое выполняется по различным причинам (обычно с целью повышения производительности). В частности, это может быть процедура группирования данных на диске некоторым специальным образом или освобождение пространства, занятого ранее данными, которые больше не используются.

  • Статистические инструменты, применяемые для вычисления различных стати- стических показателей и показателей производительности, таких как сведения о размерах файлов или значениях данных, счетчики операций ввода-вывода и т.п.

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

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

2.12. Распределенная обработка

Как мы определили в разделе 2.10, термин "распределенная обработка" означает, что разные машины можно соединить в коммуникационную сеть (например, Internet) для ор- ганизации совместного решения одной задачи обработки данных на нескольких машинах сети. (Термин "параллельная обработка" используется практически для того же, но в "параллельных" системах взаимодействующие машины с физической точки зрения рас- положены рядом, тогда как для распределенной системы это вовсе необязательно и от- дельные машины могут быть достаточно удалены географически.) Взаимодействие меж- ду различными машинами осуществляется с помощью специального программного обеспечения, предназначенного для управления сетью. Оно может быть некоторым рас- ширением менеджера передачи данных (см. раздел 2.9), но чаще всего является отдель- ным программным компонентом.

Распределенная обработка может быть самой разнообразной и осуществляться на разных уровнях. Как отмечалось в разделе 2.10, один из простейших случаев, представ- ленный на рис. 2.6, — это случай, когда сервер СУБД запускается на одной машине, а клиентское приложение — на другой.

Как уже отмечалось в конце раздела 2.10, термин "клиент/сервер", несмотря на то что он, строго говоря, является чисто архитектурным, фактически стал синонимом изобра- женной на рис. 2.6 структуры, в соответствии с которой клиент и сервер запускаются на разных машинах. И действительно, существует множество аргументов в пользу подобной схемы.

Приложения

Машина клиента

Прозрачный удаленный доступ

Машина сервера

  • Главный аргумент связан с возможностью организа- ции параллельной обработки. В этом случае для ре- шения общей задачи применяется сразу несколько процессоров, поскольку работа сервера (базы данных) и клиента (приложения) осуществляется параллельно. В результате показатели времени реакции системы на запрос и ее производительности должны улучшиться.

  • Кроме того, машина сервера может быть изготовле- на по специальному заказу и специально приспособ- лена для работы с СУБД ("машина базы данных"). Такое решение позволяет дополнительно повысить производительность СУБД.

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

  • К одной и той же машине сервера могут иметь доступ несколько разных машин клиентов (что чаще всего и имеет место). Поэтому одна база данных может совместно использоваться не- сколькими различными клиентскими системами, как показано на рис. 2.7.

К сказанному выше можно добавить, что работа сервера и клиента на отдельных машинах отвечает принципам работы многих предприятий. Вполне типичный способ функционирования отдельных предприятий (например, банков) заключается в исполь- зовании многих компьютеров, причем данные для одной части предприятия сохраня- ются на одном компьютере, а данные для другой части — на другом. Несомненно, что пользователям одного компьютера, пусть лишь иногда, обязательно потребуется дос- туп к данным, хранящимся на другом компьютере. Следуя примеру банка, можно с высокой степенью вероятности утверждать, что пользователям одного отделения бан- ка иногда потребуется доступ к данным, сохраняемым в другом его отделении. Из это- го можно сделать вывод, что на машинах клиентов могут сохраняться их данные, а машина сервера может иметь собственные приложения. Поэтому, вообще говоря, каж- дая машина будет выступать в роли сервера для одних пользователей и в роли клиента для других, образуя систему, представленную на рис. 2.8. Иными словами, в этом слу- чае каждая машина будет поддерживать полную систему баз данных в смысле, кото- рый вкладывался в это понятие в предыдущих разделах главы.

Рис. 2.7. Система с одним сервером и несколькими клиентами

Отметим последнее преимущество, которое состоит в том, что отдельная машина клиента может иметь доступ к нескольким машинам серверов (случай, противополож- ный показанному на рис. 2.7). Это полезная возможность, поскольку, как уже упомина- лось, предприятие обычно выполняет обработку данных таким образом, что полный на- бор всех данных сохраняется не на одной машине, а распределяется на нескольких раз- личных машинах, причем в приложениях иногда необходим доступ к данным сразу не- скольких машин. Такой доступ предоставляется, в основном, двумя способами.

  • Клиент может получать доступ к любому количеству серверов, но лишь к одному из них в каждый момент времени (т.е. каждый запрос к базе данных может быть направлен только к одному серверу). В такой системе невозможно за один запрос получить комбинированные данные от двух или более серверов. Кроме того, поль- зователь в такой системе должен знать, на какой именно машине содержится кон- кретная часть данных.

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

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

дующее: полная поддержка распределенных баз данных означает, что отдельное при- ложение может "прозрачно" обрабатывать данные, распределенные между множест- вом различных баз данных, управление которыми осуществляют разные СУБД, рабо- тающие на соединенных коммуникационными сетями машинах разных типов с раз- личными операционными системами. Здесь понятие "прозрачно" означает, что прило- жение выполняет обработку данных с логической точки зрения так, как будто управ- ление данными полностью осуществляется одной СУБД, работающей на единственной машине. Предоставление такой возможности может показаться невероятно трудной задачей, но весьма желанной с практической точки зрения. Производители СУБД на- пряженно работают, чтобы сделать подобные системы реальностью. Подробнее рас- пределенные базы данных рассматриваются в главе 20.

Соседние файлы в папке Дейт К. Дж. Введение в системы баз данных [7 издание]