Clojure和NoSQL数据库

18

我目前正在尝试挑选适合我的项目的不同NoSQL数据库。该项目是使用Clojure和JavaScript编写的。我目前正在查看三个存储候选项,MongoDB、FleetDB和CouchDB。它们各自的优势和劣势是什么?哪一个在Clojure下得到更好的支持?哪一个在Linux下得到更好的支持?我有没有错过更好的产品(必须是免费和OSS)?

6个回答

5

我们使用的是Clojure + MongoDB,它们非常好地协同工作。这主要是因为MongoDB提供了JSON数据模型,可以轻松地转换为/从Clojure内部结构。


3

1
从MongoDB网站上看到的,只是这么说而已 :-) - Anders Rune Jensen
1
明确指出这是Mongo网站。 - TTT

2
我认为Neo4j属性图数据模型非常适合Clojure,有关更多信息,请参见此wiki页面。关于免费方面,Neo4j是根据AGPL3许可证发布的,这意味着在使用兼容许可证的开源项目中可以免费使用。商业支持公司Neo Technology可以提供商业许可证。

为什么你认为Neo4j更好?Clojure支持似乎自去年以来没有更新过。 - Mad Wombat
1
我并没有声称它比其他东西更好 :-) 但从我所见,图形数据+Clojure非常匹配。绑定的最后提交仅在一周前,链接在这里:http://github.com/bobby/clojure-neo4j - nawroth
我一直在玩neo4j和clojure,目前为止我非常满意。你可能需要其他类型的数据库来辅助使用。我正在使用postgresql进行非遍历查询。Borneo包装库是必须要使用的。如果你的数据没有自然图形结构,请不要费事。此外,我建议将数据库视为针对特定查询类型进行优化的数据结构,而不是单一真相存储介质。 - Tavis Rudd

2

0

Redis 有哪些更好或不同的地方? - Mad Wombat
抱歉,我没有关于您提到的其他数据库的信息。我只是将“redis”添加到您试图与Clojure一起使用的数据库列表中。它可以正常运行,但在Windows上构建时出现了一些问题。 - zmila

0

MongoDB有自己的BSON(二进制JSON),在处理大量二进制数据时可能会提供更高的性能。

由于它在内部使用JavaScript,因此对于项目中的JavaScript部分可能很好。但是,clj-time的日期格式与MongoDB的日期格式不兼容(或许不兼容?),而java.util.Date则可以。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接