Файл: Определение и задачи распределенной системы (СУБД Oracle).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 04.04.2023

Просмотров: 475

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

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

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

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

    1. Проблемы ограниченности масштабируемости ПК

Еще одной важнейшей задачей при проектировании распределенных систем является ее масштабируемость. Главным недостатком централизованных систем всегда была ограниченность наращивания вычислительных мощностей системы. Распределенные системы позволили избежать этого недостатка. Выделяют три основных показателя масштабируемости [25] системы:


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

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

- масштабируемость управления. Если при росте общего количества узлов системы, администрирование системы не усложняется, то система считается масштабируемой в плане управления ресурсами. [29]

При решении задачи масштабируемости системы необходимо решить множество проблем. Стоит выделить основные проблемы масштабируемости распределенных систем:

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

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

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

- проблема ограниченности алгоритмов обработки данных. Необходимо использовать методы и алгоритмы сбора данных с узлов системы, которые минимально перегружают коммуникационную сеть. [29]

    1. Проблемы переносимости программного обеспечения

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


Особенно остро вопрос переносимости ПО встает в глобально распределенных системах, где в качестве узлов, зачастую, используют различное гетерогенное оборудование с различными операционными системами. Например, для объединения вычислительных машин в одну глобальную вычислительную GRID – сеть требуется написать клиентское приложение для каждого вычислительного узла, с учетом специфики его архитектуры и установленной ОС, что является сложной задачей. Постоянно растущие требования к увеличению мобильности программных продуктов, приводит к необходимости проведения исследований в данном направлении. Проблемам обеспечения кроссплатформенности программного обеспечения посвящено множество опубликованных научных работ, в которых показаны основные подходы и методы, позволяющие создавать переносимые приложения [29].

  1. Распределенные базы данных

Базы данных, их классификация и принципы организации

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

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

Модель данных − формализованное описание, отражающее типы данных, состав, и взаимосвязь между ними.

Почти все современные СУБД основаны на реляционной модели данных. Название «реляционная» связано с тем, что каждая запись в такой базе данных содержит информацию, относящуюся (related) только к одному объекту. Все данные в реляционной БД представлены в виде таблиц. Таблицы состоят из записей и полей. Записью называется каждая строка таблицы, которая содержит информацию только об одном объекте. Полем называется столбец таблицы, который содержит однотипную для всех записей информацию. [10]

База Данных – это механизм ввода, сохранения и выборки информации по различным параметрам. [15]

К современным базам данных, а, следовательно, и к СУБД, на которых они строятся, предъявляются следующие основные требования:

- высокое быстродействие (малое время отклика на запрос). Промежуток времени от момента запроса к БД до фактического получения данных называется временем отклика.


- обновление данных должно быть простым.

- данные должны быть независимы (возможность изменения логической и физической структуры БД без изменения представлений пользователей).

- совместное использование данных многими пользователями.

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

- стандартизация построения и эксплуатации БД (фактически СУБД).

- адекватность отображения данных соответствующей предметной области.

- интерфейс пользователя должен быть простым и понятным. [10]

Основные современные принципы организации баз данных:

- Значительная часть современных СУБД способна работать на компьютерах различной архитектуры под управлением разных операционных систем.

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

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

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

- Такие СУБД имеют развитые средства администрирования баз данных и средства защиты, хранимой в них информации.

- Подобные СУБД имеют средства подключения клиентских приложений.

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

Информационные системы, созданные средствами технологии баз данных, иногда принято называть банками данных. [3]

Банк данных включает в себя:

- технические средства;

- одну или несколько БД;

- СУБД;

- словарь или каталог данных;

- администратора;

- вычислительную систему;

- обслуживающий персонал.

По степени распределенности БД можно выделить:

1) централизованную БД – представляет собой единый информационный массив на одном или нескольких носителях в одной ЭВМ.

2) распределенную БД - представляет собой несколько пересекающихся или дублирующих друг друга частей, хранимых в различных ЭВМ вычислительной сети. Работа с такой базой осуществляется с помощью СУРБД. [8]


Архитектура «Клиент-Сервер»

Согласно парадигме клиент-серверной архитектуры, несколько клиентов и несколько серверов совместно с промежуточным программным обеспечением и средой взаимодействия образуют единую систему, обеспечивающую распределенные вычисления, анализ и представление данных. [19]

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

Так, архитектура «клиент – сервер» разделяет функции приложения пользователя (называемого клиентом) и сервера. Приложение клиент формирует запрос к серверу, на котором расположена БД, на структурном языке запросов SQL (Structured Query Language), являющемся промышленным стандартом в мире реляционных БД. Удаленный сервер принимает запрос и переадресует его SQL-серверу БД. [20]

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

Все это повышает быстродействие системы и снижает время ожидания результата запроса. При выполнении запросов сервером существенно повышается степень безопасности данных, поскольку правила целостности данных определяются в базе данных на сервере и являются едиными для всех приложений, использующих эту БД. Таким образом, исключается возможность определения противоречивых правил поддержания целостности. Мощный аппарат транзакций, поддерживаемый SQL-серверами, позволяет исключить одновременное изменение одних и тех же данных различными пользователями и предоставляет возможность откатов к первоначальным значениям при внесении в БД изменений, закончившихся аварийно.