В настоящее время я пытаюсь выбрать между различными базами данных NoSQL для моего проекта. Проект записывается в clojure и javascript. В настоящее время я смотрю на трех кандидатов на хранение. Каковы относительные сильные и слабые стороны MongoDB, FleetDB и CouchDB? Какой из них лучше поддерживается в Clojure? Какой из них лучше поддерживается в Linux? Я пропустил лучший продукт (должен быть бесплатным и OSS)?
Clojure и базы данных NoSQL
Ответ 1
Мы использовали Clojure + MongoDB, и они отлично работали вместе. В основном из-за модели данных JSON, предоставленной MongoDB, которая может быть легко преобразована в/из Clojure внутренних структур.
Ответ 2
MongoDB по сравнению с CouchDB: http://www.mongodb.org/display/DOCS/Comparing+Mongo+DB+and+Couch+DB
Ответ 3
Я думаю, что модель данных графика свойств Neo4j - это действительно хорошо подходит для Clojure, см. эту страницу вики для ссылок на дополнительную информацию. Что касается бесплатного, Neo4j выпускается под лицензией AGPL3, что означает, что он может свободно использоваться в проектах с открытым исходным кодом с использованием совместимой лицензии. Коммерческая поддержка Neo Technology может предоставлять коммерческие лицензии.
Ответ 4
Если кто-нибудь, видя этот вопрос, ищет текущую версию redis- clojure, которая работает с Clojure 1.3, здесь вы идете: https://github.com/tavisrudd/redis-clojure
Ответ 5
рассмотрим также Redis DB.
Страница проекта: http://code.google.com/p/redis/
и clojure для него: http://github.com/ragnard/redis-clojure/
Ответ 6
MongoDB имеет свой собственный BSON (двоичный JSON), который может дать более высокую производительность при перетасовке большого количества двоичных данных.
Поскольку он использует javascript внутри себя, вероятно, это будет полезно для частей Javascript проекта. Даты clj-времени не (не были?) Совместимы с форматом date MongoDB, хотя java.util.Date.s есть.