Распределенная обработка данных
При использовании сетевых информационных технологий становится возможной реализация территориального распределения производства. При этом расстояние становится вторичным, поскольку проявляются другие проблемы, в частности, межконтинентальное снабжение, поясное время и т.д., поскольку становится возможным планетарное распределение промышленного производства. Это обусловливает эффективность деятельности транснациональных компаний, реализующих товарный экспорт внутри фирмы. При этом метрополия, вложив 5—7% от суммы оборота в экономику другой страны, получает возможность контролировать 50—60% ее экономики. Объясняется это тем, что за счет вложения наукоемких технологий страна-метрополия получает возможность оказывать влияние и даже осуществлять контроль за экономическим и политическим развитием другой страны. Это становится возможным благодаря новейшим сетевым технологиям и развитию коммуникаций. Одной из важнейших сетевых технологий является распределенная обработка данных. Персональные компьютеры стоят на рабочих местах, т.е. на местах возникновения и использования информации. Они соединены каналами связи. Это дало возможность распределить их ресурсы по отдельным функциональным сферам деятельности и изменить технологию обработки данных в направлении децентрализации. Распределенная обработка данных позволила повысить эффективность удовлетворения изменяющейся информационной потребности информационного работника и тем самым обеспечить гибкость принимаемых им решений. Преимущества распределенной обработки данных: большое число взаимодействующих пользователей, выполняющих функции сбора, регистрации, хранения, передачи и выдачи информации; снятие пиковых нагрузок с централизованной базы путем распределения обработки и хранения локальных баз данных на разных компьютерах; обеспечение доступа информационному работнику к вычислительным ресурсам сети; обеспечение симметричного обмена данными между удаленными пользователями. Формализация концептуальной схемы данных повлекла за собой возможность классификации моделей представления данных на иерархические, сетевые и реляционные. Это отразилось в понятии архитектуры систем управления базами данных и технологии обработки. Архитектура СУБД описывает ее функционирование как взаимодействие процессов двух типов клиента и сервера. Распределенная обработка и распределенная база данных — не синонимы. Если при распределенной обработке производится работа с базой, то подразумевается, что представление данных, их содержательная обработка, работа с базой на логическом уровне выполняются на персональном компьютере клиента, а поддержание базы в актуальном состоянии — на файл-сервере. В случае распределенной базы данных она размещается на нескольких серверах. Работа с ней осуществляется на тех же персональных компьютерах или на других, и для доступа к удаленным данным надо использовать сетевую СУБД. В системе распределенной обработки клиент может послать запрос к собственной локальной базе или удаленной. Удаленный запрос — это единичный запрос к одному серверу. Несколько удаленных запросов к одному серверу объединяются в удаленную транзакцию. Если отдельные запросы транзакции обрабатываются различными серверами, то транзакция называется распределенной. При этом один запрос транзакции обрабатывается одним сервером. Распределенная СУБД позволяет обрабатывать один запрос несколькими серверами. Такой запрос называется распределенным. Только обработка распределенного запроса поддерживает концепцию распределенной базы данных. Базы данных могут содержать информацию, касающуюся самых разнообразных сфер деятельности человека: финансовой, научно-технической, кредитной, статистической, правительственных распоряжений, патентной информации, библиографической и т.д. Организация обработки данных зависит от способа распределения. Существуют следующие методы распределения: централизованный, расчлененный, дублирования, смешанный. Централизованный, или метод извлечения данных вручную,является самым простым для реализации способом. На одном сервере находится единственная копия базы данных. Все операции с базой данных обеспечиваются этим сервером. Доступ к данным выполняется с помощью удаленного запроса или удаленной транзакции. Достоинством такого способа является легкая поддержка базы данных в актуальном состоянии. Недостатком является то, что размер базы ограничен размером внешней памяти, все запросы направляются к единственному серверу с соответствующими затратами на стоимость связи и временную задержку. Следствием является ограничение на параллельную обработку. База может быть недоступной для удаленных пользователей при появлении ошибок связи и полностью выходит из строя при отказе центрального сервера. При распределении данных на основе расчленения база данных размещается на нескольких серверах. Существование копий отдельных частей недопустимо. Достоинства: увеличивается объем базы данных большинство запросов удовлетворяется локальными базами, что сокращает время ответа, увеличиваются доступность и надежность, стоимость запросов на выборку и обновление снижается по сравнению с централизованным распределением, если выйдет из строя один сервер, система останется частично работоспособной. Недостатки: часть удаленных запросов или транзакций могут потребовать доступ ко всем серверам, что увеличивает время ожидания и цену; необходимо иметь сведения о размещении данных в БД. Однако доступность и надежность увеличиваются. Расчлененные базы данных наиболее подходят к случаю совместного использования локальных и глобальных сетей ЭВМ. При использовании метода дублирования в каждом сервере сети размещается полная база данных. Этот метод дает наиболее надежный способ хранения данных. Недостатки: повышенные требования к объему внешней памяти, усложнение корректировки баз, так как требуется синхронизация с целью согласования копий. Достоинства: все запросы выполняются локально, что обеспечивает быстрый доступ. Этот метод используется, когда фактор надежности является критическим, база небольшой, а интенсивность обновления невелика. В методе смешанного распределения объединены два способа распределения данных: дублирование и расчленение. При этом сохранились как преимущества, так и недостатки обоих способов. Появилась необходимость хранить информацию о том, где находятся данные в сети. Главное преимущество — гибкость этой системы, так как можно установить компромисс между объемом памяти под базу в целом и под базу в каждом сервере, чтобы обеспечить надежность и эффективность работы. В этой стратегии легко реализуется параллельная обработка, т.е. обслуживание распределенного запроса или транзакции. Недостатки: остается проблема взаимозависимости факторов, влияющих на производительность системы, ее надежность, повышаются требования к памяти. Смешанную стратегию используют при наличии сетевой СУБД, которая обеспечивает реализацию распределенной базы данных. Первые три метода поддерживают распределенную обработку данных. В распределенных базах данных центральным технологическим звеном становятся серверы баз данных. Программные средства серверов баз данных обеспечивают реализацию многопользовательских систем, централизованное хранение, поиск и обработку, целостность и безопасность данных. Производительность серверов баз данных на порядок выше производительности файл-серверов. В отличие от файл-сервера сервер базы данных содержит и базу, и систему управления данными. Сетевые СУБД, основанные на файл-сервере, в настоящее время недостаточно мощны. В нагруженной сети неизбежно падает производительность, нарушается безопасность и целостность данных. Проблема производительности возникла потому, что файл-серверы реализуют принцип «все или ничего». Полные копии файлов базы перемещаются взад-вперед по сети. Проблемы с безопасностью, целостностью возникли из-за того, что с самого начала файл-серверы не были сконструированы с учетом целостности данных и их восстановления в случае аварии. Технология «клиент-сервер», заменившая технологию «файл-сервер», является более мощной, так как позволяет совместить достоинства однопользовательских систем (высокий уровень диалоговой поддержки, дружественный интерфейс, низкая цена) с достоинствами более крупных компьютерных систем (поддержка целостности, защита данных, многозадачность). Она за счет распределения обработки сообщения между многими рабочими станциями повышает производительность, позволяет пользователям электронной почты распределять работу над документами, обеспечивает доступ к более совершенным доскам объявлений и конференциям. В классическом понимании СУБД представляет собой набор программ, позволяющих создавать и поддерживать базу данных в актуальном состоянии. С функциональной точки зрения СУБД состоит из трех частей: ядра базы данных, языка и инструментальных средств программирования. Инструментальные средства программирования относятся к интерфейсу клиента, или внешнему интерфейсу. Они могут включать процессор обработки данных на языке запросов. Наиболее употребительными языками являются SQL и QBE. Язык — это совокупность процедурных и непроцедурных команд, поддерживаемых СУБД. В последнее время наблюдается тенденция применения объектно-ориентированных языков (Visual Objects — VO) для разработки приложений с использованием СУБД. Например, такие известные СУБД, как FoxPro, Clipper, Dbase, расширены визуальными редакторами. Основная идея технологии «клиент-сервер» заключается в том, чтобы расположить серверы на мощных машинах, а приложения клиентов, использующих язык инструментальных средств, — на менее мощных машинах. Тем самым будут задействованы ресурсы более мощного сервера и менее мощных машин клиентов. Ввод-вывод к базе основан не на физическом дроблении данных, а на логическом, т.е. клиентам отправляется не полная копия базы, а сервер посылает только логически необходимые порции, тем самым сокращая трафик сети, представляющий собой поток ее сообщений. В технологии «клиент-сервер» программы клиента и его запросы хранятся отдельно от СУБД. Сервер обрабатывает запросы клиентов, выбирает необходимые данные из базы данных, посылает их клиентам по сети, производит обновление информации, обеспечивает целостность и сохранность данных. Рассмотрим основные виды технологии «клиент-сервер». 1. Технология ориентирована на автономный компьютер, т.е. и клиент, и сервер размещены на одной ЭВМ. По функциональным возможностям такая система аналогична централизованной СУБД. Ни распределенная обработка, ни распределенная обработка СУБД не поддерживаются. 2. Технология ориентирована на централизованное распределение. Клиент получает доступ к данным одиночного удаленного сервера. Данные могут только считываться. Динамический доступ к данным реализуется посредством удаленных транзакций и запросов. Их число должно быть невелико, чтобы снизилась производительность системы. 3. Технология ориентирована на локальную вычислительную сеть. Единственный сервер обеспечивает доступ к базе. Клиент формирует процесс, отвечающий за содержательную обработку данных, их представление и логический доступ к базе. Доступ к базе данных замедлен, так как клиент и сервер связаны через локальную сеть. 4. Технология ориентирована на изменения данных в одном месте. Реализуется обработка распределенной транзакции. Удаленные серверы не связаны между собой сетью ЭВМ, т.е. отсутствует сервер-координатор. Клиент может изменять данные только в своей локальной базе. Возникает опасность «смертельных объятий», т.е. ситуация, когда задача А ждет записи, заблокированные задачей В, а задача В ждет записи, заблокированные задачей А. Поэтому распределенная СУБД должна иметь средство контроля совпадений противоречивых запросов. Распределение данных реализует метод расчленения. 5. Технология ориентирована на изменение данных в нескольких местах. В отличие от предыдущей технологии, здесь имеется сервер-координатор, поддерживающий протокол передачи данных между различными серверами. Возможна обработка распределенных транзакций в разных удаленных серверах. Это создает предпосылки разработки распределенной СУБД. Реализуется стратегия смешанного распределения путем передачи копий с помощью сетевой СУБД. 6. Технология ориентирована на сетевую СУБД. Обеспечивает стратегию расчленения и дублирования. Позволяет получить более быстрый доступ к данным. Распределенная СУБД обеспечивает независимость клиента от места размещения сервера, глобальную оптимизацию, распределенный контроль целостности базы, распределенное административное управление. Представленные технологии основаны на двух способах связи прикладных программ клиента и сервера баз данных: прямом и непрямом. В первом случае прикладная программа клиента связывается непосредственно с сервером базы данных. При непрямом соединении доступ к удаленному серверу обеспечивается средствами локальной базы. Возможно объединение обоих способов. Использование технологии «клиент-сервер» позволяет перенести часть работы с сервера баз данных на ЭВМ клиента, оснащенную инструментальными средствами для выполнения его профессиональных обязанностей. Тем самым технология позволяет независимо наращивать возможности сервера баз данных и инструментальные средства клиента. Недостаток ее заключается в повышении требований к производительности ЭВМ-сервера, в усложнении управления вычислительной сетью, кроме того, при отсутствии сетевой СУБД трудно организовать распределенную обработку. При организации работы с распределенными ресурсами большое значение имеет платформа сервера. Под ней понимаются возможности операционной системы компьютера и сетевой операционной системы. В настоящее время распространены операционные системы Xenix, Unix, Linux, Windows XP и другие. Наиболее популярными серверами являются Microsoft SQL-server, Sqlbase-server, Oracle-server и др. По экспертным оценкам серверам баз данных принадлежит будущее. Серверы баз данных рассчитаны на поддержку большого числа различных типов приложений. Для реализации интерфейса с сервером базы данных можно использовать объектно-ориентированные средства, электронные таблицы, текстовые процессоры, графические пакеты, настольные издательства и др. информационные технологии. Такие системы являются основой для создания информационных хранилищ.
|