用于跟踪文档管理系统中文档状态的数据库



我开始为我们在系统上管理的文档建立一个记录保存数据库。每个文档都要经历一系列特定的处理任务,我将在这里称之为规范化转换提取

文档处理可能在任何这些步骤中失败,所以,我正在寻找一个解决方案,我可以快速存储这些信息存档,但我也应该能够查询信息(并可能总结它)。如果我在json中定义我的数据结构它可能是这样的:

{ 10123 : [
    { queue : 'converter',
      startedAt : 'date-here',
      finishedAt: 'date-here',
      error : { message : 'error message', stackTrace : 'stack trace here' },
      machine : '192.168.0.1'
    } , 
    { queue : 'extractor',
      startedAt : 'date-here',
      finishedAt: 'date-here',
      error : { message : 'error message', stackTrace : 'stack trace here' },
      machine : '192.168.0.1'
    }, 
    { queue : 'extractor',
      startedAt : 'date-here',
      finishedAt: 'date-here',
      error : { message : 'error message', stackTrace : 'stack trace here' },
      machine : '192.168.0.1'
    }, 
] }

在理想情况下,我将拥有来自特定文档的完整处理寿命信息,并且还应该能够检测哪些处理失败以及每个处理花费的平均时间。

有什么理想的数据库解决方案来处理这个问题吗?这可能会导致每天数千次的写入。

主要解决方案是用Java编写的,所以DB应该有一个Java驱动程序。

Mongodb是一个正确的选择,因为它支持所有您期望的功能开箱即用

  • 文档/嵌入式文档
  • json兼容
  • 支持查询(当然除了join)
  • 超快
  • java驱动支持10gen

查看mongodb用例获取更多信息

最新更新