使用Jackrabbit Oak相比MongoDB的优势

6
我们正在构建一个类似于博客平台或CMS的新闻网站。用户可以撰写文章、发表评论、点赞和分享。我们是新手,无法确定该选择Jackrabbit Oak还是MongoDB?
我查阅了以下讨论主题When to use JCR (content repository) over other options?。我理解JCR允许您将内容组织成与您的需求紧密匹配的结构。我认为这也可以在MongoDB中实现。这个答案将JCR与关系型数据库而非像Mongo一样的NoSQL数据库进行比较。
另外,JCR Oak似乎有些复杂,因此我更喜欢保持架构简单,并在MongoDB上投入时间——除非Jackrabbit提供了在MongoDB中没有的非常重要的功能。
有人能够解释一下JCR Oak在MongoDB上是否有任何杀手级功能吗?
2个回答

4
我们最终决定使用Cassandra。
通过我的调研,我发现JCR社区不太活跃,教程数量也有限。MongoDB在JCR之前远远领先,并且已被几家公司用于生产。我没有发现JCR比MongoDB更具杀手级特性。
我还阅读了几篇博客文章,虽然MongoDB是一个很棒的数据库,并且易于开始开发,但在一段时间后,如果您的网站增长迅速,可扩展性可能会带来一些挑战,性能也可能受到影响。请参见以下博客文章:http://patrickmcfadin.com/2014/02/11/mongodb-this-is-not-the-database-you-are-looking-for/ 尽管我们现在不担心可扩展性问题,但我发现Cassandra的无主体结构、CQL与SQL几乎相似,而且PlanetCassandra上发布了性能基准测试结果,显示Cassandra的线性扩展性。

谢谢。我早在2014年就在寻找类似的东西,我选择了JCR,我必须说,它对于开发人员来说是一个很好的解决方案,因为它使开发更简单、更容易,但随着时间的推移,我开始寻找其他东西。你能详细说明一下你现在对Cassandra的选择有何看法吗?像Neo4j这样的图形数据库呢? - forsberg
实际上,我们最初采用的是Cassandra,但该项目在2个月内被放弃了,之后我加入了另一家公司,我们使用MongoDB。没有使用过Neo4j,因此无法发表评论。根据我的经验,我们不应花太多时间寻找完美的解决方案,只需选择最有可能的方案开始即可。如果您正在构建一个要求不是很明确的产品,那么MongoDB是首选,因为您可以轻松更改架构。如果要求明确,则应使用SQL。一旦遇到可扩展性问题,请转向Cassandra。如果您具有社交网络功能,则应使用Neo4j。 - Abhishek Nalin

4

JCR(Java内容库)仅是API规范。Apache Jackrabbit Oak是JCR的补充实现。Oak支持多个底层内容存储,如NoSQL、RDBMS、文件系统。因此,Jackrabbit Oak的有趣之处在于它可以在MongoDB之上运行。因此,您可以同时拥有JCR和MongoDB。


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