1. DMSaaS
Анализ данных как услуга
Выполнил студент 2 курса магистратуры
Математического факультета
464 группы
Нуждин Павел Вячеславович
Научный руководитель:
к.ф.м.н. Жилин С.И.
2. Определение проблемы
● Исследователи в различных областях
используют методы анализа данных.
● Для решения некоторых задач необходимо:
– обработать большой объем данных;
– выполнить большой объем вычислений.
● Существуют алгоритмы, которые могут быть
эффективно распараллелены. Y =b0 b1 X 1b 2 X 2...b N X N
M
● Как правило, у исследователя есть список ∑k =1 Y k −Y k 2 min
задач, некоторые из которых могут быть
решены параллельно.
● Многие исследователи не готовы решать
возникающие специфические проблемы.
2
3. Инструменты для анализа данных
● Cуществуют инструменты, реализующее методы анализа данных (R
Project, Weka, JHepWork, Matlab, Orange, Apache Mahout);
● Среди инструментов для анализа данных можно найти инструменты с
графическим интерфейсом;
● Особое место занимают инструменты, в которых задачи
представлены в виде потока данных dataflow (Knime, RapidMiner,
Taverna).
матрица
чтение
данных A
C
С = AB
B
матрица
чтение
данных
3
4. Облачные вычисления
Технология распределенной обработки данных, в которой которой
компьютерные ресурсы представляются как Интернет-сервис:
IaaS Infrastructure-as-a-Service
PaaS Platform-as-a-Service
SaaS Software-as-a-Service
4
5. Требования к сервису
для анализа данных
Сервис с графическим интерфейсом для решения задач анализа
данных в виде потоковых сценариев должен позволять:
● управлять наборами данных;
● управлять потоковыми сценариями;
● выполнять потоковый сценарий и получать результаты решения задач;
● импортировать и экспортировать данные в стандартные форматы;
● визуализировать данные и результаты решения задач сценария;
● организовывать групповую работу с разделением прав.
Задачи сценариев могут быть с:
● последовательной реализацией;
● распределенной реализацией в моделях: передача сообщений (MPI),
параллельность по данным (MapReduce).
5
8. Технологии
Веб-приложение:
● JavaScript, CSS, HTML5.
● Веб-сервер Apache Tomcat.
Ядро, менеджер вычислений, сервер вычислений, хранилище —
RESTful веб-сервисы:
● MySQL.
● Java EE Enterprise JavaBeans (EJB) — серверные компоненты
содержащие бизнес-логику либо являющиеся представлением
объектов БД;
● Java EE Persistence API (JPA) — интерфейс для доступа к БД;
● Java EE RESTful Web Services (JAX-RS) — серверные компоненты с HTTP-
интерфейсом;.
● Сервер приложений GlassFish.
● Apache Hadoop
8
9. REST
● Архитектурный стиль для создания распределенных систем (Stateless,
Cacheable, Layered system, Uniform interface).
● Цели:
– масштабируемость;
– общность интерфейсов;
– независимое развертывание компонентов;
– поддержка промежуточных компонентов;
● Появление тесно связано с HTTP.
● RESTful веб-сервисы — веб-сервисы в HTTP + REST:
– общий путь для всех ресурсов (http://a.com/resources/…);
– поддержка Internet Media Types (JSON, XML, …);
– использование HTTP методов (GET, POST, PUT, DELETE);
– использование гиперссылок;
9
10. Проектные решения
Задача
● Шаблон задачи — собранная в JAR программ на Java, в состав которой
входят классы, наследуемые от базовых классов DMSaaS.
DMSaaS
базовые DataTableReadable
классы DataTableWritable Значения Экземпляры
... параметров DataTable
классы
Задача
Шаблон задачи
(JAR)
10
11. Проектные решения
Коллективная работа
● Группа — связанный общими ресурсами (данные, шаблоны задач,
фреймворки для распределенных вычислений) список пользователей.
● Публичная группа:
– члены получают ресурсы владельца группы;
– любой может присоединиться / самоисключиться;
● Закрытая группа:
– члены группы получают ресурсы друг друга;
– присоединение только по приглашениям;
– владелец может исключать членов группы;
– любой может самоисключиться.
● Готовность:
– добавление / удаление / получение групп;
– включение в открытую группу;
– cамоисключение из группы;
– приглашение/исключение из группы;
– поделиться ресурсами;
11