Проблемы параллельной работы транзакций

Каким образом транзакции различных пользователей могут мешать друг другу? Различают три основные проблемы параллелизма:

· Проблема потери результатов обновления.

· Проблема незафиксированной зависимости (чтение "грязных" данных, неаккуратное считывание).

· Проблема несовместимого анализа.

Рассмотрим подробно эти проблемы.

Рассмотрим две транзакции, A и B, запускающиеся в соответствии с некоторыми графиками. Пусть транзакции работают с некоторыми объектами базы данных, например со строками таблицы. Операцию чтение строки Проблемы параллельной работы транзакций - student2.ru будем обозначать Проблемы параллельной работы транзакций - student2.ru , где Проблемы параллельной работы транзакций - student2.ru - прочитанное значение. Операцию записи значения Проблемы параллельной работы транзакций - student2.ru в строку Проблемы параллельной работы транзакций - student2.ru будем обозначать Проблемы параллельной работы транзакций - student2.ru .

44. Распределённая обработка данных.

 

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

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

Преимущества распределенной обработки данных:

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

§ снятие пиковых нагрузок с централизованной базы путем распределения обработки и хранения локальных баз данных на разных ЭВМ;

§ обеспечение доступа каждого работника к вычислительным ресурсам сети ЭВМ;

§ обеспечение симметричного обмена данными между удаленными пользователями.

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

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

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

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

Проблемы параллельной работы транзакций - student2.ru

Децентрализованная организация данных предполагает разбиение информационной базы на несколько физически распределенных. Каждый клиент пользуется своей базой данных, которая может быть либо частью общей информационной базы (рис. 3.3), либо копией информационной базы в целом (рис. 3.4), что приводит к ее дублированию для каждого клиента.

Проблемы параллельной работы транзакций - student2.ru

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

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

Проблемы параллельной работы транзакций - student2.ru

Возможна и смешанная организация хранения данных, которая объединяет два способа распределения: разбиение и дублирование (рис. 3.5), приобретая при этом и преимущества, и недостатки обоих способов.

Проблемы параллельной работы транзакций - student2.ru

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

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

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

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

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

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

· увеличении числа взаимодействующих пользователей, выполняющих функ­ ции сбора, обработки, хранения, передачи информации;

· снятии пиковых нагрузок с централизованной базы путём распределения обработки и хранения локальных баз данных на разных компьютеров;

· обеспечении доступа информационному работнику к вычислительным ре­ сурсам сети компьютеров;

· обеспечении симметричного обмена данными между удаленными пользова­ телями.

Формализация концептуальной схемы данных повлекла за собой возмож­ность классификации моделей представления данных на иерархические, се­тевые и реляционные.

Это отразилось в понятии архитектуры систем управления базами данных (СУБД) и технологии обработки. Архитектура СУБД описывает её функцио­нирование как взаимодействие процессов двух типов: клиента и сервера.

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

Распределённая база данных размещается на нескольких серверах. Для дос­тупа к удалённым данным надо использовать сетевую СУБД. В системе рас­пределённой обработки клиент может послать запрос к собственной локаль­ной базе или удалённой.

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

Существуют разные технологии распределённой обработки данных.

Первой технологией распределённой обработки данных была технология файл-сервер. По запросу клиента файл - сервер пересылает весь файл. Цело­стность и безопасность данных не обеспечивается. Файл - сервер содержит базу данных и файловую систему для обеспечения многопользовательских запросов.

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

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

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

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

Ввод-вывод к базе основан не на физическом дроблении данных, а на логи­ческом, т.е. клиентам отправляется не полная копия базы, а логически необ­ходимые порции, тем самым сокращается трафик сети.

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

Платформу сервера баз данных определяют операционная система компью­тера клиента и сетевая операционная система. Каждый сервер баз данных может работать на определённом типе компьютера и сетевой операционной системе. Операционные системы серверов - это Unix,Windows NT, Linux и др. В настоящее время наиболее популярными являются Microsoft SQL-server, SQLbase-server, Oracle-server и др.

Совмещение гипертекстовой технологии с технологией реляционных баз данных позволило создать распределённые гипертекстовые базы данных. Разрабатываются гипертекстовые модели внутренней структуры базы дан­ных и размещения баз данных на серверах. Гипертекстовые базы данных со­держат гипертекстовые документы и обеспечивают самый быстрый доступ к удалённым данным. Гипертекстовые документы могут быть текстовыми, цифровыми, графическими, аудио и видео файлами. Тем самым создаются распределённые мультимедийные базы.

Гипертекстовые базы данных созданы по многим сферам человеческой дея­тельности. Практически ко всем обеспечивается доступ через Интернет. При­мерами гипертекстовых баз данных являются правовые системы: Гарант, Юсис, Консультант + и др.

Рост объёмов распределённых баз данных выявил следующие проблемы их использования:

· управление распределёнными системами очень сложное, и инструментов для него катастрофически не хватает;

· сложные распределённые решения обходятся дороже, чем планировалось;

· производительность многих приложений в распределённых системах не­ достаточна;

· усложнилось решение проблем безопасности данных.

Решением этих проблем становится использование больших компьютеров, называемых мэйнфреймами.Мейнфреймы являются основой для создания информационных хранилищ.

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