Рельсы 3 и графические базы данных
Приложение Rails 3, работающее на Postgresql, должно переключиться на базу данных графа, чтобы иметь возможность расти. Их много, и все они предлагают разные API, REST в основном.
Я очень вдохновлен беседы Эмиль Эйфрем, Генеральный директор NeoTechnologies, о том, что можно сделать с Neo4j. Должен признаться, я играл с ним, и это абсолютно то, что нам нужно, но есть несколько препятствий.
- API REST не является транзакционным.
- Приложения Rails 3 работают на ruby 1.9.2, но не jRuby 1.5.3 или 1.6 для создания собственного API.
Некоторые базы данных также управляются Java и предлагают REST API, поэтому их изменения ничего не меняют. Некоторые из нас не являются опцией для нас из-за лицензии или стоимости или отсутствия команды за ними.
Я предполагаю, что я что-то пропустил, поэтому буду благодарен за советы, проницательность или советы о том, какие у нас есть варианты и что может играть хорошо для нас. Спасибо.
Ответы
Ответ 1
Вы можете запустить Neo4jrb с Rails 3 на jruby 1.6, так что это не должно быть проблемой.
Чтобы запустить API транзакций (REST), вы можете легко написать свой собственный плагин Neo4j-Server/extension, который мог бы также использовать Neo4jrb внутри, но предоставляет API, который подходит вашему домену и менее подробный /chatty, чем мелкозернистый API REST Neo4j-Server. Это также должно быть проще потреблять для ваших клиентов, поскольку оно говорит в ваших терминах, лексике и прецедентах.
В настоящее время мы работаем над созданием универсального (j) расширения сервера ruby, которое может потреблять опубликованный код и сделать его доступным как новые конечные точки REST.