Сервер Neo4j блокирует базу данных. Зачем? - PullRequest
2 голосов
/ 08 июня 2011

Я только начал открывать мир Neo4j и наткнулся прямо на проблему, у меня есть проблемы, чтобы понять.

Я установил Neo4j и запустил его через bin/neo4j start.

На следующих шагах я написал скрипт ruby, который создает новые узлы после установки jruby и гема neo4j. Пока все хорошо.

Как начать, описано здесь: http://wiki.neo4j.org/content/Getting_Started_With_Ruby

Моя проблема: Когда сервер запускается, и я пытаюсь создать узлы, Neo4j отвечает, что база данных заблокирована. Когда я останавливаю сервер, узлы создаются.

Я привык к реляционным базам данных, поэтому я не понимаю этого поведения.

Когда я проверяю информацию о сервере с помощью Neo4j Webadmin Tool (http://localhost:7474/webadmin), для флага ReadOnly устанавливается значение false.

Мне кажется, что подход Neo4j, возможно, отличается от реляционного db, то есть сервер может иметь немного другое назначение, чем сервер db.

Спасибо за любые советы, Tobias

1 Ответ

3 голосов
/ 08 июня 2011

Привязки JRuby запустят свой собственный экземпляр Neo4j, что означает, что у вас будет два экземпляра базы данных, пытающихся использовать одни и те же файлы.

Подход несколько иной, но его используют и реляционные базы данных, например, Apache Derby. Как и в случае с Neo4j, вы можете либо встроить его в свое приложение (это то, что в вашем случае делают привязки JRuby), либо запустить его как автономный сервер.

Так что просто не запускайте сервер самостоятельно, это должно решить проблему.

...