<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Комбинированная виртуально-материализованная среда интеграции больших неоднородных коллекций данных</article-title>
      </title-group>
      <fpage>201</fpage>
      <lpage>210</lpage>
      <abstract>
        <p>В работе рассматривается архитектура комбинированной виртуальноматериализованной среды интеграции неоднородных коллекций данных различного вида (структурированных, слабоструктурированных и неструктурированных). Необходимость поддержки двух различных видов интеграции объясняется тем, что как виртуальный, так и материализованный подходы к интеграции имеют свои достоинства и недостатки. Виртуальная интеграция осуществляется с использованием технологии предметных посредников. Материализованная интеграция реализуется с использованием свободно распространяемой платформы распределенного хранения и обработки данных Hadoop; а также системы организации реляционных хранилищ данных над Hadoop, в качестве которой могут использоваться платформы Big SQL или Hive.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Работа выполнена при поддержке РФФИ
(гранты 13-07-00579, 14-07-00548) и
Президиума РАН (Программа
фундаментальных исследований
Президиума РАН № 16 «Фундаментальные
проблемы системного программирования»).</p>
      <p>
        Новая парадигма [
        <xref ref-type="bibr" rid="ref21">24</xref>
        ] в науке и информационных
технологиях, доминирующая в последнее время,
основывается на исследовании данных (data
exploration). Роль данных особо подчеркивается и
становится критической. Объемы данных
фактически во всех областях деятельности растут со
временем экспоненциально. Поэтому новая
парадигма требует создания методов и средств
      </p>
      <p>К моделям данных, появившимся в последнее
время, относятся разнообразные NoSQL-модели:
документные модели (системы SimpleDB, MongoDb,
CouchDB), модели с колоночным хранением
(системы HBase, HyperTable, Cassandra), модели
«ключ-значение» (системы Voldemort, Riak, Redis,
Scalaris). Развиваются онтологические и
семантические модели, такие, как семейства RDF и
OWL; графовые модели (системы Neo4j, Dex,
GraphDB, HyperGraphDB, Trinity, Pregel); модели,
основанные на многомерных массивах –
ММмодели (SciDB).</p>
      <p>
        Методы создания унифицированного
представления различных видов нетрадиционных
моделей в канонической информационной модели
(общем языке, унифицирующем языки
разнообразных моделей данных) в последнее время
активно исследовались в ИПИ РАН. Были
рассмотрены подходы к унификации моделей
данных различных классов: семантических (OWL
[
        <xref ref-type="bibr" rid="ref7">10</xref>
        ], RDF [
        <xref ref-type="bibr" rid="ref1">3</xref>
        ]), графовых [
        <xref ref-type="bibr" rid="ref3">5</xref>
        ], ММ-моделей [
        <xref ref-type="bibr" rid="ref2">4</xref>
        ],
NoSQL-моделей [2]. В качестве канонической
модели рассматривался язык СИНТЕЗ [
        <xref ref-type="bibr" rid="ref8">11</xref>
        ],
поддерживающий комбинированную
слабоструктурированную (фреймовую) и объектную
модель данных.
      </p>
      <p>Для поддержки новых моделей данных
создаются системы управления данными,
обладающие масштабируемостью, высокой
доступностью, возможностью разбиения коллекций
данных произвольным образом на разделы для
параллельной обработки.</p>
      <p>Растущая популярность использования
слабоструктурированных баз данных (в различных
видах NoSQL) наряду с реляционными базами, в
совокупности с технологиями программирования
Hadoop и MapReduce, обеспечивающими
параллельную обработку огромных массивов
слабоструктурированных данных, объясняется
множеством фактических и потенциальных
применений. Например, развитие Веб-приложений,
социальных сетей, сенсорных сетей, финансовых и
торговых приложений, интенсивная работа с
данными в науке (в науках о Земле, в
биоинформатике), и пр. требуют использования
данных, которые с трудом поддаются частичной
структуризации. Твиты и посты в блогах являются
включают слабоструктурированные текстовые
отрывки, изображения и видео-ролики.
Преобразование такого контента в
структурированный формат для семантического
анализа и поиска является трудной задачей,
имеющей целью отображение структур и семантики
данных в форму, «понимаемую» компьютером для
извлечения информации из данных.</p>
      <p>Данная работа относится к области
конструирования средств поддержки систем с
интенсивным использованием данных. Методы
унификации моделей данных образуют формальную
базу работы.</p>
      <p>Целью работы является разработка и реализация
комбинированной виртуально-материализованной
архитектуры среды интеграции неоднородных
коллекций данных различного вида
(структурированных, слабоструктурированных и
неструктурированных). Такая среда должна
поддерживать как виртуальную, так и
материализованную интеграцию коллекций данных,
представленных как в традиционных, так и
нетрадиционных моделях данных.</p>
      <p>Необходимость поддержки двух различных
видов интеграции объясняется тем, что как
виртуальный, так и материализованный подходы
интеграции имеют свои достоинства и недостатки.</p>
      <p>
        Виртуальная интеграция осуществляется с
использованием технологии предметных
посредников [
        <xref ref-type="bibr" rid="ref9">12</xref>
        ], образующих промежуточный
слой между пользователем (приложением) и
неоднородными информационными ресурсами. При
этом данные из ресурсов не материализуются в
посреднике. К достоинствам виртуальной
интеграции относится то, что развертывание и
поддержка системы виртуальной интеграции
значительно дешевле развертывания и поддержки
системы материализованной интеграции
(хранилища данных) исходя как из временных, так и
из материальных затрат. Обычно системы
виртуальной интеграции используются для
интеграции ресурсов, данные из которых трудно
преобразовывать и (или) владельцами которых
являются разные лица. Однако, данные в
интегрируемых ресурсах не должны быть слишком
большими, либо запросы к ресурсам должны
обладать достаточной степенью селективности для
того, чтобы объем данных, передаваемых из
ресурса, не был слишком велик.
      </p>
      <p>При материализованной интеграции
предполагается создание хранилища данных
(warehouse), в которое загружаются коллекции
данных, подлежащие интеграции. В процессе
загрузки происходит преобразование данных из
схемы коллекции в общую схему хранилища. При
необходимости, хранилища могут
масштабироваться на большие объемы данных (хотя
это требует соответствующих материальных затрат).
Хранилища предоставляют удобную и эффективную
платформу преобразования и интеграции данных, а
также решения сложных аналитических задач над
данными.</p>
      <p>
        Материализованная интеграция реализуется в
комбинированной архитектуре с использованием
свободно распространяемой платформы
распределенного хранения и обработки данных
Hadoop [
        <xref ref-type="bibr" rid="ref24">27</xref>
        ]; а также системы организации
реляционных хранилищ данных над Hadoop
(WRHadoop для краткости), в качестве которой могут
использоваться, например, платформы Big SQL [
        <xref ref-type="bibr" rid="ref19">22</xref>
        ]
или Hive [
        <xref ref-type="bibr" rid="ref6">9</xref>
        ].
      </p>
      <p>В данной статье рассматриваются основные
принципы построения комбинированной
виртуально-материализованной архитектуры и
подходы к ее реализации. Создание программных
средств реализации рассматриваемой архитектуры
является предметом дальнейшей работы.
Ближайшей задачей является выбор конкретной
системы WR-Hadoop, одним из вариантов которой
является поддержка обеих систем Big SQL и Hive.</p>
      <p>Статья организована следующим образом. В
разделе 2 рассматриваются основные черты
комбинированной архитектуры. В разделе 3
иллюстрируются преобразования коллекций,
представленных в нетрадиционных моделях данных,
в их интегрированное представление в модели
данных сопряжения Hadoop – среда посредников. В
разделе 4 рассматривается пример задачи
интеграции неоднородных коллекций данных в
комбинированной среде.
2 Архитектура комбинированной
виртуально-материализованной среда
интеграции коллекций данных</p>
      <p>
        Архитектура комбинированной среды
интеграции неоднородных коллекций данных
(рис. 1) основана на существующей архитектуре
предметных посредников [
        <xref ref-type="bibr" rid="ref9">12</xref>
        ].
      </p>
      <p>Основные черты
следующим образом:
архитектуры</p>
      <p>выглядят
 концептуальная схема данных, предлагаемая
пользователю системой интеграции
(посредником), формируется независимо от
интегрируемых ресурсов;
 ресурсы, релевантные концептуальной схеме,
регистрируются в посреднике: их схемы
связываются с концептуальной схемой при
помощи представлений (взглядов).
Определение взглядов осуществляется
полуавтоматически и требует привлечения
экспертов;
Рисунок 1. Архитектура комбинированной среды интеграции неоднородных коллекций данных
 пользователь задает программы (запросы) над
концептуальной схемой. Эти запросы
переписываются в посреднике с
использованием взглядов в частичные
подзапросы в терминах конкретных ресурсов.
Переписывание осуществляется в языке
правил канонической модели посредников;
 взаимодействие ресурсов и посредника
реализуется при помощи адаптеров,
располагающихся между посредником и
ресурсами. Адаптеры преобразуют запросы
из языка правил канонической модели в язык
ресурса, а также преобразуют результат
исполнения запроса из формата ресурса в
формат посредника.</p>
      <p>Таким образом, для виртуальной интеграции
ресурсов, основанных на традиционных и
нетрадиционных моделях, необходимо построение
адаптеров соответствующих моделей данных. В
области построения адаптеров для среды
предметных посредников накоплен большой опыт,
разработаны общая архитектура адаптеров и методы
конструирования адаптеров [1], реализованы
адаптеры реляционной и объектно-реляционной
моделей, адаптер веб-сервисов, XML-адаптер и
другие. Формальной базой для построения
адаптеров служат отображения моделей данных
ресурсов в каноническую модель [6], разработанные
в результате унификации моделей ресурсов.
2.1 Платформа для материализованной
интеграции ресурсов в комбинированной
архитектуре</p>
      <p>
        Для материализованной интеграции ресурсов в
комбинированной архитектуре необходима
масштабируемая платформа манипулирования
большими разноструктурированными данными
(ПМБРД). В качестве такой платформы в данной
работе выбрана связка системы Hadoop и системы
организации реляционных хранилищ данных над
Hadoop – WR-Hadoop (в качестве которой могут
использоваться, например, системы Big SQL [
        <xref ref-type="bibr" rid="ref19">22</xref>
        ]
или Hive [
        <xref ref-type="bibr" rid="ref6">9</xref>
        ]).
      </p>
      <p>
        Платформа Apache Hadoop [
        <xref ref-type="bibr" rid="ref4">7</xref>
        ][
        <xref ref-type="bibr" rid="ref24">27</xref>
        ] была впервые
представлена в 2005 г. в составе проекта Apache
Software Foundation и представляет собой набор
программных средств распределенного хранения и
обработки больших объемов данных. Платформа
Hadoop предназначена для развертывания на
вычислительных кластерах и основана на
распределенной файловой системе HDFS (Hadoop
Distributed File System). В состав кластера входят
узлы, хранящие фрагменты файлов. Теоретически
могут быть сотни и тысячи таких узлов, основанных
на недорогих вычислительных платформах
(commodity hardware). Для обеспечения высокой
надежности поддерживается избыточность путем
создания копий фрагментов между узлами. С точки
зрения пользователя такая структура выглядит как
обычная древовидная файловая система.
      </p>
      <p>
        Масштабируемость платформы на значительные
объемы данных достигается за счет параллельной
обработки фрагментов на узлах с использованием
программной модели параллельных распределенных
вычислений MapReduce [
        <xref ref-type="bibr" rid="ref18">21</xref>
        ]. Модель MapReduce
позволяет разработчикам приложений
абстрагироваться от сложностей работы
распределенных программ, связанных с
распределением данных, планированием нагрузки и
обеспечением отказоустойчивости.
      </p>
      <p>
        Платформы Hive [
        <xref ref-type="bibr" rid="ref6">9</xref>
        ] и Big SQL [
        <xref ref-type="bibr" rid="ref19">22</xref>
        ] представляют
собой решения для организации реляционных
хранилищ данных, разработанные на основе среды
Hadoop. В них реализованы известные структуры
реляционных баз данных – таблицы, столбцы,
разделы. Платформы поддерживают реляционные
языки манипулирования данными (HiveQL и Big
SQL соответственно) для работы в
неструктурированной среде Hadoop: моделью
данных Hive является стандарт SQL92 с некоторыми
дополнениями, моделью данных Big SQL –
практически полный стандарт SQL 2011.
Фактически, системы проецируют реляционную
структуру на данные, хранящиеся в Hadoop и
предоставляют возможность исполнения
SQLподобных запросов на больших наборах данных
путем компиляции их в программы MapReduce,
исполняемые в среде Hadoop.
      </p>
      <p>
        Система Hive является
распространяемым решением, а Big
проприетарным, распространяемым в
продукта IBM InfoSphere BigInsights [
        <xref ref-type="bibr" rid="ref13">16</xref>
        ].
      </p>
      <p>свободно
SQL –
составе
Следует отметить, что системы Hive и Big SQL
не в полной мере реализуют функции хранилищ
данных (warehouses). В частности, напрямую не
поддерживается процесс
извлеченияпреобразования-загрузки (ETL). Для реализации
недостающих функций в комбинированной
архитектуре предлагается использование
декларативно-императивных языков высокого
уровня над Hadoop (раздел 2.2).</p>
      <p>Таким образом, в комбинированной архитектуре
обеспечивается возможность распределенного
хранения, преобразования и интеграции больших
разноструктурированных данных (при помощи
Hadoop), а также унифицированный взгляд на
материализованные данные через реляционную
модель (при помощи Hive или Big SQL).</p>
      <p>
        Потенциально, в качестве ПМБРД может быть
выбрана и другая платформа: например, вместо
Hadoop могут быть использованы такие системы,
как Apache Spark [
        <xref ref-type="bibr" rid="ref25 ref5">8, 28</xref>
        ], GraphLab [
        <xref ref-type="bibr" rid="ref17 ref22">20, 25</xref>
        ], Disco
[
        <xref ref-type="bibr" rid="ref11">14</xref>
        ] и др. Однако, Hadoop в настоящее время
является наиболее распространенной и
универсальной системой, поддерживающей модель
вычислений MapReduce.
      </p>
      <p>В комбинированной архитектуре ПМБРД
рассматривается как еще один вид ресурсов,
подлежащий виртуальной интеграции. Интеграция
становится двухслойной: материализованная
интеграция осуществляется внутри ПМБРД,
виртуальная – на уровне предметных посредников.
Виртуальной интеграции при этом могут подлежать
ресурсы
 данные из которых сложно или невозможно</p>
      <p>материализовать по разным причинам и (или)
 модель данных включает специфические
операции и алгоритмы, адаптация которых в
реляционной модели сложна и (или)
неэффективна. К таким моделям относятся,
например, графовые, ММ-модели и т.д.</p>
      <p>Для включения ПМБРД Hadoop/WR-Hadoop в
среду предметных посредников необходимо
разработать адаптер для WR-Hadoop (Hive или Big
SQL) в соответствии с подходом, изложенным в
работе [1]. При этом модель данных WR-Hadoop
выступает в роли модели сопряжения ПМБРД со
средой предметных посредников. Модель данных
WR-Hadoop должна быть унифицирована
(отображена в каноническую модель посредников).
Концептуально унификация модели данных
WRHadoop опирается на проведенную при
конструировании реляционного адаптера [1]
унификацию реляционной модели. В конструкцию
реляционного адаптера будут внесены два важных
усовершенствования:
 поддержка объектных таблиц;
 поддержка сложных (complex) типов данных,
таких, как массивы (ARRAY), структуры
(STRUCT) и отображения (MAP).
2.2 Языки и инструменты для материализованной
интеграции в комбинированной архитектуре</p>
      <p>Материализация в ПМБРД осуществляется
путем помещения в Hadoop-кластер файлов,
экспортированных из информационных ресурсов.
Файлы могут быть экспортированы в различных
открытых форматах: JSON, XML, CSV, в виде
текстовых файлов, а также в бинарном формате
JSON (JSON binary). Материализации, как и
виртуальной интеграции, могут подлежать данные,
представленные в различных традиционных и
нетрадиционных моделях. Решение о том, какой
способ интеграции следует применить для
конкретного ресурса, следует принимать исходя из
целей системы интеграции (например, характерных
запросов пользователя), эффективности, стоимости
и т.д.</p>
      <p>Преобразование данных к реляционному виду
для последующей интеграции производится при
помощи программ на языке Jaql.</p>
      <p>
        Jaql представляет собой язык запросов и
сценариев, разработанный IBM и использующий
формат обмена данными JavaScript Object Notation
(JSON [
        <xref ref-type="bibr" rid="ref16">19</xref>
        ]). Jaql поддерживает произвольную
глубину вложенности структур данных, является в
высокой степени функционально-ориентированным,
чрезвычайно гибким, и хорошо применимым для
работы со слабоструктурированными данными.
Язык ориентирован на прозрачное применение
модели программирования MapReduce:
декларативно-императивные запросы Jaql
переписываются в последовательность программ
MapReduce, исполняемых в среде Hadoop.
      </p>
      <p>Основными структурами данных, подлежащими
манипулированию при помощи Jaql, являются
объекты (коллекции пар &lt;имя, значение&gt;) и
массивы (упорядоченные списки значений).
Поддерживается множество встроенных функций
над массивами и объектами. Язык предоставляет
широкий набор операций преобразования данных
(фильтрация, группировка, сортировка, соединение,
объединение и т.д.).</p>
      <p>
        Язык Jaql поставляется в составе InfoSphere
BigInsights [
        <xref ref-type="bibr" rid="ref13">16</xref>
        ] – программной платформы
обработки больших данных, основанной на Hadoop.
      </p>
      <p>Итак, преобразованные к реляционному виду
данные сохраняются в формате JSON.
Преобразования коллекций, представленных в
нетрадиционных моделях данных, в их
интегрированное представление в реляционной
модели данных иллюстрируются в разделе 5.</p>
      <p>Cложные потоки обработки данных (очистки,
устранения дублирования, слияния) и их интеграции
реализуются с использованием комбинации языков
Jaql и HIL1.</p>
      <p>Декларативный язык HIL (High-level Integration
Language) разработан IBM для программирования
сложных потоков обработки данных (ETL),
агрегирующих факты из больших коллекций
разноструктурированной информации в целевые
коллекции унифицированных сущностей.</p>
      <p>Язык позволяет реализовать методы извлечения,
сопоставления и группирования, разбора,
связывания, устранения дублирования
(deduplication) различных разноструктурированных
представлений информации об одних и тех же
сущностях реального мира (entity resolution). HIL
также позволяет реализовать методы и операции
слияния (интеграции) данных об одних и тех же
сущностях реального мира и их связей,
представленных в разных коллекциях,
образованных в процессе разрешения сущностей
(включая реализации стратегий и устранения
конфликтующих данных, операции поглощения и
слияния данных). Программы на HIL компилируется
в Jaql, что позволяет использовать HIL для
преобразования и интеграции данных в Hadoop.</p>
      <p>
        Следует отметить, что методы
материализованной интеграции, организации
ETL                                                           
1 Вопросы выделения сущностей и интеграции
разноструктурированной информации при помощи
программ на языке HIL выходят за рамки данной статьи.
процессов, очистки данных, предлагаются в
составах программных решений ведущих
разработчиков баз данных. К таким решениям
относится, например, IBM InfoSphere Information
Server [
        <xref ref-type="bibr" rid="ref14">17</xref>
        ]. Этот программный продукт
потенциально может быть использован в
комбинированной архитектуре для
материализованной интеграции. При этом в
качестве хранилища может быть использована
платформа IBM InfoSphere Warehouse [
        <xref ref-type="bibr" rid="ref15">18</xref>
        ]
(являющаяся частью СУБД DB2). Однако,
Information Server предлагает лишь ограниченное
количество относительно простых методов
выделения, отображения и слияния сущностей.
Недостаточность таких средств была осознана
компанией IBM, в результате чего и появился язык
HIL.
      </p>
      <p>Рассматриваемая в данной статье
комбинированная среда интеграции нацелена, в
частности, на исследование методов интеграции
больших разноструктурированных данных. Этим и
мотивирован выбор в качестве ПМБРД платформы
Hadoop/WR-Hadoop и комбинации языков Jaql и HIL
в качестве инструментов материализованной
интеграции.
3 Преобразование коллекций данных
нетрадиционных моделей в
интегрированное представление</p>
      <p>
        Рассмотрим пример коллекции данных,
представленной в модели данных графовой СУБД
Neo4j [
        <xref ref-type="bibr" rid="ref23">26</xref>
        ]. Небольшой подграф базы данных о
фильмах, включающий основные виды вершин,
ребер и атрибутов, изображен на рис. 2.
      </p>
      <p>Вершины графа соответствуют фильмам и
людям, ребра графа соответствуют участию людей в
создании фильма как актеров (CAST) или режиссера
(DIRECTS). Люди характеризуются именем (name),
фильмы – названием (title) и годом создания (year),
роли актеров – именем персонажа (character).
Вершины и ребра графа обладают уникальными
идентификаторами.
Рисунок 2. Пример графа в модели данных Neo4j
Графовая БД системы Neo4j может быть
сериализована в формате JSON. Представление для
вышеприведенного графа в JSON выглядит
следующим образом:
[{ "id": 1, "type": "node", "labels": ["MOVIE"],
"properties": {"title": "Lost in translation", "year": 2003} },
{ "id": 2, "type": "node", "labels": ["PEOPLE"],
"properties": {"name": "Bill Murray"} },
{ "id": 3, "type": "node", "labels": ["PEOPLE"],
"properties": {"name": "Sofia Coppola"} },
{ "id": 4, "type": "relationship",
"start_node": 1, "end_node": 2,
"relationship_type": "CAST",
"properties": {"character": "Bob Harris"} },
{ "id": 5, "type": "relationship",
"start_node": 3, "end_node": 1,
"relationship_type": "DIRECTS" }]</p>
      <p>Здесь start_node и end_node обозначают
исходящую и входящую вершины ребра
соответственно; labels обозначает множество меток,
присвоенных вершине.</p>
      <p>Реляционное представление данной графовой БД
может выглядеть следующим образом. Схема
реляционной БД состоит из двух отношений, одно
из которых соответствует вершинам графа (Nodes,
табл. 1), другое – ребрам (Relationships, табл. 2).</p>
      <p>Таблица 1. Отношение Nodes</p>
      <p>title
“Lost in
translation”
(filter) и преобразования элементов массивов
(transform), связанные оператором организации
потоков данных (-&gt;).</p>
      <p>В качестве еще одного примера коллекции
данных рассмотрим базу знаний DBpedia
(http://dbpedia.org/). Коллекция содержит
структурированную информацию, извлеченную из
свободной энциклопедии Википедия. Данные в
коллекции представлены в модели RDF. В качестве
примеров данных рассмотрим RDF-спецификации
города Кембридж (Великобритания) и его
представителя в Парламенте Эндрю Лэнсли.
Спецификации представлены в формате JSON:
{ "http://dbpedia.org/resource/Cambridge": {
"http://dbpedia.org/property/officialName": [ {
"type": "literal", "lang" : "en",
"value" : "City of Cambridge" } ],
"http://dbpedia.org/ontology/areaTotal": [ {
"type": "literal", "value": 115650000,
"datatype": "http://www.w3.org/XMLSchema#double"}],
"http://dbpedia.org/ontology/isPartOf": [
{ "type": "uri",
"value": "http://dbpedia.org/resource/East_of_England" },
{ "type": "uri",
"value": "http://dbpedia.org/resource/Cambridgeshire" } ],
"http://dbpedia.org/ontology/leaderName": [ {
"type": "uri",
"value": "http://dbpedia.org/resource/Andrew_Lansley"} ]
} }
{ "http://dbpedia.org/resource/Andrew_Lansley": {
"http://dbpedia.org/property/name": [ {
"type" : "literal", "lang" : "en",
"value" : "Andrew Lansley" } ],
"http://dbpedia.org/ontology/birthDate": [ {
"type": "literal", "value": "1956-12-10+02:00",
"datatype": http://www.w3.org/XMLSchema#date } ],
"http://dbpedia.org/ontology/party": [ {
"type": "uri",
"value": "http://dbpedia.org/resource/Conservative_</p>
      <p>Party_(UK)" } ] ,
"http://dbpedia.org/ontology/electionMajority": [ {
"type": "literal", "value": 7838,
"datatype" : "http://www.w3.org/XMLSchema#integer"}]
} }
Свойства Кембриджа как объекта включают, в
частности, название (officialName), площадь
(areaTotal), вышестоящие территориальные
образования (isPartOf), лидера (leaderName).
Свойства Эндрю Лэнсли, как объекта базы знаний ,
включают имя (name), дату рождения (birthDate),
партию (party), количество голосов на выборах
(electionMajority).</p>
      <p>
        Реляционное представление объектов такого
рода может выглядеть следующим образом. Схема
реляционной БД состоит из двух отношений, одно
из которых соответствует городам (Cities), другое –
персонам (Persons). Атрибутам отношений
соответствуют свойства объектов. В
RDFхранилищах подобные отношения, группирующие
свойства однородных объектов, называются
таблицами свойств (property tables [
        <xref ref-type="bibr" rid="ref26">29</xref>
        ]).
id
1
      </p>
      <p>name
“Bill Murray”
“Sofia Coppola”
Таблица 2. Отношение Relationships
start_node
1
3
end_node
2
1
relationship_type
“CAST”</p>
      <p>character
“Bob Harris”
“DIRECTS”
Преобразование графовой БД в реляционное
представление может быть осуществлено при
помощи следующих двух функций, определенных
на языке Jaql:
createNodesRelation = fn(movie_graph_db)(
movie_graph_db-&gt;filter $.type == "node"-&gt;
transform { id: $.id, labels: $.labels,
title: $.properties.title, year: $.properties.year,
name: $.properties.name } );
createRelationshipRelation = fn(movie_graph_db)(
movie_graph_db-&gt;filter $.type == "relationship"-&gt;
transform { id: $.id,
start_node: $.start_node, end_node: $.end_node,
relationship_type: $.relationship_type,
character: $.properties.character } );
Функции принимают на вход представление
графовой БД в формате JSON. Первая из функций
возвращает отношение Nodes в формате JSON,
пригодное для загрузки в соответствующую
реляционную таблицу, вторая – отношение
Relationships. При определении функций
используются выражения фильтрации массивов</p>
      <p>subject
"http://dbpedia.org/
resource/Cambridge"
officialName</p>
      <p>["City of
Cambridge"]</p>
      <p>area Total
[115650000]</p>
      <p>isPartOf
["http://dbpedia.org/resource/
East_of_England",
"http://dbpedia.org/resource/
Cambridgeshire"]</p>
      <p>leaderName
["http://dbpedia.org/
resource/Andrew_Lansley"]
Таблица 4. Отношение Persons</p>
      <p>birthdate
["1956-12-10+02:00"]
subject
"http://dbpedia.org/
resource/Andrew_Lansley"</p>
      <p>name
["Andrew</p>
      <p>Lansley"]
Преобразование RDF-объектов персон в кортежи
отношения Persons может быть осуществлено при
помощи функции createPersonTuple, определенной
на языке Jaql:
createPersonTuple = fn(person_rdf) (
pa = ["http://dbpedia.org/property/name",
"http://dbpedia.org/ontology/birthDate",
"http://dbpedia.org/ontology/party",
"http://dbpedia.org/ontology/electionMajority"],
properties_record = index(values(person_rdf), 0),
if( not
containedIn( "false",
for($pa in pa)
if(containedIn($pa,</p>
      <p>names(record(values(person_rdf)))))
["true"]
else ["false"])
)
if( arity(person_rdf) == 1 )
{ subject: index(names(person_rdf), 0),
name: for( $name in
properties_record."http://dbpedia.org/property/</p>
      <p>name") [$name.value],
birthday: for( $birthday in
properties_record."http://dbpedia.org/ontology/</p>
      <p>birthDate") [$birthday.value],
party: for( $party in
properties_record."http://dbpedia.org/ontology/</p>
      <p>party") [$party.value],
electionMajority: for( $em in
properties_record."http://dbpedia.org/ontology/</p>
      <p>electionMajority") [$em.value]
);</p>
      <p>
        }
Функция принимает на вход RDF спецификацию
персоны в формате JSON и возвращает кортеж,
пригодный для загрузки в соответствующую
реляционную таблицу. При определении функции
используются условное выражение if, выражение
цикла for, встроенные функции манипулирования
массивами и записями names, values, record, index
[
        <xref ref-type="bibr" rid="ref13">16</xref>
        ] и вспомогательная функция containedIn(elm,
arr), возвращающая значение true, если значение elm
является элементом массива arr:
containedIn = fn(elm, arr)(
      </p>
      <p>exists(for( $iter in arr ) if($iter == elm) [true]) );
Функция преобразования RDF-объектов городов
определяется аналогичным образом.</p>
      <p>party
["http://dbpedia.org/resource/
Conservative_Party_(UK) "]
election
Majority
[7838]
4 Пример задачи интеграции
неоднородных коллекций данных</p>
      <p>Рассматриваемая задача состоит в определении
отношения населения к экономическим и
политическим вопросам в конкретном регионе. В
задаче используются следующие информационные
ресурсы:
 архивы региональных электронных СМИ;
 социальные сети (например, ВКонтакте);
 сервисы микроблогов (например, Twitter).</p>
      <p>Ресурсы существенным образом отличаются по
структуре, а также по характеру и лексике текстов.
Например, сообщение из Twitter, представленное в
формате JSON, содержит текст, идентификатор
сообщения, язык сообщения, дату создания,
информацию о пользователе (приведена лишь часть
данных, составляющих сообщение):</p>
      <p>{ “text”: “В первом квартале 2014 ввод жилья в
Бобруйской области вырос на 30 процентов
http://t.co/9cTJcnkucI”,
“id”: 441892291058622460,
“lang”: "ru",
“created_at”: "Fri Mar 07 11:05:06 +0000 2014",
“user”: { "name":"Петр Иванов",
"screen_name":"32_minute",
“id”: 2191013094}
}
Сообщение из сети ВКонтакте содержит
идентификатор сообщения, идентификатор автора,
идентификатор получателя, дату создания, текст,
количество «лайков», количество переотправок
(приведена лишь часть данных, составляющих
сообщение; текст сообщения приведен не
полностью):
{ "id": 254,
"from_id":2785124,
"to_id":6835,
"date":1387737719,
"text":"Бобруйская область - регион# в котором
добывается больше половины всего леса в России. Однако
на благосостоянии простых жителей Ухтомского района
это никак не сказывается. …",
"likes":{"count": 10},
"reposts":{"count": 5, "user_reposted": 5}
}
В рамках задачи анализу подлежат статьи из
СМИ и сообщения из социальных сетей за
определенный период времени (текущий год,
квартал и т.д.) и опубликованные авторами,
проживающими в определенном регионе. Такие
статьи и сообщения извлекаются из
соответствующих ресурсов, загружаются в Hadoop и
пропускаются через средства текстовой аналитики2,
развернутые на каждом из узлов кластера. Анализ
текста позволяет извлечь из текстов статей и
сообщений различные упоминаемые объекты:
персоны (и их должности), территориальные
образования, организации и т.д. Также анализ текста
позволяет оценить тональность сообщения –
выявить позитивное, нейтральное или негативное
отношение автора текста к теме текста. Таким
образом, тональность текста может быть связана с
объектами, упоминаемыми в тексте.</p>
      <p>Например, информация, извлеченная из
приведенного выше сообщения из сети ВКонтакте,
может выглядеть следующим образом:
{ “user_id”: “6835”,
“message_id”: 254,
“source”: “ВКонтакте”,
“extracted_objects”:{
“persons”: [{ “name”: “Василий”,
“surname”: “Петров”,
“position”: “губернатор”}],
“territorial_entities”: [
{“name”: “Бобруйская”,</p>
      <p>“type”: “область”},
{“name”: “Ухтомский”,</p>
      <p>type: “район”}]
},
“sentiment”: “negative”,
“negative_keywords”:</p>
      <p>[“барак”, “отчаяние”, “прогнивший”]
}
В тексте сообщения упоминаются губернатор
Василий Петров, территориальные образования
Бобруйская область и Ухтомский район. Текст
носит отрицательную тональность.</p>
      <p>Материализованные статьи и сообщения,
обогащенные информацией, извлеченной из текстов,
преобразуются к виду, удовлетворяющему единой
схеме хранилища3. В хранилище помещаются также
данные, извлеченные из профилей пользователей
социальных сетей.</p>
      <p>Определение отношения населения к
экономическим и политическим вопросам может
быть осуществлено путем различных запросов к
схеме хранилища. Могут быть сделаны выводы,
например, об отношении населения к конкретным
лицам, организациям за определенные промежутки
времени и на определенной территории путем
подсчета позитивных, нейтральных и негативных
                                                           
2 Обсуждение методов и средств текстовой аналитики
выходит за рамки данной статьи. 
3 Принципы построения схемы хранилища для задачи
выходят за рамки данной статьи, ввиду ограниченности ее
объема. 
сообщений и статей, упоминающих этих лиц или
организации.</p>
      <p>Отношение населения к экономическим и
политическим вопросам может быть также
ограничено некоторой темой, например, «проблемы
жилищно-коммунального хозяйства». В этом случае
анализу подвергаются лишь те сообщения, в
которых присутствуют ключевые слова (или их
комбинации), относящиеся к теме, например,
{жилье, ЖКХ, отопление, электричество, тариф,
барак, ветхий, аварийный}.</p>
      <p>
        Дополнительные аналитические возможности
предоставляет виртуальная интеграция социальных
графов (хранимых в графовой базе данных,
например, Neo4j [
        <xref ref-type="bibr" rid="ref23">26</xref>
        ]) и хранилища сообщений и
статей в одном предметном посреднике.
Социальные графы (образуемые отношениями
«друг» или «подписчик») загружаются в графовую
базу данных, предоставляющую операции и
алгоритмы анализа графов. Предметный посредник,
интегрирующий социальные графы и хранилище
статей и сообщений, позволяет формулировать и
исполнять программы, определяющие влияние
социальных сетей на формирование отношения
населения к экономическим и политическим
вопросам. Например, может быть отслежено
распространение во времени позитивных,
нейтральных и негативных сообщений,
относящихся к некоторой теме (заданной
ключевыми словами) в связных подграфах
социальных сетей.
5 Родственные работы
      </p>
      <p>
        В качестве примера подхода, родственного
предлагаемой в данной статье комбинированной
виртуально-материализованной архитектуре,
необходимо упомянуть средства федерализации,
поддерживаемые в Big SQL [
        <xref ref-type="bibr" rid="ref27">30</xref>
        ]. Эти средства
появились в июле 2014 г., в момент создания
финальной версии статьи. Федерализация является
прямым аналогом виртуальной интеграции в
предметных посредниках.
      </p>
      <p>Архитектура системы федерализации BigSQL
(рис. 2) средства выполнения программ (Runtime
Engine), адаптеры (Wrappers) и удаленные базы
данных. Важным компонентом является Optimizer,
осуществляющий планирование исполнения запроса
с использованием статистической оценочной
модели. Для доступа к конкретным ресурсам
используются адаптеры. На текущий момент
поддерживается федерализация для реляционных
СУБД DB2, Oracle, Teradata и Netezza.
Поддерживается реализация собственных адаптеров
пользователем на языках C++ и Java.</p>
      <p>Архитектура и подход к выполнению
распределенных запросов в посредниках [1] и Big
SQL обладают рядом сходных черт: слои
выполнения программ, адаптеров и ресурсов;
планирование запросов; настраиваемые адаптеры.</p>
      <p>Рисунок 2. Архитектура BigSQL Federalization
Преимуществом подхода предметных
посредников является ориентация на
разномодельные ресурсы. Посредники позволяют
интегрировать модельно неоднородные ресурсы:
реляционные, объектно-реляционные, XML, NoSQL,
веб-сервисы и др. Средства BigSQL ориентированы
на виртуальную интеграцию реляционных баз
данных. Подробный анализ средств федерализации
Big SQL и их сравнение с предметными
посредниками являются задачами дальнейшей
работы.
Заключение</p>
      <p>В статье рассмотрены основные принципы
организации архитектуры комбинированной
виртуально-материализованной среды интеграции
больших неоднородных коллекций данных и
подходы к ее реализации. Целью архитектуры
является сопряжение возможностей предметных
посредников по интеграции разномодельных
коллекций данных и возможностей по
манипулированию разноструктурированными
данными, предоставляемыми платформой Hadoop и
ее надстройками. Масштабирование обработки
коллекций данных при помощи технологии Hadoop
представляется дополнением, существенно
расширяющим возможности технологии
предметных посредников по решению задач над
неоднородными информационными ресурсами.
Реализация архитектуры, ее практическое
применение и сравнение с родственными подходами
являются задачами дальнейшей работы.
Литература
[1] А.Е. Вовченко Рассредоточенная реализация
приложений в среде предметных посредников :
дис. … канд. техн. наук : 05.13.11. – М., 2012. –
216 с.
[2] Скворцов Н.А. Отображение моделей данных</p>
      <p>NoSQL в объектные спецификации // Труды
14-й Всероссийской научной конференции
«Электронные библиотеки: перспективные
методы и технологии, электронные коллекции»
RCDL'2012. – Переславль-Залесский: Ун-т
города Переславля, 2012. – С. 78–87.
Combined Virtual and Materialized
Environment for Integration of Large</p>
      <p>Heterogeneous Data Collections</p>
      <p>Sergey Stupnikov, Alexey Vovchenko</p>
      <p>Architecture of a combined virtual and materialized
environment for integration of heterogeneous data
collections is provided. Collections are assumed to
contain structured, semi-structured or unstructured data.</p>
      <p>Combination of virtual and materialized integration is
motivated by advantages and disadvantages of both
approaches. Virtual integration is supported by subject
mediation technology. Materialized integration is
provided by Hadoop (open source software framework
for storage and distributed processing of large datasets)
accompanied by a system implementing relational
warehouse over Hadoop (as examples, Hive and Big</p>
      <p>SQL are considered).</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>Н.А.</given-names>
            <surname>Скворцов</surname>
          </string-name>
          .
          <article-title>Отображение модели данных RDF в каноническую модель предметных посредников // Труды 15-й Всероссийской научной конференции «Электронные библиотеки: перспективные методы и технологии, электронные коллекции</article-title>
          » RCDL'
          <year>2013</year>
          .
          <article-title>- Ярославль: Ярославский гос. ун-т им</article-title>
          .
          <source>П.Г. Демидова</source>
          ,
          <year>2013</year>
          . -
          <fpage>С</fpage>
          .
          <fpage>202</fpage>
          -
          <lpage>209</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [4]
          <string-name>
            <surname>Ступников</surname>
            <given-names>С. А.</given-names>
          </string-name>
          <article-title>Унификация модели данных, основанной на многомерных массивах, при интеграции неоднородных информационных ресурсов // Труды 14-й Всероссийской научной конференции «Электронные библиотеки: перспективные методы и технологии, электронные коллекции</article-title>
          » RCDL'
          <year>2012</year>
          .
          <article-title>- Переславль-Залесский: Ун-т города</article-title>
          <string-name>
            <surname>Переславля</surname>
          </string-name>
          ,
          <year>2012</year>
          . -
          <fpage>С</fpage>
          .
          <fpage>67</fpage>
          -
          <lpage>77</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>С.А.</given-names>
            <surname>Ступников</surname>
          </string-name>
          .
          <article-title>Отображение графовой модели данных в каноническую объектно- фреймовую информационную модель при создании систем интеграции неоднородных информационных ресурсов // Труды 15-й Всероссийской научной конференции «Электронные библиотеки: перспективные методы и технологии, электронные коллекции</article-title>
          » RCDL'
          <year>2013</year>
          .
          <article-title>- Ярославль: Ярославский гос. ун-т им</article-title>
          .
          <source>П.Г. Демидова</source>
          ,
          <year>2013</year>
          . -
          <fpage>С</fpage>
          .
          <fpage>193</fpage>
          -
          <lpage>202</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>Apache</given-names>
            <surname>Hadoop Project</surname>
          </string-name>
          .
          <year>2014</year>
          . - http://hadoop.apache.org/
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [8]
          <string-name>
            <surname>Apache</surname>
            <given-names>Spark project.</given-names>
          </string-name>
          <year>2014</year>
          . - http://spark.apache.org/
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>Edward</given-names>
            <surname>Capriolo</surname>
          </string-name>
          ,
          <string-name>
            <surname>Dean Wampler</surname>
            ,
            <given-names>Jason</given-names>
          </string-name>
          <string-name>
            <surname>Rutherglen</surname>
          </string-name>
          .
          <article-title>Programming Hive Data Warehouse and Query Language for Hadoop.</article-title>
          <string-name>
            <surname>O'Reilly Media</surname>
          </string-name>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [10]
          <string-name>
            <surname>Kalinichenko</surname>
            <given-names>L.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stupnikov</surname>
            <given-names>S.A.</given-names>
          </string-name>
          <article-title>OWL as Yet Another Data Model to be</article-title>
          <source>Integrated // Advances in Databases and Information Systems: Proc. II of the 15th East-European Conference</source>
          . - Vienna: Austrian Computer Society,
          <year>2011</year>
          . - P.
          <fpage>178</fpage>
          -
          <lpage>189</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [11]
          <string-name>
            <surname>Kalinichenko</surname>
            <given-names>L.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stupnikov</surname>
            <given-names>S.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Martynov</surname>
            <given-names>D.O.</given-names>
          </string-name>
          <article-title>SYNTHESIS: a Language for Canonical Information Modeling and Mediator Definition for Problem Solving in Heterogeneous Information Resource Environments</article-title>
          . Moscow: IPI RAN,
          <year>2007</year>
          . - 171 p.
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [12]
          <string-name>
            <surname>Kalinichenko</surname>
            <given-names>L.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Briukhov</surname>
            <given-names>D.O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Martynov</surname>
            <given-names>D.O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Skvortsov</surname>
            <given-names>N.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stupnikov</surname>
            <given-names>S.A.</given-names>
          </string-name>
          <string-name>
            <surname>Mediation</surname>
          </string-name>
          <article-title>Framework for Enterprise Information System Infrastructures</article-title>
          .
          <source>Proc. of the 9th International Conference on Enterprise Information Systems ICEIS</source>
          <year>2007</year>
          .
          <article-title>-</article-title>
          <string-name>
            <surname>Funchal</surname>
          </string-name>
          ,
          <year>2007</year>
          . - Volume
          <source>Databases and Information Systems Integration</source>
          . - P.
          <fpage>246</fpage>
          -
          <lpage>251</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [13]
          <string-name>
            <surname>Kevin</surname>
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Beyer</surname>
            , Vuk Ercegovac, Rainer Gemulla, Andrey Balmin, Mohamed Eltabakh, CarlChristian Kanne, Fatma Ozcan,
            <given-names>Eugene J.</given-names>
          </string-name>
          <string-name>
            <surname>Shekita</surname>
          </string-name>
          .
          <article-title>Jaql: A Scripting Language for Large Scale Semistructured Data Analysis</article-title>
          .
          <source>VLDB</source>
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [14]
          <article-title>Disco framework for distributed computing based on the MapReduce paradigm</article-title>
          .
          <year>2014</year>
          . http://discoproject.org/
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [15]
          <string-name>
            <surname>Mauricio</surname>
            <given-names>Hernández</given-names>
          </string-name>
          , Georgia Koutrika, Rajasekar Krishnamurthy, Lucian Popa, Ryan Wisnesky.
          <article-title>HIL: a high-level scripting language for entity integration</article-title>
          .
          <source>Proceedings of the 16th International Conference on Extending Database Technology EDBT</source>
          <year>2013</year>
          .
          <article-title>-</article-title>
          P.
          <fpage>549</fpage>
          -
          <lpage>560</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [16]
          <string-name>
            <surname>IBM InfoSphere BigInsights Information Center</surname>
          </string-name>
          .
          <year>2014</year>
          . - http://pic.dhe.ibm.com/infocenter/bigins/ v2r1/index.jsp
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [17]
          <string-name>
            <surname>IBM InfoSphere Information Server Information Center</surname>
          </string-name>
          .
          <year>2014</year>
          . - http://pic.dhe.ibm.com/infocenter/ iisinfsv/v9r1/index.jsp
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [18]
          <string-name>
            <surname>IBM DB2 Warehouse Information Center</surname>
          </string-name>
          .
          <year>2014</year>
          . http://pic.dhe.ibm.com/infocenter/db2luw/v10r5/ index.jsp
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [19]
          <string-name>
            <surname>Introducing</surname>
            <given-names>JSON.</given-names>
          </string-name>
          <year>2014</year>
          . - http://www.json.org/
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [20]
          <string-name>
            <surname>Yucheng</surname>
            <given-names>Low</given-names>
          </string-name>
          , Joseph Gonzalez, Aapo Kyrola, Danny Bickson, Carlos Guestrin, and
          <string-name>
            <surname>Joseph M. Hellerstein</surname>
          </string-name>
          (
          <year>2010</year>
          ).
          <article-title>"GraphLab: A New Parallel Framework for Machine Learning</article-title>
          .
          <source>" Conference on Uncertainty in Artificial Intelligence (UAI).</source>
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>Donald</given-names>
            <surname>Miner. MapReduce Design</surname>
          </string-name>
          <article-title>Patterns: Building Effective Algorithms and Analytics for Hadoop</article-title>
          and
          <string-name>
            <given-names>Other</given-names>
            <surname>Systems. O'Reilly Media</surname>
          </string-name>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [22]
          <string-name>
            <surname>Cynthia</surname>
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Saracco</surname>
            ,
            <given-names>Uttam</given-names>
          </string-name>
          <string-name>
            <surname>Jain</surname>
          </string-name>
          .
          <article-title>What's the big deal about Big SQL? Introducing relational DBMS users to IBM's SQL technology for Hadoop</article-title>
          .
          <source>IBM DeveloperWorks</source>
          ,
          <year>2013</year>
          . - http://www.ibm.com/developerworks/library/ bd-bigsql/bd-bigsql-pdf.pdf
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [23]
          <article-title>The Apache Hive data warehouse software</article-title>
          .
          <year>2014</year>
          . - http://hive.apache.org/
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [24]
          <article-title>The Forth Paradigm: Data-Intensive Scientific Discovery</article-title>
          . Eds. Tony Hey,
          <string-name>
            <given-names>Stewart</given-names>
            <surname>Tansley</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Kristin</given-names>
            <surname>Tolle</surname>
          </string-name>
          .
          <source>Redmond: Microsoft Research</source>
          ,
          <year>2009</year>
          . - http://goo.gl/GqkDX1
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [25]
          <article-title>The GraphLab Project</article-title>
          . http://graphlab.org/ projects/index.html
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          <source>[26] The Neo4j Manual</source>
          .
          <year>2014</year>
          . - http://goo.gl/cHiOGF
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [27]
          <string-name>
            <given-names>Tom</given-names>
            <surname>White. Hadoop: The Definitive Guide. O'Reilly Media</surname>
          </string-name>
          ;
          <article-title>Third Edition edition</article-title>
          .
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [28]
          <string-name>
            <surname>Matei</surname>
            <given-names>Zaharia</given-names>
          </string-name>
          , Mosharaf Chowdhury,
          <string-name>
            <given-names>Michael J.</given-names>
            <surname>Franklin</surname>
          </string-name>
          , Scott Shenker,
          <string-name>
            <given-names>Ion</given-names>
            <surname>Stoica</surname>
          </string-name>
          .
          <article-title>Spark: Cluster Computing with Working Sets</article-title>
          .
          <source>HotCloud</source>
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          [29]
          <string-name>
            <surname>Kevin</surname>
            <given-names>Wilkinson</given-names>
          </string-name>
          , Craig Sayers, Harumi Kuno,
          <string-name>
            <given-names>Dave</given-names>
            <surname>Reynolds</surname>
          </string-name>
          .
          <article-title>Efficient RDF Storage and Retrieval in Jena2</article-title>
          .
          <source>Proc. of the First International Workshop on Semantic Web and Databases</source>
          . -
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          [30]
          <string-name>
            <surname>Mara Elisa de Paiva Fernandes</surname>
          </string-name>
          <article-title>Matias</article-title>
          .
          <article-title>Set up and use federation in InfoSphere BigInsights Big SQL V3</article-title>
          .
          <volume>0</volume>
          .
          <issue>22</issue>
          <year>July 2014</year>
          (
          <article-title>First published 08</article-title>
          <year>July 2014</year>
          ). - http://www.ibm.com/developerworks/library/ ba-federation-biginsights/index.html
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>