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