Визуализация научных данных с помощью средств NoSQL
Графики, схемы, анимация и прочие способы визуального представления информации. Сравнительный анализ Neo4j и HyperGraphDB. Создание графовой БД для визуализации научных данных с целью быстрого понимания и анализа данных о научных сотрудниках и их работах.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | русский |
Дата добавления | 20.08.2018 |
Размер файла | 967,3 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Визуализация научных данных с помощью средств NoSQL
Воробьев Д.С, Бочкарёв П.В.
Национальный исследовательский ядерный университет «МИФИ»
Данная статья посвящена обзору NoSQL решений, а также визуализации слабоструктурированных научных данных с помощью Neo4j. Источником информации, являются данные, хранящиеся в БД elibrary. Рассматривается задача создания графовой БД, для хранения и визуализации научных данных с целью быстрого понимания и анализа данных о научных сотрудниках и их работах. Предлагается использовать Neo4j, т.к она является высокопроизводительной БД, хранящей все данные в виде графов, а так же оперирует гибкой структурой в виде узлов (нод) и связей между ними, в ней не используются таблиц со строго заданными полями. К компонентам графовой БД относятся узлы и ребра. Они могут быть дополнены собственным набором полей.
Работа поддержана грантом РФФИ № 15-07-08742.
Ключевые слова: научные данные, граф, БД, визуализация, решения, анализ, связь, нод.
This article provides an overview of "NoSQL" solutions and visualization of semi-structured scientific data using "Neo4j". Source of information is the data stored in the database elibrary. The task of creating a graph database for storage and visualization of scientific data for the purpose of quick understanding and analysis of data on academic staff and their work. It is proposed to use "Neo4j", because it is a highperformance database that stores all the data in the graphs, and also operates a flexible structure in the form of a node and the connections between them, It does not use tables with strictly specified fields. The components include a graph database nodes and edges. These may be complemented by its own set of fields.
This work was supported by RFFI grant № 15-07-08742.
Keywords:scientific data, graph, database, visualization, solutions, analysis, relation, nod.
Введение
Одна из глобальных проблем XXI века - это «информационный взрыв» или рост несоответствия между объемом информации, созданной человечеством, и объемом информации, которую люди способны изучить. Понимание и решение данной проблемы очень важно для науки.
Информационный взрыв порождает переизбыток неиспользуемой информации и хаос неструктурированной информации. Одним из путей выхода из этой ситуации является превращение неструктурированной или слабоструктурированной информации в структурированный вид для последующего хранения и обработки. На этом пути будут изменяться способы организации и цели исследовательской деятельности во всех науках. В настоящее время существует большое количество научно-исследовательских учреждений в разных областях науки, которые публикуют множество различных статей, публикаций и т.д.
Трудность состоит в том, что эффективное и безопасное управление большими объемами данных - непростая задача, которая обычно решается СУБД. Особенные трудности возникают при хранении слабоструктурированных текстовых данных, для которых используются специальные СУБД.
В данной работе качестве слабоструктурированных данных используются научные данные:
патенты, статьи, монографии и т.д. Для их хранения необходимо провести проектирование и разработку базы данных, которая могла бы хранить такой тип данных.
Визуализация данных -- это представление данных в виде, который обеспечивает наиболее эффективную работу человека по их изучению. Она находит широкое применение в научных и статистических исследованиях. Графики, схемы, анимация и прочие способы визуального представления информации могут быть чрезвычайно полезны там, где невозможно добиться требуемого эффекта при помощи электронных таблиц.
Под научной визуализацией, в широком смысле, принято понимать графическое представление тех или иных научных данных при проведении теоретических или экспериментальных исследований. Другими словами, представление данных трактуется обычно как преобразование при помощи компьютера невидимых исходных научных данных в видимые графические данные, что делается с целью последующего понимания (анализа) этих исходных данных.
Данная посвящена актуальной задаче также визуализации слабоструктурированных научных данных с помощью средств Neo4j.
визуализация данные график анимация
Состояние проблемы
Одним из распространённых подходов является использование NoSQL-решений, нацеленных на реализацию моделей БД, работающих с языком SQL.
Основными признаками современных NoSQL-решений являются:
• возможность работы неструктурированными данными;
• ориентация на решения конкретного круга задач, связанных с большими и постоянно возрастающими объемами данных;
• применение для больших объемов данных низкой ценности (хранение документов, сбор статистики и логирование).
Литературные источники выделяют следующие категории NoSQL баз данных [1,3].
Первая категория -- это Key-Value (Ключ-Значение) БД. Представляют собой большие хэш-таблицы, где каждый ключ имеет соответствующее ему значение. Примерами таких БД являются: Dynomite, Voldemort, Tokyo, Redis.
Вторая категория -- клоны BigTable. Данная база представляет собой большую таблицу с тремя измерениями: строки, колонки и временные метки. Примерами таких БД являются: Hypertable, Cassandra и Hadoop.
Третья категориябаз -- это документо-ориентированные БД. Такие базы немного напоминают Key-Value базы, но в данном случае, БД знает, что из себя представляют значения. Значением как правило является некоторый объект или документ, к структуре которого можно совершать запросы. В качестве примеров можно привести такие БД как: CouchDB и MongoDB.
Четвертая категория -- это БД, построенные на графах. Такие базы основаны на теории графов и направлены на поддержку сложных взаимосвязей между объектами. Структура данных в таких базах представляет собой набор узлов, связанных между собой ссылками. При этом и узлы, и ссылки могут обладать некоторым количеством атрибутов.
Графовая база данных -- это один из видов популярных в последнее время БД семейства NoSQL, позиционируемых как альтернатива наиболее распространенным SQL-решениям.
Примерами таких БД являются: Neo4j, sones graphDB, HyperGraphDB иAllegroGraph.
Подробно рассмотрим графовые БД Neo4j иHyperGraphDB.
Neo4j -- это высокопроизводительная БД, хранящая все данные в виде графов реализованная на Java. Neo4j оперирует гибкой структурой в виде нод (узлов) и связей между ними, в ней не используются таблиц со строго заданными полями. К компонентам графовой БД относятся узлы и ребра. Они могут быть дополнены собственным набором полей.
ВСУБД применяется собственный язык запросов -- Cypher, созданном в проекте с открытым исходным кодом TinkerPop. Cypher является не только языком запросов, но и языком манипулирования данными, так как предоставляет функции CRUD для графового хранилища.
Neo4j - один из лучших образцов графовых БД с открытым исходным кодом. Такие базы прекрасно подходят для хранения неструктурированных или слабоструктурированных данных - иногда даже лучше, чем документные хранилища. Мало того, что в Neo4j нет ни типов, ни схемы, она еще и не накладывает никаких ограничений на взаимосвязи между данными. Neo4j не лишена недостатков. Ребра в Neo4j не могут входить в туже вершину, из которой исходят. Кажется, что выбранная терминология (узел вместо вершиныи связьвместо ребра) только затрудняет взаимопонимание. Кластер прекрасно справляется с репликацией, но реплицировать разрешено только граф целиком. Невозможно сегментировать граф, что налагает ограничение на его размер.
Следующая БД на основе графов -- HyperGraphDB.
«HyperGraphDB -- это портативная, встраиваемая, расширяемая и распределенная система общего назначения. Имеет свободный (open-source) механизм хранения данных. Данная система создана специально для проектов, применяющих возможности искусственного интеллекта и семантического вэба и может использоваться как встраиваемая, объектно-ориентированная БД для проектов любого масштаба» [5].
В такой БД применяются гиперграфы. Гиперграф является расширением обычной концепции графа, позволяющее ребру графа иметь более 2-х вершин. HyperGraphDB еще больше расширяет эту концепцию. Он позволяет ребру указывать на другое ребро. Так же любое ребро или любая вершина может иметь случайное значение в виде полезной нагрузки. При разработке системы учитывались основные требования, которые пришли из проекта OpenCog, в котором была попытка реализовать систему AGI (данный подход основан на когнитивной психологии и графах концепций-перцепций-атомов, с activation spreading, иногда многоуровневой архитектуры, активное использование гетерогенных механизмов -- GA/эволюционное программирование, байесовские сети, статистические механизмы, все сорта вывода -- вероятностного логического и т.п.) где была необходимость в реализации самомодифицирующихся вероятностных гиперграфов.
Основной единицей хранения в HyperGraphDB является atom. Каждый atom имеет случайное значение и может указывать любое количество других atom. Единая расширяемая система, встроенная в структуру гиперграфа, управляет типами данных.Схема хранения данных платформонезависимая и дает возможность работать с данными на любой платформе с помощью любого языка программирования. На основе Java полностью построена текущая реализация. Возможность автоматического преобразования типов данных Java в типы HyperGraphDB позволяют использовать HyperGraphDB как объектно-ориентированную БД для большинства бизнес приложений[5].
В таблице 1 приведены результаты сравнительного анализа решений Neo4j и HyperGraphDB.
Таким образом, на основе результатов сравнительного анализа, для разработки базы данных слабоструктурированных данных было выбрана СУБД Neo4j.
Таблица 1. равнение Neo4j и HyperGraphDB
Neo4j |
HyperGraphDB |
||
Представление данных |
Классический направленный граф |
Ребра могут указывать на неограниченное число сущностей, включая другие ребра |
|
Хранение данных |
Связанные списки |
B-Tree |
|
Выводы |
Простая компактная база данных, очень быстро обрабатывающая специфические данные |
Сложная универсальная система с гибкой архитектурой |
Полученные результаты
При анализе публикуемых пользователем научных работ (НР) (только для авторизованных пользователей), ключевыми значениями, которые необходимо собирать и на основе которых возможно в дальнейшем проводить анализ являются (Табл. 2.):
Таблица 2. Информация о научной деятельности человека
Что человек создал (научный результат) |
|||
Поле |
Комментарий |
Тип |
|
СВ_автор=публикует |
Публикует 20 статей в год |
Числовой |
|
ID_НаучРез |
Числовой |
||
Название |
5 слов |
Текст |
|
Аннотация |
Текст |
||
Ключевые слова |
10 ключевых слов |
Текст |
|
Тип |
Числовой |
||
УДК |
Числовой |
||
Дата |
Числовой |
||
Ссылается на |
5 дополнительных ключевых слова |
Числовой |
|
НР _организация |
Текст |
В данной таблице представлены результаты научной деятельности авторизованного пользователя. В качестве количества публикуемого материала было взято 20 работ, что в текущих реалиях полностью удовлетворяет большинство научных сотрудников. Помимо этого, названия и ключевые слова публикуемого материала должны обрабатываться и храниться в отдельных полях, что позволит в дальнейшем точнее выполнять классификацию. Также будут учитываться ключевые слова, на которые ссылается автор работы. [4]
С помощью Neo4j была разработана графовая БД, общий вид которой представлен на рис.1 Основу данной базы составляют четыре базовых сущности:
• - Автор
• - Организация
• - Событие
• - Публикация
Они отображены разными цветами и являются сущностями первого уровня. У каждой из них определен набор собственных атрибутов.
Базовые сущности могут быть связаны между собой как внутри одной сущности с помощью рекурсивной связи, так и со всеми остальными сущностями связями типа многие ко многим. Для создания связи необходимо минимум пара сущностей. Данная пара будет обладать свойствами присущими только им одним. Затем определяются сущности второго уровня - патент, симпозиум, конференция и т.д.
Данные для создания БД были взяты из научной электронной библиотеки eLIBRARY.RU, т.к. в данной библиотеке подробно представлена информация, необходимая для создания данной БД.
Рисунок 1. Общий вид БД
Как можно видеть на рисунке изображены различные ноды, имеющие свое название и множество типов связей, которые их соединяют. Разными цветами выделены ноды относящиеся к одной категории. Например, сиреневым цветом показаны ноды, относящиеся к категории автор, а зеленым - издательства, в которых они работают. Связь, которой они объединены, относится к типу «работает». От автора связь (относящаяся к типу есть) идет к красному ноду, относящемуся к категории статья. Оранжевым цветом выделены ключевые слова, которые имеет статья, серым цветом обозначены: номер статьи, год выпуска, язык на котором выпущена статья и журнал, к которому относится статья. Розовым цветом обозначен город, в котором находится издательство, а синим ISSN (Международный Стандартный Серийный Номер). Связь, имеющая синий цвет, относится к типу «аффилирует».
Далее на рис. 2 представлено, как между собой взаимодействуют различные ноды в частности: автор, издательство, статья, ключевые слова, ISSN, журнал язык и год выпуска.
Рисунок 2 Взаимодействие различных нодов
На данном рисунке серым цветом представлен журнал, у этого журнала есть статья, выделенная красным цветом. У статьи имеется два автора обозначенные сиреневым цветом, которые связаны с издательством связью «работает». Оранжевым цветом выделены ключевые слова, которые есть у данной статьи и связаны они одной связью «есть». Так же у данной статьи имеется год выпуска, язык на котором выпущена статья, ISSN (Международный стандартный серийный номер).
Заключение
В данной работе были рассмотрены подходы к реализации NoSQL подходов, проведен сравнительный анализ Neo4j и HyperGraphDB. В результате проведенного анализа была выбрана Neo4j, так как она является простой и компактной БД, очень быстро обрабатывающей специфические данные.
Для визуализации данных использовалась графовая БД Neo4j. С помощью данного приложения была создана графовая БД, на которой наглядно представлено, как между собой взаимодействуют различные группы в частности (авторы, издательства, статьи, номера статьей, год выпуска, языки, журналы, города и ISSN-Международный Стандартный Серийный Номер).
В этом случае визуализация данных может обеспечить наиболее эффективную работу человека по их изучению. Под научной визуализацией, в широком смысле, принято понимать графическое представление тех или иных научных данных при проведении теоретических или экспериментальных исследований.
Список литературы
1. Бойко В.В., Савинков В.М. Проектирование баз данных информационных систем. -М.:"Финансы и статистика".- 1989. - 351 c.
2. Бодров И. Сильные и слабые стороны NoSQL // Jet Info / online информационный бюллетень компании "Инфосистемы Джет". - 2012 .- С. 131-135.
3. Дейт К. Дж. Введение в системы баз данных, 8-е издание: Пер. с англ. - СПб: Издательский дом «Вильямс».- 2005. - 1328 с.
4. Киреев В.С., Кузнецов И.А., Бочкарёв П.В., Гусева А.И., Филиппов С.А. Разработка модели пользователя научных сетей на основе концепции OPEN SCIENCE // Фундаментальные исследования. - 2015. - № 12, часть 5. - С. 907-913.
5. М. Фаулер, П. Дж. Садаладж. NoSQL: новая методология разработки нереляционных баз данных. : Пер. с англ. - М.: ООО "И.Д. Вильяме".-2013.- 192 с.
Размещено на Allbest.ur
...Подобные документы
Анализ средств визуализации. Разработка программы-расширения для визуализатора инженерных и научных расчетов Compaq Array Visualizer на языке Фортран. Оценка экономической эффективности и конкурентоспособности созданного программного обеспечения на рынке.
дипломная работа [335,4 K], добавлен 10.09.2010Освоение методов манипуляции параметрами SVG изображений при помощи JavaScript и возможности по анимации в современных браузерах. Интерфейс и структура модуля визуализации данных. Определение аномальных данных и их определение, реализованные типы.
курсовая работа [1,7 M], добавлен 20.05.2014Характеристика системы управления базами данных. Принципы классификации СУБД. NoSQL как ряд подходов, проектов, направленных на реализацию моделей баз данных. Методологические обоснования подхода NoSQL. Описание некоторых СУБД из данного движения.
реферат [18,1 K], добавлен 06.10.2011Наглядное представление массивов различной информации в компьютерной графике. Типы визуализации: схематическая, концептуальная, стратегическая, графическая, комбинированная. Виды сравнения данных: покомпонентное, позиционное, временное, частотное.
контрольная работа [1,4 M], добавлен 20.12.2015Этапы создания и разработки базы данных. Построение модели предметной области. Разработка даталогической и физической моделей данных, способы обработки данных о сотрудниках организации. Проектирование приложений пользователя. Создание кнопочной формы.
курсовая работа [2,1 M], добавлен 14.02.2011Обзор пакетов программ, предназначенных для визуализации и анализа данных. Обоснование выбора среды программирования. Организация аварийного буфера. Передача данных от нижнего уровня к верхнему и сохранение данных. Отображение данных в графической форме.
дипломная работа [512,4 K], добавлен 28.08.2012Обзор существующих решений на основе открытых данных. Технологии обработки данных и методы их визуализации. Социальные сети для извлечения данных. Ограничение географической локации. Выбор набора и формат хранения открытых данных, архитектура системы.
курсовая работа [129,5 K], добавлен 09.06.2017Совершенствование процессов обмена информацией между физическими и юридическими лицами в помощью сетей Internet и Intranet. История развития геоинформационных систем. Обработка кадастровой информации: анализ данных и моделирование, визуализация данных.
реферат [24,1 K], добавлен 22.05.2015Особенности графики системы MATLAB и ее основные отличительные черты. Построение графика функций одной переменной. Графики в логарифмическом масштабе, построение диаграмм, гистограмм, сфер, поверхностей. Создание массивов данных для трехмерной графики.
реферат [1,4 M], добавлен 31.05.2010Разработка базы данных с информацией о сотрудниках, товарах, со справочником типов товаров средствами системы управления базами данных MySQL с помощью SQL-запросов. Разработка инфологической модели предметной области. Структура таблиц, полей базы данных.
контрольная работа [648,7 K], добавлен 13.04.2012Что такое базы данных, визуализация информации базы. Структура и свойства простейшей базы данных. Характеристика определений, типов данных, безопасность, специфика формирования баз данных. Подходы к проектированию технического задания. Работа с таблицами.
презентация [4,3 M], добавлен 12.11.2010Представление данных в памяти компьютера. Обобщенные структуры и модели данных. Методы доступа к информации. Физическая организация системы управления базами данных, структура сервера. Архитектура "клиент-сервер". Создание базы данных с помощью "Денвер".
курсовая работа [770,3 K], добавлен 17.11.2014Назначение разработанных программных средств. Визуализации иклинометрии и каротажа. Изучение структуры баз данных, используемых в приложении. Встроенные типы данных Oracle и описание разработанных методов. Взаимодействие пользователя с экранной формой.
курсовая работа [1,1 M], добавлен 14.08.2014Создание базы данных, выполнение поиска, изменение и удаление записей, обработка, проектирование и обмен данными. Определение формул для вычисляемой части базы данных. Заполнение таблицы с помощью Мастера форм. Формы представления и анализ информации.
учебное пособие [5,0 M], добавлен 12.08.2009Autodesk 3ds Max как полнофункциональная профессиональная программная система для создания и редактирования трёхмерной графики и анимации. Особенности моделирования персонажей. Создание скелета и настройка глаз героя. Анимация персонажей, визуализация.
дипломная работа [11,9 M], добавлен 12.06.2012Разработка программы для учета услуг на предприятии и хранения данных о сотрудниках и заказчиках. Анализ и состав входящей и исходящей информации. Структура базы данных, выполнение запросов. Система управления базами данных, принципы их организации.
курсовая работа [1,7 M], добавлен 06.12.2012Системы автоматизированной обработки информации. Хранение большого объема информации. Понятие базы данных (БД). Обеспечение секретности данных. Уровни представления данных в БД. Логическая структура данных. Ограничения, накладываемые на данные.
реферат [65,2 K], добавлен 26.11.2011Структура базы данных "Библиотечный фонд". Разработка таблиц "Авторы", "Выдача книг", "Книги фонда". Таблица "Разделы книг" как способ хранения информации о существующих разделах. Способы занесения информации о сотрудниках библиотеки. Формы базы данных.
курсовая работа [940,8 K], добавлен 28.05.2012Информационное обеспечение научных исследований в университете. Разработка онтологии в области управления. Создание глоссария по менеджменту, списка персоналий. Семантическая разметка массива документов. Методика работы с базой научных публикаций.
дипломная работа [3,5 M], добавлен 13.01.2015Методика создания и описания работы базы данных, с помощью которой можно осуществить быстрый доступ к информации о сотрудниках фирмы. Пошаговая инструкция по использованию данной базой данных, содержащаяся в ней информация и оценка необходимости.
практическая работа [906,8 K], добавлен 03.06.2010