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

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

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

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

Добавлен: 04.04.2023

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

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

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

ВВЕДЕНИЕ

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

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

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

Работа с базами данных обязательно сопровождается:

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

- средствами удобного, а главное, быстрого поиска нужной информации;

- средствами формирования отчетности любой сложности;

- возможностью работы через системы удаленного доступа;

- высокой производительностью.

Объектом исследования курсовой работы являются распределенные системы обработки данных, а предметом исследования – определение и задачи распределенных систем обработки данных.

Целью курсовой работы является изучение распределенных систем обработки данных на примере среды разработки ORACLE и MS SQL Server.

Для достижения поставленной цели в курсовой работе необходимо решить следующие задачи:

1) дать определения основным понятиям – информации, данным, баз данных, системам управления базами данных, распределенная система;

2) рассмотреть требования к распределенным системам обработки данных;

3) рассмотреть проблемы эксплуатации распределенных систем обработки данных;

4) изучить примеры распределенных систем;

5) изучить основные принципы организации современных систем управления базами данных и особенности систем управления базами данных на основе ORACLE и MS SQL SERVER.

При написании курсовой работы использовались научные труды следующих авторов: Ананченко И. В [1], Белоусова С. [2], Бураков П.В. [3], Бурков А. [4], Бурцева Е.В.[5] и другие.


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

1.1 Основные понятия

Одним из важнейших понятий в области обработки данных является понятие информации. Информацией мы называем любые сведения о каком-либо событии, процессе, объекте. Наряду с понятием «информация», принято употреблять понятие «данные».

С понятием "информация" тесно связано понятие "информационные ресурсы". Информационные ресурсы – это совокупность данных, представляющих ценность для организации (предприятия) и выступающих в качестве материальных ресурсов. [5]

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

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

Информационная система представляет собой хранилище информации, снабженное процедурами ввода, поиска, размещения и выдачи информации. Главной особенностью информационных систем и является наличие этих процедур. [17]

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

В наиболее общем случае типовые программные компоненты, входящие в состав информационной системы, включают:

• диалоговый ввод-вывод;

• логику диалога;

• прикладную логику обработки данных;

• логику управления данными;

• операции манипулирования файлами и (или) базами данных.

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

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


В этом определении можно выделить два момента. Первый относится к аппаратуре: все машины автономны. Второй касается программного обеспечения: пользователи считают, что работают с единой системой. [6]

Стоит рассмотреть некоторые базовые вопросы, касающиеся как аппаратного, так и программного обеспечения.

Характеристики распределенных систем:

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

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

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

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

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

1.2 Цели построения распределенных систем

За последние годы распределенные системы становились все более популярными и их роль только возрастала. Стоит выделить несколько основных причин роста их значимости:

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


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

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

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

1.3 Требования к распределенным системам

Стоит выделить некоторый набор требований, которым должна удовлетворять распределенная информационная система:


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

2. Масштабируемость. Существует несколько аспектов масштабируемости вычислительных систем. Но самым важным является необходимость увеличения производительности распределенной системы за счет добавления новых компьютеров в систему, что связано с понятием балансировки нагрузки (load balancing) на серверы системы. К масштабированию относятся так же вопросы эффективного распределения ресурсов сервера, обслуживающего запросы клиентов.

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

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

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

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