如何跟踪大量实体的 JSON 数据随时间的变化?

dev*_*ull 5 statistics audit analytics bigdata

我有一个系统,可以每分钟按计划检查大量实体的状态。对于每个实体,都会有一个 JSON 文件,其中包含指示不同属性状态的字段。系统将这些 JSON 文件转储到网络共享上。

每分钟运行的计划的每次运行都会生成一个 JSON,其中包含 20k 个奇数实体,这些实体具有数十个属性。

[
    {
        "entityid": 12345,
        "attribute1": "queued",
        "attribute2": "pending"
    },
    {
        "entityid": 34563,
        "attribute1": "running",
        "attribute2": "successful"
    }
]
Run Code Online (Sandbox Code Playgroud)

我需要能够跟踪实体属性状态随时间的变化,例如,回答诸如状态何时entity x变为“待定”之类的问题。存储这些数据并生成统计数据的最佳方法是什么?

Lou*_*lio 1

您应该将数据存储在数据库中。如果您的数据始终具有相同的结构,您可以使用“经典”数据库,例如 Postgresql 或 Mysql。如果您的数据形状不规则,请查看 MongoDB 等 NoSQL 数据库。如果您需要以 JSON 格式获取数据,您可以轻松地将数据从数据库导出到 JSON。

这是一篇讨论 JSON 和数据库的文章:https://hashrocket.com/blog/posts/faster-json- Generation-with-postgresql