用于存储文件及其元数据的数据库

时间:2013-11-24 13:35:41

标签: java database dms

我决定在Java中开发一个EDMS作为我去年IT项目研究的年终项目,我目前正在研究用于上传和存储不同格式文件的数据库解决方案以及他们的元数据。 我希望能够查询文件元数据和文件内容(I.E:返回用户John之后在2012年6月之后创建的所有文档,其中包含字符串“finance”)。

据我所知,数据库用于数据,文件系统用于文件,如this article中所述,但我的一些老师建议我查看XML数据库,Apache CocoonApache Jackrabbit我不得不承认,我不知道应采取哪种方法。 This article似乎暗示MongoDB是我最好的选择?

感谢您的耐心和帮助。

的Sebastien

1 个答案:

答案 0 :(得分:2)

如果没有您计划实施的功能,很难说。假设您的系统将:

  1. 允许上传文件
  2. 允许根据各种元数据搜索文档
  3. 允许downloadig
  4. 考虑:

    1. 将文件保存在文件系统中,但将数据库保存在数据库中,例如mysql
    2. 将文件保存在文件系统中,但使用像Elasticsearch这样的搜索引擎 存储元数据。
    3. 这两种解决方案都可以根据您的搜索方式进行操作。您的申请流程将是:

      上传文件

      1. 用户上传新文档
      2. 分配文档内部ID
      3. 根据该ID将文档存储在文件系统中
      4. 使用ID将数据库存储在database / elasticsearch中以引用文件
      5. 检索文件

        1. 用户输入搜索条件
        2. 您为数据库或elasticsearch生成查询
        3. 显示结果。结果将包含您创建的内部ID的链接
        4. 用户选择结果。您使用该ID来获取文档
相关问题