我正在设计influxdb的RESTful API,但我不知道哪种模式更好,以及实现
group_by
、sum
、count
和选择端点的更好方法。
样例数据结构
Measurement(table): record
time user_id aaa_id bbb_id ccc_id duration
1460678400 1 1 1 1 30
1460678401 1 2 1 1 11
1460678402 2 1 3 1 1
1460678403 3 1 1 4 24
...
哪个是终端节点?
我不知道哪个更好
GET /api/aaas/<aaa_id>/records
GET /api/bbbs/<bbb_id>/aaas/<aaa_id>/records
或者
GET /api/records
with parameters ?aaa_id=<aaa_id>
?aaa_id=<aaa_id>&bbb_id=<bbb_id>
计数和求和的实现
由于记录有很多数据,我只想让API返回duration字段的计数和总和,而不是每个单独的记录。以下是我目前的想法,但我不知道是否有更好的方法来实现这一点。
GET /api/records/statistic
GET /api/aaas/<aaa_id>/records/aggregate
按组统计
我想实现SELECT count(duration) from record group by user_id, aaa_id
,但不知道如何使API更加易读。