SQLite-подобная альтернатива для MongoDB?
Я ищу ориентированную на документы базу данных с Ruby API, которая имеет свойства, подобные SQLite:
- самодостаточный,
- бессерверной,
- нулевой конфигурации.
Есть ли легкие альтернативы MongoDB или CouchDB?
Является ли RDDB возможностью?
Если нет, то какие пути лучше всего пройти?
5 ответов
Я знаю, вопрос задавался 5 лет назад, но ради полноты, встроенный MongoDB произошел с тех пор:
Это еще не готово, но встраиваемая версия CouchDB находится в долгосрочной перспективе.
Репликация предназначена для включения автономных приложений с CouchDB. Если у вас возникли очень специфические потребности, вы можете реплицировать данные из couchdb в локальную структуру данных, сохранять их локально, обновлять и отправлять данные обратно посредством репликации, но для этого потребуется некоторый код.
Если бы вы использовали Perl, я бы порекомендовал DBM::Deep
, который хранит произвольные структуры данных на диске, включая транзакции с фиксацией / откатом, и это не-C-установка с одним Perl-модулем. Не становится намного легче, чем это.
Я почти чувствую, что вы могли бы сделать что-то вроде взлома, чтобы добиться этого.
Иметь таблицу, использующую идентификаторы строк sqlite, а также поле для имени коллекции и текстовый блоб, который будет кодом json.
Иметь другую таблицу для индексации с полями в коллекции (имя коллекции, имя поля, значение поля, идентификатор строки документа).
Вы могли бы сделать некоторый класс-обертку для обработки таких вещей, как обновления и поиски. Было бы интересно.