Распределенная обработка информации

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

Формализация концептуальной схемы данных повлекла за собой возможность к классификации моделей представления данных на иерархические, сетевые и реляционные. Это отразилось в понятии архитектуры систем управления базами данных и технологии обработки. Архитектура СУБД описывает ее функционирование как взаимодействие процессов двух типов клиента и сервера.

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

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

База данных – это автоматизированные хранилища оперативно обновляемой информации. Если в 70-е гг. шла торговля «сырой» информацией, т.е. данными, то в наше время созданы автоматизированные аналитические комплексы, торгующие результатами анализа «сырой» информации. Такие базы называют «серой» нефтью (мозгом). Например, в США фирмы объединились в Ассоциацию информационной индустрии, что позволило обеспечить реализацию 80% мировых информационных услуг.

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

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

Централизованный, или метод извлечения данных вручную, является самым простым для реализации способом. На одном сервере находится единственная копия базы данных. Все операции с базой данных обеспечиваются этим сервером. Доступ к данным выполняется с помощью удаленного запроса или удаленной транзакции. Достоинством такого способа является легкая поддержка базы данных в актуальном состоянии. Недостатком является то, что размер базы ограничен размером внешней памяти, все запросы направляются к единственному серверу с соответствующими затратами на стоимость связи и временную задержку. Отсюда – ограничение на параллельную обработку. База может быть недоступной для удаленных пользователей при появлении ошибок связи и полностью выходит из строя при отказе центрального сервера.

При распределении данных на основе расчленения база данных размещается на нескольких серверах. Существование копий отдельных частей недопустимо. Достоинства: увеличивается объем базы данных; большинство запросов удовлетворяется локальными базами; что сокращает время ответа; увеличивается доступность и надежность; стоимость запросов на выборку и обновление снижается по сравнению с централизованным распределением: если выйдет из строя один сервер, система останется частично работоспособной. Недостатки: часть удаленных запросов или транзакций могут потребовать доступ ко всем серверам, что увеличивает время ожидания и цену; необходимо иметь сведения о размещении данных в БД. Однако доступность и надежность увеличиваются. Расчлененные базы данных наиболее подходят к случаю совместного использования локальных и глобальных сетей ЭВМ.

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

В методе смешанного распределения объединены два способа распределения данных: дублирование и расчленение. При этом приобретены как преимущества, так и недостатки обоих способов. Появилась необходимость хранить информацию о том, где находятся данные в сети. Главное преимущество – гибкость этой системы, так как можно установить компромисс между объемом памяти под базу в целом и под базу в каждом сервере, чтобы обеспечить надежность и эффективность работы. В этой стратегии легко реализуется параллельная обработка, т.е. обслуживание распределенного запроса или транзакции. Недостатки: остается проблема взаимозависимости факторов, влияющих на производительность системы, ее надежность, повышаются требования к памяти. Смешанную стратегию используют при наличии сетевой СУБД, которая обеспечивает реализацию распределенной базы данных. Первые три метода поддерживают распределенную обработку данных.

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

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

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

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

Инструментальные средства программирования относятся к интерфейсу клиента, или внешнему интерфейсу. Они могут включать процессор обработки данных на языке запросов. Наиболее употребительными языками являются SQL и QBE. Язык – это совокупность процедурных и непроцедурных команд, поддерживаемых СУБД. В последнее время наблюдается тенденция применения объектно-ориентированных языков (Visual Objects – VO) для разработки приложений с использованием СУБД. Например, такие известные СУБД, как FoxPro, Clipper, Dbase, расширены визуальными редакторами.

Ядро выполняет все остальные функции, которые включены в понятие «обработка базы данных». Термины «ядро», «сервер базы данных», «внутренний интерфейс» – синонимы.

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

Рассмотрим основные виды технологии распределенной обработки данных:

1. Технология «клиент-сервер», ориентированная на автономный компьютер, т.е. и клиент, и сервер размещены на одной ЭВМ. По функциональным возможностям такая система аналогична централизованной СУБД. Ни распределенная обработка, ни распределенная обработка CУБД не поддерживаются;

2. Технология «клиент-сервер», ориентированная на централизованное распределение. Клиент получает доступ к данным одиночного удаленного сервера. Данные могут только считываться. Динамический доступ к данным реализуется посредством удаленных транзакций и запросов. Их число должно быть невелико, чтобы снизилась производительность системы;

3. Технология «клиент-сервер», ориентированная на локальную вычислительную сеть. Единственный сервер обеспечивает доступ к базе. Клиент формирует процесс, отвечающий за содержательную обработку данных, их представление и логический доступ к базе. Доступ к базе данных замедлен, так как клиент и сервер связаны через локальную сеть;

4. Технология «клиент-сервер», ориентированная на изменения данных в одном месте. Реализуется обработка распределенной транзакции. Удаленные серверы не связаны между собой сетью ЭВМ, т.е. отсутствует сервер-координатор. Клиент может изменять данные только в своей локальной базе. Возникает опасность «смертельных объятий», т.е. такой ситуации, когда задача А ждет записи, заблокированные задачей В, а задача В ждет записи, заблокированные задачей А. Поэтому распределенная СУБД должна иметь средство контроля совпадений противоречивых запросов. Распределение данных реализует метод расчленения;

5. Технология «клиент-сервер», ориентированная на изменение данных в нескольких местах. В отличие от предыдущей технологии здесь имеется сервер координатор, поддерживающий протокол передачи данных между различными серверами. Возможна обработка распределенных транзакций в разных удаленных серверах. Это создает предпосылки разработки распределенной СУБД. Реализуется стратегия смешанного распределения путем передачи копий с помощью сетевой СУБД.

6. Технология «клиент-сервер», ориентированная на сетевую СУБД. Обеспечивает стратегию расчленения и дублирования. Позволяет получить более быстрый доступ к данным. Распределенная СУБД обеспечивает независимость клиента от места размещения сервера, глобальную оптимизацию, распределенный контроль целостности базы, распределенное административное управление.

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

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

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

Под платформой сервера баз данных понимают возможности операционной системы компьютера и сетевой операционной системы (ОС). Каждый сервер баз данных может работать на определенном типе компьютера и сетевой ОС. ОС серверов – это DOS версии выше 5.0, Xenix, Unix, Windows NT, OS/2 и др. В настоящее время наиболее употребительными являются около десяти серверов. Наиболее популярными из них являются Microsoft SQL-server 6.5, Sqlbase-server, Oracle-server и др. По экспертным оценкам серверам баз данных принадлежит будущее.

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


Наши рекомендации