关于交易监控

Regarding transaction monitoring

我们希望通过存储开始时间、结束时间、用户、服务器节点来监控服务响应时间,如果服务失败,则还需要存储异常详细信息。

我们不想使用昂贵的关系数据库来存储这些数据。如果我们采用如下所示的 JSON 结构,MongoDB 会是一个不错的选择吗?是否有针对此用例推荐的任何其他数据库?

{
startTime:"01 Nov 2021 10:00:00"
endTime : "01 Nov 2021 10:00:03"
user:Tom
serviceName: retrieveCustomers
serverIp :127.0.01
error : {
  errorStackTrace : "Null pointer exception...."
 } 
}

请注意,我们应该能够按用户名、超过 5 秒的交易、错误交易等查询交易

回答这个问题需要更多的上下文。但是让我在这里告诉你我的观点:

我会在这里使用 ELK 框架而不是 Mongo,因为 Search/AggregationElastic Search 中比在 [=14 中快得多=].

注意: 以上陈述是基于我对 ElasticMongoDb 的经验,通过 运行 对数据集的聚合50M 在同类机器上。