Поздравляем 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 включает в себя важные улучшения производительности и исправляет различные ошибки, обнаруженные как открытым сообществом, так и полевой командой, работающей с клиентами. Мы стараемся как можно быстрее поместить их в открытую кодовую базу, чтобы каждый мог получить пользу. Другие известные функции, которые были добавлены, включают:
Журналы изменений
Полная информация о каждом из изменений содержится в файлах changes.txt, доступных для
сообщества ,
расширенных и
корпоративных компонентов.
Это сильный новый релиз, который, мы думаем, вам понравится. Для справки и получения дополнительной информации о новых функциях, появившихся на разных этапах , обратитесь к
блогам 1.7.M01 ,
1.7.M02 и 1.7.M03 и
журналам изменений (см. Выше).
Пожалуйста,
загрузите его сейчас. Пользователи Heroku также сразу же получают ее в качестве версии по умолчанию для новых приложений, поэтому
дополнения к Heroku: добавьте neo4j сейчас. Везде, где вы используете Neo4j, присоединяйтесь к нам в группе
Google, чтобы поболтать о вашем прогрессе и поделиться новыми идеями, которые вы хотели бы увидеть, когда мы приступаем к разработке серии 1.8.
Команда Neo4j