时间序列的GraphQL

Sib*_*ini 5 analytics time-series graphql

基于此演讲:https://www.youtube.com/watch?v = srfaKA2wJ0s

我想在GraphQL中实现分析/时间序列查询

query {
   sales(date: { start: ‘2017-01-01’, end: ‘2018-01-01’ }) {
       revenue(stat: mean)
       daily: interval(by: day) {
          date
          revenue
       }
   }
}
Run Code Online (Sandbox Code Playgroud)

revenue(stat:mean)是基于一个统计信息的聚合(在这种情况下是指)每日是按小时/天/月的数据点列表

如何使用mongodb或postgresql/mysql数据库以高效的方式实现这一点?

And*_*ram 3

再考虑一下这个问题......

\n\n

我已经sales(date: { start: \xe2\x80\x982017-01-01\xe2\x80\x99, end: \xe2\x80\x982018-01-01\xe2\x80\x99 })解决了一个看起来像这样的对象:

\n\n
{\n   __type: 'SalesDateSelection',\n   start: \xe2\x80\x982017-01-01\xe2\x80\x99,\n   end: '2018-01-01',\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

这是免费的,因为它只是一个愚蠢的对象,保存创建它所用的参数,这里没有昂贵的数据访问。

\n\n

然后,可以使用其参数和该父对象上的数据的组合来解析每个子字段(revenue(stat: mean)和)。interval(by: day)哪一个可能是 2 个数据库查询?

\n