Компания Neo Technology, разработчик графовых баз данных, недавно выпустила Neo4j 3.0 — новый релиз своей графовой БД, который имеет улучшенную масштабируемость и удобные для разработчиков функции, такие как драйверы языков.
Филип Рэтл, вице-президент, отвечающий за разработку продуктов в Neo, отметил следующие три наиболее значимые особенности Neo4j 3.0:
- спроектированная заново внутренняя организация кода устраняет ранее существовавшие ограничения на количество узлов и связей, которые можно хранить и индексировать;
- поддержка новых драйверов языков, обеспечиваемая двоичным протоколом Bolt и включающая поддержку Java Stored Procedures, позволяет создавать приложения программистам-многостаночникам;
- оптимизированная система конфигурирования и развертывания БД позволяет запустить Neo4j как локально, так и в облаке.
Эти новые возможности являются неотъемлемым результатом мер по реализации компанией Neo курса на популяризацию графовых баз данных.
«Мы стремимся взрастить вокруг графовых БД некое сообщество», — рассказал Эмиль Айфрем, основатель и гендиректор Neo Technology. Он отметил, что число скачиваний Neo4j уже превысило 2 млн., и свыше 30 тыс. желающих зарегистрировались с целью получать дальнейшие сведения об этой БД.
Графовая база данных — это такая база данных, которая использует графовые структуры для построения семантических запросов с использованием узлов, ребер и свойств в процессе представления и хранения данных. Графовые БД используются для хранения, управления и составления запросов к сложным и тесно взаимосвязанным группам данных. Помимо этого, архитектура графовой БД особенно хорошо приспособлена к анализу данных на предмет обнаружения совпадений и аномалий в обширных массивах данных, а также к выгодному использованию заключенных в БД взаимосвязей.
«Нами были пересмотрены все аспекты архитектуры с целью сделать разработку графовых БД продуктивной и интуитивно понятной и при этом обеспечить поддержку масштабных графов, охватывающих сотни миллиардов и триллионов узлов и связей, — сообщил Джим Веббер, главный научный консультант Neo Technology. — Всего этого мы достигли, придерживаясь главного девиза Neo4j, который можно сформулировать как „сокращение времени обработки данных с минут до миллисекунд“».
Новый движок хранения данных в Neo4j 3.0 устраняет ограничения по масштабируемости БД, присутствовавшие в предыдущей версии. В новом релизе также фигурирует Bolt — новый облегченный двоичный протокол, обеспечивающий быстрый доступ к графу. К тому же в этом релизе предлагаются новые драйверы к языкам программирования Java, .NET, JavaScript и Python.
«В вопросах популяризации технологий самым железным аргументом является удобство, — заявил Джеймс Говернор, соучредитель и аналитик фирмы RedMonk, специализирующейся на исследовании и анализе рынка. — Neo4j 3.0 движется в сторону большего удобства для разработчиков благодаря протоколу Bolt и драйверам к наиболее популярным языкам программирования, реализуемым в конкретных распределенных системах».
Помимо добавления поддержки Java Stored Procedures, позволяющей легко добавлять в БД такие возможности как интроспекция схемы, разработчики Neo также улучшили производительность языка запросов к графовым БД Cypher.
Компания также добавила новый ресурсо-ориентированный оптимизатор запросов для записи в БД, который, наряду с улучшениями в языке Cypher, помогает составлять более качественные, быстрые универсальные запросы. К тому же, компания Neo добавила новую систему конфигурации и записи в лог, чтобы соответствовать современным сценариям развертывания платформ, например в облаке или контейнерах вроде Docker.
«До появления Neo4j 3.0 размеры графов были ограничены десятками миллиардов записей. С выходом Neo4j 3.0 эти ограничения исчезнут, — заявил Рэтл. — Мы уже сотрудничаем с клиентами, которые намерены работать с графами масштабом в сотни миллиардов записей. Этот релиз предоставляет им такие — и даже бὸльшие — возможности».
Графовые БД лучше всего применять в тех случаях, когда в системе имеются многочисленные соединенные друг с другом устройства или ресурсы с множественными связями между ними и внутри них.
Рэтл утверждает, что Neo4j 3.0 является самым быстрым, мощным, простым в использовании и производительным продуктом из всех, что компания произвела до сегодняшнего дня.
«Наши основные проектные усилия направлены на создание базы данных, которой можно доверять, — говорит он. — К тому же мы довольно много времени тратим на обдумывание новых перспектив. Новые драйвера языков совместно с протоколом Bolt коренным образом меняют способ взаимодействия разработчиков и приложений с базой данных, предоставляя огромные возможности для появления инновационных графовых приложений».
Новый релиз позволяет пользователям в режиме реального времени выполнять запросы к обширным графам, что делает целесообразным его применение в случаях с крупномасштабными приложениями и типовыми графовыми БД, например, с целью выдачи оперативных рекомендаций покупателям онлайн-магазинов, разработки приложений для динамической борьбы с мошенничеством и взаимодействия с Интернетом вещей (IoT). Также он позволяет им держать под контролем управление данными, безопасность сетевого окружения и ИТ-операции.
«В случае с IoT-приложениями мы можем помочь сконфигурировать вещи таким образом, чтобы, скажем, весы у вас в ванной не связывались с холодильником вашего соседа», — пояснил Рэтл.
В дополнение к новым возможностям Neo4j компания Neo Technology запустила новый сопутствующий облачный сервис Neo4j Browser Sync. Этот бесплатный сервис позволяет разработчикам сохранять и синхронизировать свои наиболее часто используемые скрипты и настройки.
«Neo4j Browser Sync — это сопутствующий облачный сервис к клиенту Neo4j Browser, — написал в блоге Рэтл. — Browser Sync позволяет синхронизировать сохраненные скрипты и таблицы стилей графов, а также сохранять работу на стороне клиента в перерывах между подключениями к БД».
Это означает, что пользовательские скрипты и настройки останутся доступными пользователю даже при переходе с одной БД на другую, при смене компьютера или Интернет-браузера.
«Browser Sync предоставляет быстрый и простой доступ к избранным и наиболее часто используемым запросам на Cypher. Собственно, с помощью Browser Sync можно хранить неограниченное количество запросов», — уточнил Рэтл.
В то же время, Айфрем отметил, что продукт Neo4j помог Международному консорциуму журналистских расследований (ICIJ) проанализировать Панамские документы — компромат, свидетельствующий об офшорной деятельности многих членов мировой элиты.
Консорциум ICIJ использовал Neo4j и Linkurious — библиотеку визуализации графов под Neo4j — для раскрытия пикантных подробностей Панамских документов.
Мар Кабра, редактор подразделения обработки данных и исследований в ICIJ, в своем заявлении назвала Neo4j «революционным инструментом обнаружения информации, совершившим переворот в нашем процессе журналистских расследований, так как чрезвычайно важно учитывать связи при поиске данных о злоумышленной деятельности, о том, кто с кем работает, и пр... Представление взаимосвязей в огромных масштабах — это та область применения, в которой графовым методикам нет равных».
Панамские документы заключают в себе 2,6 Тб данных, полученных немецкой газетой Süddeutsche Zeitung и переданных в ICIJ. В общей сложности было получено свыше 11,5 млн. документов, сообщила Кабра.
Она заметила, что консорциум ICIJ нуждался в интуитивно понятном, простом в использовании решении, не требовавшем участия каких бы то ни было специалистов по обработке данных или программистов, чтобы журналисты смогли работать с данными вне зависимости от своих технических навыков.
«Linkurious Enterprise оказался наиболее подходящей платформой для исследования этих данных и безопасного обмена идеями, — сказала она. — Платформа визуализации графов Linkurious в сочетании с Neo4j — это мощная комбинация».
Айфрем рассказал, что Linkurious берет граф любого размера и затем визуализирует определенную часть этого графа на экране таким способом, который понятен человеку, не являющемуся специалистом по составлению запросов к графу. В то же время, Neo4j используется для всех операций, связанных с выполнением запросов и манипуляций с данными в массивах.
«При желании можно рассматривать Linkurious в качестве аналога Tableau для графов, а наш продукт — в качестве этакого графового Oracle», — уточнил он. Neo4j помогает упростить доступ к большим объемам информации, добавил он.
В записи в своем блоге, посвященной использованию Neo4j консорциумом ICIJ, Айфрем рассказал, что на протяжении более десяти лет крупные веб-корпорации вроде Google и Facebook наращивали арсенал знаний и инструментов, позволивший им извлекать новые идеи и ценную информацию из обширных объемов данных. Данные являются их главным конкурентным преимуществом, а их бизнес-модели напрямую зависят от все более усложняющихся способов работы с этой информацией, отметил он.
Теперь и государство сможет осмыслить всевозможные крупные массивы данных, генерируемых в результате нашей повседневной жизни, заявил Айфрем в интервью.