基于此演讲: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
}
}
}
收入(统计:平均值)是基于一个统计数据的聚合(在这种情况下是平均值)
每天是按小时/天/月列出的数据点列表
如何以高性能的方式使用 mongodb 或 postgresql/mysql 数据库来实现这一点?
最佳答案
考虑了更多...
我有 sales(date: { start: ‘2017-01-01’, end: ‘2018-01-01’ })
解析为如下所示的对象:
{
__type: 'SalesDateSelection',
start: ‘2017-01-01’,
end: '2018-01-01',
}
这是免费的,因为它只是一个包含创建它的参数的哑对象,这里没有昂贵的数据访问。
然后可以使用它们的参数和此父对象上的数据的组合来解析每个子字段(
revenue(stat: mean)
和 interval(by: day)
)。这大概是 2 个数据库查询?
关于time-series - 时间序列的 GraphQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42638030/