Реферат по теме выпускной работы
Содержание
- Введение
- 1. Актуальность темы
- 2. Цель и задачи исследования, планируемые результаты
- 3. Обзор исследований и разработок
- 3.1 Обзор модели удалённого доступа к данным (Remote Data Access, RDA) в архитектуре «клиент-сервер»
- 3.2 Обзор модели сервера баз данных (Data Base Server, DBS)
- 3.3 Обзор модели сервера приложений (Application Server, AS)
- 4. Определение инструментов разработки
- 4.1 Программное обеспечение для обеспечения работы с удаленным сервером и базой данных
- 4.2 Реализация Web - интерфейса подсистемы
- 4.3 Программное обеспечение для работы с базой данных
- Выводы
- Список источников
Введение
В современном мире любая деятельность требует больших объемов информации, а поэтому есть потребность в средствах, которые обеспечивают эффективную, быструю и интуитивно понятную работу с ней. С этой целью широко используют базы данных на разного рода предприятиях и учреждениях. Анализ рабочего процесса среднестатистического предприятия показал, что каждая организация обладает развитой системой документооборота, работу с которой должно обеспечивать современное, надежное и интуитивно понятное программное обеспечение.
При этом большую роль в изменении и увеличении масштабов использования баз данных сыграла сеть Интернет, объединяющая на данный момент более 53% населения Земли, а это 4.1 млрд человек по всему миру и это число продолжает расти. Она выступает сегодня ведущим инструментом бизнеса, благодаря которому стало возможным получить новые возможности объединения Web-технологий и технологий баз данных [12].
1. Актуальность темы
Глобальное внедрение и становление сетевых технологий, склонность к разделению вычислительных ресурсов накладывает свой отпечаток на принципы построения базы данных (БД). Использование сетевых технологий позволило значительно распространить информационные системы, увеличить число пользователей и обеспечить целостность в рамках каждой системы.
Технология распределенных баз данных, получившая в настоящее время широкое распространение, способствует обратному переходу от централизованной обработки данных к децентрализованной.
Различные модели доступа по разному сказываются на аппаратную нагрузку, а вследствие, и на скорость работы с распределенными БД, что влечет за собой увеличение времени обработки и последующего выполнения поисковых запросов.
2. Цель и задачи исследования, планируемые результаты
Целью магистерской работы является исследование и разработка моделей доступа к распределенным базам данных для снижения времени поиска информации.
Для достижения поставленной цели, необходимо решить следующие задачи:
- провести анализ различных существующих вариантов моделей доступа к распределенным базам данных;
- определить наиболее эффективную с точки зрения снижения времени поиска информации модель доступа;
- по результатам работы разработать подсистему/приложение реализующую модель доступа к распределенным БД для снижения времени поиска информации.
3. Обзор исследований и разработок
В настоящее время существует два класса БД: настольные и серверные. Работа с небольшой базой данных, расположенной на ПЭВМ, не подключенной к локальной сети (настольный вариант БД), становится уже нехарактерным для настоящего времени.
Компьютеры объединяются в локальные сети. Даже если разрабатывается БД для небольшой фирмы, всегда есть территориально-удаленные специфичные пользователи.
Распределенная база данных (англ. distributed database) состоит из составных частей, размещенных на отдельных узлах сети в соответствии с каким-либо критерием.
Распределённая база данных, именуемая в некоторых случаях распределенная/параллельная БД либо в английской аббревиатуре, DDB — это непосредственно целостная БД, а никак не произвольный набор файлов, отдельно расположенных на разных узлах сети и являющейся распределенной файловой системы (ФС). Данные представляют собою DDB только лишь в случае если они связаны в соответствии с определенным структурным формализмом, реляционной моделью, а доступ к ним обеспечивается общим высокоуровневым интерфейсом.
Распределённые базы могут обладать разным уровенем реплицированности — от полного отсутствия дублирования данных, до полного дублирования всех данных в абсолютно всех распределённых копиях (к примеру, блокчейн) [6].
Технология прозрачности: распределение (в том числе фрагментация и репликация) БД по многим узлам невидимо для пользователей. Данная особенность называется прозрачностью, а способ распределения и реплицирования данных по множеству ПЭВМ, связанных сетью, является основой для реализации концепции независимости данных от среды хранения. Это обеспечивается за счёт нескольких типов прозрачности:
- прозрачность сети, а таким образом, прозрачность распределения;
- прозрачность репликации;
- прозрачность фрагментации;
- прозрачность доступа, обозначающая, то что пользователи имеют дело с единым логическим образом базы данных и реализовывают доступ к распределенным данным точно так же, как в случае если бы они хранились централизованно.
3.1 Модель удалённого доступа к данным (Remote Data Access, RDA) в архитектуре «клиент-сервер»
Вычисления и обработка данных в этом случае происходят на сервере, где располагается и сама БД. Обычно Web-ориентированные приложения являются примером следующего шага в развитии администрирования баз данных – создания архитектуры типа «клиент-сервер».
Это всегда влечет за собой потребность в увеличении мощности сервера, чтобы выполнялись главные достоинства данного типа архитектуры:
- снижение нагрузки на сеть путем передачи только части информации, нужной пользователю, а не целой базы данных;
- уменьшение времени ожидания за счет оптимизации запроса SQL-сервером;
- более высокая степень защищенности информации благодаря тому, что контроль целостности данных происходит на сервере и един для всех пользователей.
Роль клиента – это взаимодействие с пользователем, предоставление дружественного интерфейса, формирование запроса, установление связи с сервером для отправки запроса и получения конечного результата (Рисунок. 3.1):
Отличительная особенность а так же главное достоинство такого типа приложений – независимость от платформы. Это означает что пользователь может получить доступ к данным, используя любую операционную систему, так как для отрисовки пользовательского интерфейса требуется только какой-либо браузер, который, как правило, уже установлен по умолчанию.
Так, например, один из наиболее известных программных инструментов Рhp My Admin является бесплатным СУБД-приложением с открытым исходным кодом. Программа считается стандартом у веб-мастеров, т.к. написана на PHP и подходит для управления БД My SQL и Maria DB через сеть Интернет благодаря обширному количеству возможных операций. Часто используемые операции (управление базами данных, таблицы, столбцы, отношения, индексы, пользователи, разрешения) могут выполняться через пользовательский интерфейс, в то время как все еще есть возможность напрямую выполнять любую инструкцию SQL [10].
Для понимания работы сервера, необходимо иметь представление о взаимодействии его компонентов, так на рисунке 3.2 показан вид логической архитектуры My SQL (Рhp My Admin).
3.2 Модель сервера баз данных (Data Base Server, DBS)
Ещё одно направление в клиент-серверных технологиях сопряжено со всё большим применением распределенных вычислений. Они реализуются на базе сервера модели приложений, в котором сетевое программное обеспечение (ПО) разделено на две части и более, любая из которых способна выполняться на отдельном компьютере. Выделенные части приложения осуществляют взаимодействие друг с другом, обмениваясь при этом сообщениями в предварительно установленном формате. В данном случае двухуровневая клиент-серверная архитектура становится трехуровневой.
Как правило, третьим уровнем (звеном) в трехуровневой архитектуре становится сервер приложений, в таком случае элементы распределяются последующим способом (Рисунок 3.3):
- Представление информации — на стороне клиента.
- Прикладной компонент — на выделенном сервере приложений (как вариант, исполняющем функции промежуточного ПО).
- Управление ресурсами — на сервере БД, который и предоставляет запрашиваемые данные.
Таким образом, главная концепция архитектуры «клиент - сервер» заключается в разделении сетевого удаленного приложения на несколько частей, каждая из которых осуществляет индивидуальный набор сервисов. Элементы подобного рода приложения могут выполняться на разных ПЭВМ, выполняя серверные и (или) клиентские функции. Это дает возможность увеличить надежность, производительность и безопасность сетевых приложений и сети в целом [9].
3.3 Модель сервера приложений (Application Server – AS)
Прикладной компонент реализован как группа процессов, выполняющих прикладные функции, и называется сервером приложения (Application Server - AS) (Рисунок 3.4).
Доступ к информационным ресурсам осуществляет менеджер ресурсов (например, SQL-сервер). Из прикладных компонентов доступны такие ресурсы как, базы данных, очереди, почтовые службы и др. AS, размещенная на компьютере, где функционирует менеджер ресурсов, избавляет от необходимости направления SQL-запросов по сети, что повышает производительность системы.
Модели RDA и DBS опираются на двухзвенную схему разделения функций:
- в 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).
Помимо этого он обладает рядом существенных преимуществ, полностью отвечающих поставленной задаче:
- подходит для создания разных типов приложений (веб-приложения, настольные приложения, игры, скрипты по автоматизации, комплексные системы расчёта);
- обширная стандартная библиотека языка и большой выбор сторонних библиотек;
- простота и лаконичность кода делает легче дальнейшее сопровождение программ, написанных на Python, например, по сравнению с Java или C++;
- Python выполняет код быстрее за счет значительной части стандартной библиотеки, написанной на Си, в отличие от других языков программирования с динамической типизацией (PHP, Ruby, JavaScript);
- на большинстве операционных систем Linux и на любой современной macOS уже есть предустановленный Python;
- низкий порог вхождения, простота в освоении и применении.
Для оптимизации и ускорения разработки подсистемы был использован фреймворк – специальная программная платформа, которая позволяет связывать множество компонентов программного обеспечения для удобства работы.
А именно, фреймворк Foundation – это отзывчивый интерфейс. Foundation предоставляет адаптивную сетку и компоненты HTML, CSS UI, шаблоны и фрагменты кода, включая типографику, формы, кнопки, навигацию и другие элементы интерфейса, а также дополнительные функции, предоставляемые расширениями Java Script.
Фреймворк Foundation пользуется наибольшей популярностью и чаще всего применяется при создании веб-сайтов. Это обусловлено удобством дальнейшей поддержки ресурса, в частности для случаев, когда требуется постоянно обновлять информацию, как в данном проекте с распределенной БД. Другими важными преимуществами являются:
- высокая скорость разработки;
- наличие множества дополнительных компонентов, так называемых приложений, упрощающих разработку и предоставляющих более обширный функционал;
- возможность повторного использования уже созданных ранее модулей, за счет использования моделей и представлений;
- поддерживает работу с основными базами данных — My SQL, Postgre SQL и Oracle;
- удобство в применении шаблона проектирования MVC (Model-View-Controller);
- наличие механизмов, облегчающих модульное тестирование.
Foundation в данном проекте буду использовать в основном в качестве css-фреймворка. Вместе с консольной утилитой foundation-cli, которая обеспечивает оптимальный интерфейс [7].
4.1 Программное обеспечение для обеспечения работы с удаленным сервером и базой данных
В зависимости от выбранного ПО будет зависеть работа на стороне сервера так как программное обеспечение является основой того как будет вестись разработка взаимодействия подсистемы непосредственно с БД и удаленным сервером (Рисунок 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).
4.2 Реализация Web - интерфейса подсистемы
Реализации интерфейса пользователя в проекте осуществляется с помощью средств таких как HTML (анг. Hyper Text Markup Language — «язык гипертекстовой разметки») — стандартизированный язык разметки гипертекстовых документов и CSS (анг. Cascading Style Sheets — «каскадные таблицы стилей») – формальный язык описания внешнего вида документа, написанного с использованием языка разметки [5]. На рисунке 4.4 показана схема работы web-приложения.
4.3 Программное обеспечение для работы с базой данных
My SQL (реляционная система управления баз данных) была выбрана в качестве используемой в данном проекте на основании анализа а так же в основном исходя из того что она поддерживает удобный и простой в использовании графический интерфейс совместимый практически любым сервером - php My Admin (Рисунок 4.5) [1].
Подключение к базе данных в PHP таким образом осуществляется с помощью кода показанного на рисунке 4.6..
Выводы
На данном этапе выполнения магистерской работы был проведен анализ различных существующих вариантов моделей доступа к распределенным базам данных.
Определена наиболее эффективная с точки зрения снижения времени поиска информации модель доступа.
Были определены инструменты разработки и принцип создания приложения реализующую модель доступа к распределенным БД для снижения времени поиска информации.
В дальнейшем планируетя непосредственная реализация модели доступа для снижения времени поиска информации в распределенной базе данных.
Список источников
- PhpMyAdmin [Электронный ресурс]. – Режим доступа: Ссылка
- Врана Джейкоб. Database management in a single PHP file [Электронный ресурс]. – Режим доступа: Ссылка
- RazorSQL [Электронный ресурс]. – Режим доступа: Ссылка
- SQLABS [Электронный ресурс]. – Режим доступа: Ссылка
- Тульчинский Антон. Создание Web-интерфейса для систем, использующих БД [Электронный ресурс]. – Режим доступа: Ссылка
- Турова Виктория. Метаданные(Metadata) - Базы данных: основные понятия [Электронный ресурс]. – Режим доступа: Ссылка
- Все о PHP, MySQL и не только! [Электронный ресурс]. – Режим доступа: Ссылка
- ПОРТФОЛИО БД Щевелёв Д.В. [Электронный ресурс]. – Режим доступа: Ссылка
- Национальный открытый университет. Лекция 10: Распределенная обработка данных [Электронный ресурс]. – Режим доступа: Ссылка
- Архитектура моделей удалённого доступа. Туполева А.Н.[Электронный ресурс]. – Режим доступа: Ссылка
- Интернет лекции. Распределенные БД. [Электронный ресурс]. – Режим доступа: Ссылка
- Базы данных. Малев В.В. [Электронный ресурс]. – Режим доступа: Ссылка