Реферат по теме выпускной работы

Содержание

Введение

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

При этом большую роль в изменении и увеличении масштабов использования баз данных сыграла сеть Интернет, объединяющая на данный момент более 53% населения Земли, а это 4.1 млрд человек по всему миру и это число продолжает расти. Она выступает сегодня ведущим инструментом бизнеса, благодаря которому стало возможным получить новые возможности объединения Web-технологий и технологий баз данных [12].

1. Актуальность темы

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

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

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

2. Цель и задачи исследования, планируемые результаты

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

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

3. Обзор исследований и разработок

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

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

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

Распределённая база данных, именуемая в некоторых случаях распределенная/параллельная БД либо в английской аббревиатуре, DDB — это непосредственно целостная БД, а никак не произвольный набор файлов, отдельно расположенных на разных узлах сети и являющейся распределенной файловой системы (ФС). Данные представляют собою DDB только лишь в случае если они связаны в соответствии с определенным структурным формализмом, реляционной моделью, а доступ к ним обеспечивается общим высокоуровневым интерфейсом.

Распределённые базы могут обладать разным уровенем реплицированности — от полного отсутствия дублирования данных, до полного дублирования всех данных в абсолютно всех распределённых копиях (к примеру, блокчейн) [6].

Технология прозрачности: распределение (в том числе фрагментация и репликация) БД по многим узлам невидимо для пользователей. Данная особенность называется прозрачностью, а способ распределения и реплицирования данных по множеству ПЭВМ, связанных сетью, является основой для реализации концепции независимости данных от среды хранения. Это обеспечивается за счёт нескольких типов прозрачности:

3.1 Модель удалённого доступа к данным (Remote Data Access, RDA) в архитектуре «клиент-сервер»

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

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

Роль клиента – это взаимодействие с пользователем, предоставление дружественного интерфейса, формирование запроса, установление связи с сервером для отправки запроса и получения конечного результата (Рисунок. 3.1):

pic1
Рисунок 3.1 – Двухуровневая архитектура «клиент - сервер» базы данных

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

Так, например, один из наиболее известных программных инструментов Рhp My Admin является бесплатным СУБД-приложением с открытым исходным кодом. Программа считается стандартом у веб-мастеров, т.к. написана на PHP и подходит для управления БД My SQL и Maria DB через сеть Интернет благодаря обширному количеству возможных операций. Часто используемые операции (управление базами данных, таблицы, столбцы, отношения, индексы, пользователи, разрешения) могут выполняться через пользовательский интерфейс, в то время как все еще есть возможность напрямую выполнять любую инструкцию SQL [10].

Для понимания работы сервера, необходимо иметь представление о взаимодействии его компонентов, так на рисунке 3.2 показан вид логической архитектуры My SQL (Рhp My Admin).

pic1
Рисунок 3.2 – Логическая архитектура My SQL (Рhp My Admin)

3.2 Модель сервера баз данных (Data Base Server, DBS)

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

Как правило, третьим уровнем (звеном) в трехуровневой архитектуре становится сервер приложений, в таком случае элементы распределяются последующим способом (Рисунок 3.3):

  1. Представление информации — на стороне клиента.
  2. Прикладной компонент — на выделенном сервере приложений (как вариант, исполняющем функции промежуточного ПО).
  3. Управление ресурсами — на сервере БД, который и предоставляет запрашиваемые данные.
pic1
Рисунок 3.3 – Трехуровневая архитектура «клиент - сервер» базы данных

Таким образом, главная концепция архитектуры «клиент - сервер» заключается в разделении сетевого удаленного приложения на несколько частей, каждая из которых осуществляет индивидуальный набор сервисов. Элементы подобного рода приложения могут выполняться на разных ПЭВМ, выполняя серверные и (или) клиентские функции. Это дает возможность увеличить надежность, производительность и безопасность сетевых приложений и сети в целом [9].

3.3 Модель сервера приложений (Application Server – AS)

Прикладной компонент реализован как группа процессов, выполняющих прикладные функции, и называется сервером приложения (Application Server - AS) (Рисунок 3.4).

pic1
Рисунок 3.4 – Трехуровневая архитектура «клиент - сервер» базы данных

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

Модели RDA и DBS опираются на двухзвенную схему разделения функций:

В AS-модели реализована трехзвенная схема разделения функций. Здесь прикладной компонент выделен как важнейший изолированный элемент приложения. Сравнивая модели, AS обладает наибольшей гибкостью и имеет универсальный характер [11].

4. Определение инструментов разработки

Для реализации Web-ориентированной подсистемы была выбрана программная платформа Node так же известная как Node .js основанная на движке V.8 (транслирующем Java Script в машинный код), превращающая JavaScript из узкоспециализированного языка в язык общего назначения. Node .js добавляет такую возможность как взаимодействие Java Script с устройствами ввода - вывода через свой собственный API (написанный на C++), кроме этого он имеет возможность подключать различные внешние библиотеки, написанные на всех популярных языках, обеспечивая вызовы к ним из Java Script – кода (Рисунок 4.1).

pic1
Рисунок 4.1 – Создание локального сервера для временного размещения разрабатываемой HTML страницы в Node .js

Помимо этого он обладает рядом существенных преимуществ, полностью отвечающих поставленной задаче:

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

А именно, фреймворк Foundation – это отзывчивый интерфейс. Foundation предоставляет адаптивную сетку и компоненты HTML, CSS UI, шаблоны и фрагменты кода, включая типографику, формы, кнопки, навигацию и другие элементы интерфейса, а также дополнительные функции, предоставляемые расширениями Java Script.

Фреймворк Foundation пользуется наибольшей популярностью и чаще всего применяется при создании веб-сайтов. Это обусловлено удобством дальнейшей поддержки ресурса, в частности для случаев, когда требуется постоянно обновлять информацию, как в данном проекте с распределенной БД. Другими важными преимуществами являются:

Foundation в данном проекте буду использовать в основном в качестве css-фреймворка. Вместе с консольной утилитой foundation-cli, которая обеспечивает оптимальный интерфейс [7].

4.1 Программное обеспечение для обеспечения работы с удаленным сервером и базой данных

В зависимости от выбранного ПО будет зависеть работа на стороне сервера так как программное обеспечение является основой того как будет вестись разработка взаимодействия подсистемы непосредственно с БД и удаленным сервером (Рисунок 4.2).

pic1
Рисунок 4.2 – Архитектура взаимодействия пользователя

В частности за работу и обеспечение взаимосвязи Web – интерфейса подсистемы с сервером отвечают срипты написанные на PHP (англ. Hypertext Preprocessor).

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

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

Можно описать три основные области, где используется данный язык: создание скриптов для выполнения их на сервере, выполнение созданных скриптов в cmd (командной строке) и написание GUI приложений.

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

Так же стоит отметить что PHP доступен для большинства операционных систем, включая Linux, различные модификации Unix, Microsoft Windows и mac OS, RISCOS и многие другие. Еще в PHP включена поддержка большинства современных веб - серверов, таких как IIS, Apache и другие [2].

Само обеспечение работы с БД построено через FTP – сервер, на котором и располагаются написанные на PHP файлы скриптов (Рисунок 4.3).

pic1
Рисунок 4.3 – Расположение PHP файлов проекта скриптов приложения на FTP сервере

4.2 Реализация Web - интерфейса подсистемы

Реализации интерфейса пользователя в проекте осуществляется с помощью средств таких как HTML (анг. Hyper Text Markup Language — «язык гипертекстовой разметки») — стандартизированный язык разметки гипертекстовых документов и CSS (анг. Cascading Style Sheets — «каскадные таблицы стилей») – формальный язык описания внешнего вида документа, написанного с использованием языка разметки [5]. На рисунке 4.4 показана схема работы web-приложения.

pic1
Рисунок 4.4 – Схема работы web-приложения (анимация: 12 кадров, циклов повторения: 8, 140 килобайт)

4.3 Программное обеспечение для работы с базой данных

My SQL (реляционная система управления баз данных) была выбрана в качестве используемой в данном проекте на основании анализа а так же в основном исходя из того что она поддерживает удобный и простой в использовании графический интерфейс совместимый практически любым сервером - php My Admin (Рисунок 4.5) [1].

pic1
Рисунок 4.5 – Стартовая страница интерфейса php MyAdmin

Подключение к базе данных в PHP таким образом осуществляется с помощью кода показанного на рисунке 4.6..

pic1
Рисунок 4.6 – PHP скрипт реализующий подключение к My SQL

Выводы

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

Определена наиболее эффективная с точки зрения снижения времени поиска информации модель доступа.

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

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

Список источников