我正在使用一个监视系统来在浏览网站时收集用户的鼠标数据(例如运动,点击等)。该监视系统可以服务于多个站点。每个站点都有多个用户(由sessionId
标识)。每个用户如下生成鼠标数据:
{
"sessionId": "12345",
"url": "/",
"width": 1249,
"height": 1074,
"events": [
{
"timestamp": 2291333,
"type": "mousemove",
"x": 931,
"y": 509,
"isTrusted": true
},
{
"timestamp": 2291381,
"type": "mousemove",
"x": 1111,
"y": 504,
"isTrusted": true
},
{
"timestamp": 2291413,
"type": "mousemove",
"x": 1188,
"y": 504,
"isTrusted": true
},
{
"timestamp": 2291445,
"type": "mousemove",
"x": 1214,
"y": 502,
"isTrusted": true
},
{
"timestamp": 2291671,
"type": "mousemove",
"x": 1213,
"y": 502,
"isTrusted": true
},
{
"timestamp": 2291671,
"type": "mousemove",
"x": 1214,
"y": 502,
"isTrusted": true
},
{
"timestamp": 2292285,
"type": "mousemove",
"x": 1230,
"y": 481,
"isTrusted": true
},
{
"timestamp": 2292589,
"type": "mousemove",
"x": 1203,
"y": 339,
"isTrusted": true
},
{
"timestamp": 2292622,
"type": "mousemove",
"x": 1060,
"y": 468,
"isTrusted": true
},
{
"timestamp": 2292653,
"type": "mousemove",
"x": 982,
"y": 541,
"isTrusted": true
},
{
"timestamp": 2292685,
"type": "mousemove",
"x": 961,
"y": 564,
"isTrusted": true
},
{
"timestamp": 2292901,
"type": "mousemove",
"x": 1079,
"y": 456,
"isTrusted": true
},
{
"timestamp": 2292997,
"type": "mousemove",
"x": 1247,
"y": 312,
"isTrusted": true
},
{
"timestamp": 2293205,
"type": "mousemove",
"x": 1247,
"y": 314,
"isTrusted": true
},
{
"timestamp": 2293221,
"type": "mousemove",
"x": 1244,
"y": 332,
"isTrusted": true
},
{
"timestamp": 2293293,
"type": "mousemove",
"x": 1222,
"y": 356,
"isTrusted": true
},
{
"timestamp": 2293365,
"type": "mousemove",
"x": 1071,
"y": 385,
"isTrusted": true
},
{
"timestamp": 2293381,
"type": "mousemove",
"x": 1016,
"y": 404,
"isTrusted": true
},
{
"timestamp": 2293397,
"type": "mousemove",
"x": 971,
"y": 420,
"isTrusted": true
},
{
"timestamp": 2293421,
"type": "mousemove",
"x": 937,
"y": 434,
"isTrusted": true
},
{
"timestamp": 2293437,
"type": "mousemove",
"x": 926,
"y": 437,
"isTrusted": true
},
{
"timestamp": 2293477,
"type": "mousemove",
"x": 905,
"y": 443,
"isTrusted": true
},
{
"timestamp": 2293485,
"type": "mousemove",
"x": 904,
"y": 443,
"isTrusted": true
},
{
"timestamp": 2293549,
"type": "mousemove",
"x": 899,
"y": 446,
"isTrusted": true
},
{
"timestamp": 2293565,
"type": "mousemove",
"x": 889,
"y": 451,
"isTrusted": true
},
{
"timestamp": 2293629,
"type": "mousemove",
"x": 836,
"y": 489,
"isTrusted": true
},
{
"timestamp": 2293637,
"type": "mousemove",
"x": 831,
"y": 493,
"isTrusted": true
},
{
"timestamp": 2293706,
"type": "mousemove",
"x": 759,
"y": 555,
"isTrusted": true
},
{
"timestamp": 2293725,
"type": "mousemove",
"x": 732,
"y": 603,
"isTrusted": true
},
{
"timestamp": 2293757,
"type": "mousemove",
"x": 692,
"y": 691,
"isTrusted": true
},
{
"timestamp": 2293781,
"type": "mousemove",
"x": 666,
"y": 748,
"isTrusted": true
},
{
"timestamp": 2293805,
"type": "mousemove",
"x": 649,
"y": 794,
"isTrusted": true
},
{
"timestamp": 2293829,
"type": "mousemove",
"x": 645,
"y": 813,
"isTrusted": true
},
{
"timestamp": 2294005,
"type": "mousemove",
"x": 714,
"y": 777,
"isTrusted": true
},
{
"timestamp": 2294101,
"type": "mousemove",
"x": 963,
"y": 562,
"isTrusted": true
},
{
"timestamp": 2294125,
"type": "mousemove",
"x": 1007,
"y": 512,
"isTrusted": true
},
{
"timestamp": 2294149,
"type": "mousemove",
"x": 1036,
"y": 479,
"isTrusted": true
},
{
"timestamp": 2294189,
"type": "mousemove",
"x": 1051,
"y": 468,
"isTrusted": true
},
{
"timestamp": 2294213,
"type": "mousemove",
"x": 1057,
"y": 458,
"isTrusted": true
},
{
"timestamp": 2294237,
"type": "mousemove",
"x": 1070,
"y": 442,
"isTrusted": true
},
{
"timestamp": 2294277,
"type": "mousemove",
"x": 1091,
"y": 404,
"isTrusted": true
},
{
"timestamp": 2294301,
"type": "mousemove",
"x": 1101,
"y": 382,
"isTrusted": true
},
{
"timestamp": 2294366,
"type": "mousemove",
"x": 1094,
"y": 375,
"isTrusted": true
},
{
"timestamp": 2294440,
"type": "mousemove",
"x": 872,
"y": 370,
"isTrusted": true
},
{
"timestamp": 2294469,
"type": "mousemove",
"x": 662,
"y": 407,
"isTrusted": true
},
{
"timestamp": 2294485,
"type": "mousemove",
"x": 560,
"y": 421,
"isTrusted": true
},
{
"timestamp": 2294517,
"type": "mousemove",
"x": 374,
"y": 447,
"isTrusted": true
},
{
"timestamp": 2294541,
"type": "mousemove",
"x": 297,
"y": 461,
"isTrusted": true
},
{
"timestamp": 2294566,
"type": "mousemove",
"x": 244,
"y": 473,
"isTrusted": true
},
{
"timestamp": 2294589,
"type": "mousemove",
"x": 216,
"y": 480,
"isTrusted": true
}
]
}
我想将此类数据存储到数据库。当然,我还希望管理员通过暴露Web UI来通过我的系统轻松查询鼠标数据。我知道像InfluxDB这样的时间序列数据库和像Elasticsearch这样的日志解决方案都可以处理相似的数据。但是哪一个更适合我的情况呢?还是都不?
看看ClickHouse。它旨在用于收集分析事件和高速查询原始数据。