mongodb - 关于事务监控
问题描述
我们希望通过存储 starttime 、 endtime 、 user 、 server 节点来监控服务响应时间,如果服务失败,则还需要存储异常详细信息。
我们不想使用昂贵的关系数据库来存储这些数据。如果我们采用如下 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
/比 inAggregation
快得多。Elastic Search
MongoDB
注意:上面的陈述是基于我对这两者的经验,Elastic
通过MongoDb
在类似机器上对 50M 的数据集运行聚合。
推荐阅读
- c# - 玩家没有看正确的方向
- spring - 有没有办法通过检测 ACK 文件来处理文件
- amazon-web-services - Sagemaker boto3 invoke_endpoint - 我不断收到有效负载的类型错误。使用 Blazingtext 模型端点
- python - 为什么我在使用 pip 安装 python 包时没有获得最新版本的 python 包?
- ms-access - 如何在 Microsoft Access 中将多个表(作为子字段)关联到一个表(作为主字段)?
- javascript - 如何更新(添加和删除)redux 嵌套列表中的项目:Redux、React
- java - java.lang.NumberFormatException:对于输入字符串:“”用于将编辑文本中给出的字符串转换为长字符串
- bash - 使用 SSH 从私有仓库自动克隆 Git
- python - 使用 matplotlib LogLocator 绘制 xarray 多维数据
- android - 在谷歌加载其 SignInIntent 时添加 progressBar