我目前正在尝试为我的项目选择不同的NoSQL数据库。该项目正在用clojure和javascript编写。我目前正在考虑三个存储候选者。 MongoDB,FleetDB和CouchDB的相对优势和劣势是什么?在Clojure中哪一个得到更好的支持?在Linux下哪一个得到更好的支持?我错过了更好的产品(必须是免费的和OSS)吗?
答案 0 :(得分:5)
我们使用的是Clojure + MongoDB,他们一起工作得非常好。主要是因为MongoDB提供的JSON数据模型可以很容易地转换为Clojure内部结构。
答案 1 :(得分:3)
MongoDB与CouchDB相比:http://www.mongodb.org/display/DOCS/Comparing+Mongo+DB+and+Couch+DB
答案 2 :(得分:2)
我认为property graph data model的Neo4j非常适合Clojure,请参阅this wiki page以获取更多信息的链接。关于免费,Neo4j是根据AGPL3许可发布的,这意味着它可以在使用兼容许可的开源项目中免费使用。商业支持公司Neo Technology可以提供商业许可。
答案 3 :(得分:2)
如果有人看到这个问题正在寻找适用于Clojure 1.3的当前版本的redis-clojure,请点击此处:https://github.com/tavisrudd/redis-clojure
答案 4 :(得分:0)
还要考虑Redis DB。
项目页面:http://code.google.com/p/redis/
和clojure客户端库:http://github.com/ragnard/redis-clojure/
答案 5 :(得分:0)
MongoDB有自己的BSON(二进制JSON),这可以在改组大量二进制数据时提供更高的性能。
因为它在内部使用javascript,它可能对项目的Javascript部分有好处。 clj-time的日期不是(不是?)与MongoDBs date-format兼容,尽管java.util.Date.s是。