Поддерживает ли Neo4j транзакции в автономном режиме?

#spring #neo4j

#spring #neo4j

Вопрос:

Возможно ли использовать транзакции, когда Neo4j используется в качестве автономного сервера? Я использую функции из моих репозиториев Spring, и, вероятно, каждая из них выполняется как отдельная транзакция, но я хотел бы объединить их в одну. Возможно ли это сделать?

Ответ №1:

SDN пока не поддерживает удаленные транзакции (которые работают только с конечной точкой транзакции и Cypher).

Таким образом, у вас есть возможность ускорить вашу работу, переместив обработку объектов SDN на сервер и предоставив своим клиентам REST API уровня домена (либо с помощью Jersey, либо SD-REST).

смотрите: http://inserpio.wordpress.com/2014/04/30/extending-the-neo4j-server-with-spring-data-neo4j

Комментарии:

1. На самом деле сейчас производительность кажется очень плохой. В журналах базы данных neo4j я вижу, что когда я запрашиваю какой-либо узел, появляется запрос GET не только для узла, но и отдельный для каждого отношения. Более того, когда я пытаюсь сохранить некоторый узел с обновленными отношениями, я вижу, что сначала Spring еще раз извлекает все отношения отдельными запросами (почему?, чтобы сравнить, были ли какие-либо изменения?). После этого он использует отдельный PUT для обновления каждого, даже не каждого отношения, а каждого свойства в каждой взаимосвязи! В результате время отклика моего простого веб-сервиса составляет 20 секунд, так что это бесполезно.