Rails 3 и графовые базы данных - PullRequest
13 голосов
/ 05 мая 2011

Приложение Rails 3, работающее на Postgresql, должно переключиться на графическую базу данных, чтобы иметь возможность расти. Их много, и все они предлагают разные API, в основном REST.

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

  1. REST API не является транзакционным.
  2. Приложения Rails 3 работают на ruby ​​1.9.2, но не на jRuby 1.5.3 или 1.6 для достижения собственного API.

Некоторые базы данных также управляются Java и предлагают REST API, поэтому их использование ничего не меняет. Кто-то другой не подходит нам из-за лицензии, стоимости или отсутствия команды.

Полагаю, я что-то упустил, поэтому буду признателен за любые советы, идеи или советы о том, какие у нас есть варианты и что может сыграть нам на руку. Спасибо.

1 Ответ

10 голосов
/ 09 мая 2011

Вы можете запустить Neo4jrb с Rails 3 на jruby 1.6, так что это не должно быть проблемой.

Чтобы запустить транзакционный (REST) ​​API поверх этого, вы можете легко написатьВаш собственный плагин Neo4j-Server / расширение , который также может использовать Neo4jrb для внутренних целей, но предоставляет API, который подходит для вашего домена и менее подробный / болтливый, чем детализированный REST API Neo4j-Server.Это также должно быть проще для ваших клиентов, поскольку оно говорит в ваших терминах, словаре и сценариях использования.

В настоящее время мы работаем над созданием универсального (j) серверного расширения ruby, способного принимать опубликованные сообщения.код и сделать его доступным как новые конечные точки REST.

...