0

我正在起草一个概念验证构建服务器,让我思考的是如何存储它产生的所有数据。例如,我想存储

  • 单元测试结果:运行了哪些测试,每个测试花费了多少时间,结果,堆栈跟踪,断言数量
  • 代码覆盖率信息,具有行级粒度
  • 各种 LoC 指标 - 每个文件,每个文件类型
  • 代码重复信息

此外,这些是我想运行的查询类型:

  • 测试的执行时间如何随时间变化?
  • 随着时间的推移,整体代码覆盖率是如何变化的?那么这种特殊的方法呢?随着时间的推移,未覆盖的行数如何变化?
  • *.cs 文件的 LoC 动态是什么?总 LoC 计数如何变化?

将所有这些都塞进 RDBMS 听起来并不是一个特别好的主意。哪种存储技术最适合我的账单?

4

1 回答 1

1

如果您不想使用 RDBMS,您绝对可以使用 MongoDB 来满足您的要求。

它允许您将类似的文档分组到一个集合中,并且集合中的每个文档不必具有相同的模式。一个文档可以有 5 个字段,另一个可以有 10 个。

它可以很容易地扩展以提供冗余。

MongoDB 还提供了他们所谓的“聚合框架”,允许您对数据生成统计信息/聚合。它比他们的 map/reduce 解决方案更快——当然这可能有点慢。

在目前所有的文档数据库中,我会说它显然是最成熟的,并且肯定拥有最丰富的查询语言。

于 2013-06-03T16:59:19.353 回答