Статьи

Объявление: выпущен Neo4j 1.7 GA «Bastuträsk Bänk»

Поздравляем Neo4j с анонсом Neo4j 1.7! Содержание этого поста было первоначально опубликовано Питером Нойбауером в блоге Neo4j.

Мы очень рады сообщить, что Neo4j 1.7 GA под кодовым названием « Bastuträsk Bänk» теперь доступен для всех . Множество улучшений, внесенных через вехи, были должным образом проверены и задокументированы, что делает 1,7 предпочтительной стабильной версией для всех рабочих развертываний. Давайте рассмотрим основные моменты.

Добро пожаловать в пакет Enterprise Turbo

Йохан. Скорость.

Для корпоративных развертываний, в которых используются запросы большого объема, мы работаем над рядом функций, которые поддерживают эти сценарии с точки зрения лучшей и более предсказуемой скорости.

Прежде всего, новый
кэш
GCR — он в 10 раз быстрее и в 10 раз больше примитивов. GCR сглаживает неровности, которые могут возникнуть при обработке огромных графиков с тысячами одновременных пользовательских операций, напрямую управляя фиксированным объемом памяти с помощью потоково-безопасных операций.

В то время как другие типы кеша практически не требуют обслуживания и очень эффективны для общего использования, более точный контроль кеша GCR над использованием памяти может обеспечить более последовательную реакцию при правильной настройке. GCR — хороший выбор для больших кластеров, где вы настраиваете каждый аспект вашей системы.

Шифр — [: ОПИСЫВАЕТ] -> Результаты

Андрес Тейлор — Сайфер чемпион

Мастерство, которым руководствуется язык Cypher, глубоко заботится о том, чтобы сбалансировать ясность с помощью всесторонних выражений, работая над грамматикой, которая естественно соответствует вопросам, которые вы бы задали на графике. От СНВ до МАТЧА и ГДЕ пункты преднамеренно неудивительны; это то, что вы, вероятно, напишите при описании вопроса в электронном письме.

В версии 1.7 Cypher теперь имеет полный набор общих математических функций для использования в предложениях RETURN и WHERE. В сочетании с базовой арифметикой вы теперь можете говорить такие вещи, как:

START a=node(3), c=node(2) RETURN a.age, c.age, abs(a.age - c.age)
START a=node(1) RETURN round(3.141592)
START a=node(*) WHERE sqrt(a.prop) > 5  RETURN a
START a=node(3) RETURN sign(-17), sign(0.1)

Иногда имеет смысл рассматривать несколько типов отношений одновременно, как в «моих друзьях и соседях». Теперь совпадения Cypher позволяют объединять отношения в один путь, например:

START me=node(1) MATCH (me)-[:FRIEND|NEIGHBOR]->(fandn) RETURN fandn

Аналогично, в предложении WHERE вы можете принять несколько различных значений для свойства. Оператор Cypher IN позволяет вам представить альтернативы в коллекции следующим образом:

START a=node(3, 1, 2) WHERE a.name IN ["Peter", "Tobias"] RETURN a

Коллекции могут содержать больше, чем вы хотите, поэтому вы можете выбрать, какие элементы коллекции возвращать с помощью HEAD, TAIL, LAST или FILTER. , Чтобы дополнить «?» оператор для необязательных свойств, новый оператор отсутствующего свойства ‘!’ по умолчанию имеет значение false, когда свойство отсутствует. Рассмотрим разницу в этих двух утверждениях:

START n=node(*) WHERE n.belt? = 'white' AND n.age>32 RETURN n
START n=node(*) WHERE n.belt! = 'white' AND n.age>32 RETURN n

С необязательным оператором ‘?’ вы получите все узлы с возрастом более 32, и если у них есть пояс, он должен быть белого цвета. С пропавшим оператором ‘!’ вы получите все узлы с возрастом более 32, и у которых * должен * быть белый пояс. В предыдущем примере мы также использовали новую удобную нотацию для обозначения всех узлов

START a=node(*)

Другие заметные улучшения

Как и все наши выпуски, Neoj 1.7 GA включает в себя важные улучшения производительности и исправляет различные ошибки, обнаруженные как открытым сообществом, так и полевой командой, работающей с клиентами. Мы стараемся как можно быстрее поместить их в открытую кодовую базу, чтобы каждый мог получить пользу. Другие известные функции, которые были добавлены, включают:

  • Поддержка SSL — если вам нужен удаленный доступ к Neo4j через общедоступный Интернет, но при этом защищенный, https, безусловно, лучший способ. Теперь вы можете предоставить свой собственный сертификат или создать самозаверяющий сертификат и автоматически получать доступ к Neo4j через https. 
  • Подстановочные знаки в правилах авторизации безопасности — благодаря этому простому изменению правила безопасности могут быть легко применены к ветвям URL-адреса, например  / protected / * /
  • Системные свойства могут задавать конфигурацию — мы внесли некоторые изменения в то, как Neo4j предоставляет параметры конфигурации, что позволяет использовать системные свойства для переопределения настроек. Это особенно удобно при развертывании в различных промежуточных и производственных средах.
  • Улучшение производительности Cypher за счет первого раунда оптимизации выполнения запросов.
  • Журналы изменений

    Полная информация о каждом из изменений содержится в файлах changes.txt, доступных для
    сообщества ,
    расширенных и
    корпоративных компонентов.

    Это сильный новый релиз, который, мы думаем, вам понравится. Для справки и получения дополнительной информации о новых функциях, появившихся на разных этапах , обратитесь к 
    блогам 1.7.M01 ,
    1.7.M02 и
    1.7.M03 и
    журналам изменений (см. Выше).


    Пожалуйста,
    загрузите его сейчас. Пользователи Heroku также сразу же получают ее в качестве версии по умолчанию для новых приложений, поэтому
    дополнения к Heroku: добавьте neo4j сейчас. Везде, где вы используете Neo4j, присоединяйтесь к нам в группе
    Google, чтобы поболтать о вашем прогрессе и поделиться новыми идеями, которые вы хотели бы увидеть, когда мы приступаем к разработке серии 1.8.

    Команда Neo4j