与编写自己的mongodb存储相比,ModeShape的优势是什么?

时间:2015-08-06 06:08:39

标签: storage modeshape

我要开发文件存储系统。主要是我会存储文本文件。我阅读了很多问题和答案,并获得了一些关于文件管理系统的信息,我可以自己开发。

  1. Alfresco使用文件系统和DB引用FS,Apache Jackrabbit使用fs || db而Modeshape使用fs || db || nosql db(cassandra,mongo)
  2. Blob比FS慢,特别是在处理大文件(> 1MB)时,blob更可靠,并提供开箱即用的备份,迁移和一致性支持。由于我不想存储许多大文件,因此fs和blob之间的性能差异变得模糊。
  3. 我决定不在关系数据库中存储blob,而是在mongo db中,因为
    • mongodb底层有GridFS,提供二进制数据的分块处理,开箱即用的服务器之间的复制;
    • mongodb适合存储我的情况下docid / blob的键/值;
    • AFAIK,facebook使用mongo db存储图像和媒体(但它们将许多文件合并为一个blob)
  4. 许多CMS系统,如Magnolia,Hippo CMS和基于Jacrabbit的LogocalDOC,可能只提供FS || DB而且与我不相关,因为我想要mongodb。 Alfresco对我的小要求太麻烦了,也不支持nosql DB,我决定选择ModeShape。
  5. 问题:使用Modeshape而不是简单地创建自己的小型Web应用程序并直接写入mongodb并获得GridFS的好处是什么?

    我自己唯一的答案是,Modeshape还附带了捆绑的Lucene引擎,用于索引搜索。我不确定文档的版本 - 它是用Modeshape专门编写的还是我可以简单地依靠mongodb来处理这个任务? modeshape是否提供了额外的机制来提供数据的完整性和可靠的存储,或者它只是依赖于底层数据库?

    我还想在JBOSS Keycloak下使用文件存储系统作为REST服务,并且不确定是否可以将Modeshape放在Keycloak下。所以,我的问题是我应该开发自己的应用程序,从而获得灵活的开发,将它与mongoDB集成,把它置于Keycloak和其他自定义的愿望之下,或者我应该使用Modeshape并获得一些优势?有什么优势?它真的会减少我身边的代码数量吗? mongoDB是否足以开发具有备份,版本控制,UTF-8文档可靠存储的简单文件存储系统

1 个答案:

答案 0 :(得分:3)

JBOSS forums

提供的答案