База данных объектов для Ruby on Rails - PullRequest
14 голосов
/ 07 октября 2008

Есть ли замена ActiveRecord, в которой используется какое-то хранилище объектов?

Я думаю, что-то вроде MNesia Эрланга было бы идеальным.

Обновление

Я изучал CouchDB и думаю, что это вариант, с которым я собираюсь пойти. Это проблема между использованием CouchRest и ActiveCouch. CouchRest довольно зрелый и используется в эпизоде ​​с Peep-кодом CouchDB, но он не является заменой ActiveRecord, что является недостатком.

Достаточно сказать, что CouchDB довольно феноменален.

Обновление (10 ноября 2009 г.)

CouchDB действительно не работает для меня. CouchDB на самом деле не поддерживает произвольные запросы (запросы должны быть написаны и скомпилированы заранее). Он также разбивается на очень большие наборы данных.

Я играл с MongoDB , и это действительно невероятно. Хранилище данных JSON без схемы с запросами и индексацией.

Я даже начал создавать для него инструмент управления под названием Ming .

Ответы [ 5 ]

5 голосов
/ 12 января 2009

Попробуйте Маглев !

2 голосов
/ 07 октября 2008

Мадлен является реализацией Java Prevayler Хранилище объектов

см. http://madeleine.rubyforge.org/

2 голосов
/ 07 октября 2008

AciveCouch подразумевает именно такую ​​библиотеку для CouchDB , которая, на самом деле, написана на Erlang. Я бы не сказал, что он такой же зрелый, как ActiveRecord.

Это самое близкое, что я знаю, к тому, что вы просите.

1 голос
/ 07 октября 2008

В настоящее время я работаю с базой данных объектов ruby, которая использует mysql в качестве резервного хранилища (отсюда он называется hybriddb ), который может вас заинтересовать.

Он не использует SQL или миграции, вы просто сохраняете свои объекты в базе данных, он также пытается прозрачно обойти обычные проблемы с базами данных объектов (скорость, быстрый поиск объектов, большие графы объектов).

Это все еще ранняя версия, так что будьте осторожны. Код здесь http://github.com/pauliephonic/hybriddb/tree/master В ветке разработки есть поддержка транзакций, и в настоящее время я добавляю базовые проверки.

У меня есть веб-сайт с некоторыми учебниками и т. Д. http://www.hybriddb.org/pages/tutorial_starter

Любые комментарии приветствуются.

0 голосов
/ 07 октября 2008

Помимо Мадлен, вы также можете увидеть:

http://purple.rubyforge.org/

Но это также зависит от масштаба. Mnesia, как известно, поддерживает большой объем данных и является кластеризованной, тогда как эти решения не будут так хорошо работать с большим объемом данных.

Если количество данных невелико, есть еще один вариант:

http://copiousfreetime.rubyforge.org/amalgalite/files/README.html

...