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

Java 用于跟踪文档管理系统中文档状态的数据库,java,database,logging,nosql,Java,Database,Logging,Nosql,我开始为我们在系统中管理的文档建立一个记录数据库。每个文档都要经历一系列特定的处理任务,我在这里称之为标准化、转换和提取 文档处理可能会在这些步骤中的任何一步失败,因此,我正在寻找一种解决方案,在该解决方案中,我可以快速存储这些信息以进行归档,但我还应该能够查询这些信息(并可能对其进行汇总)。如果我用json定义我的数据结构,它可能如下所示: { 10123 : [ { queue : 'converter', startedAt : 'date-here', f

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

文档处理可能会在这些步骤中的任何一步失败,因此,我正在寻找一种解决方案,在该解决方案中,我可以快速存储这些信息以进行归档,但我还应该能够查询这些信息(并可能对其进行汇总)。如果我用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驱动程序。

是一个正确的选择,因为它支持所有您期望的现成功能

  • 文件/嵌入文件
  • json兼容
  • 支持查询(当然除了连接)
  • 超快速
  • 10gen支持的java驱动程序

查看更多信息

是否有特殊原因将此标记为“nosql?”这似乎是一项可以用SQL中的大约三个表来完成的任务。关系数据库在写密集型解决方案中通常不好,但是我也可以尝试一下使用真正的SQL数据库,因为NoSQL解决方案是可用的。每天有几千次写入,每次写入都有43次。有没有其他活动让你称之为“写得重”?