Смекни!
smekni.com

Компьютерные информационные технологии (стр. 2 из 3)

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

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

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

Производительность является проблемой не потому, что современным процессорам не хватает требуемой мощности, а потому, что сегодняшние файл-серверы используют принцип "все или ничего" для исполнения запросов рабочих станций. Полные копии файлов базы данных постоянно перемещаются вперед-назад по сети. Проблемы с безопасностью и целостностью данных возникают из-за того, что файл-серверы изначально не были сконструированы с учетом целостности данных и их восстановления в случае аварии, неявного распараллеливания задач (implicitconcurrency) и централизованного контроля управления данными, типичными функциями, выполняемыми СУБД на средних и больших ЭВМ.

Архитектура "клиент-сервер" (CSA - ClientServerArchitecture) заменила модель "файл-сервера" на более мощную, состоящую из "клиентов" и "серверов", что позволило совместить достоинства однопользовательских (высокий уровень диалоговой поддержки, дружественный интерфейс и низкую цену) и более крупных компьютерных систем (поддержка целостности и защита данных, многозадачность).

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

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

Распределенные стратегии должны доказать свои преимущества путем преодоления некоторых недостатков, присущих централизованным системам. Так как в централизованных базах данных все данные располагаются в единственном узле, то возможный размер базы данных ограничивается объемом памяти центральной ЭВМ. Все запросы на выборку и обновление данных должны направляться в центральный узел с соответствующими временными задержками. Если в центральном узле находится однопроцессорная ЭВМ, то это приведет к ограничениям на параллельную обработку, следовательно, время реакции системы может быть слишком большим для пользователя. Центральный узел может стать узким местом всей системы, хотя вся остальная сеть может функционировать нормально. Любая из трех других стратегий распределения данных преодолевает некоторые из этих недостатков, но ценой определенных затрат.

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

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

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