我目前在一个项目中使用 Node.js 和 Firebase,我都喜欢。我的挑战是我需要存储数百万个看起来像这样的销售订单行:
{ companyKey: 'xxx',
orderKey : 'xxx',
rowKey : 'xxx',
itemKey : 'xxx',
orderQty: '5',
orderDate: '12/02/2015'
}
我想像下面的伪代码一样查询这些记录:
Select sum(orderQty) from mydb where companyKey = 'xxx' and itemKey = 'xxx' groupby orderDate
根据Firebase count group by等各种原因,groupby 通常是一个难以破解的难题。我在使用 Oracle 物化视图之前已经完成了它,但我想使用某种服务来为我完成所有后端工作,这样我就可以 CRUD 那些销售订单,而不必担心聚合维护。我在另一篇 stackoverflow 帖子中读到 Keen.io 可能是解决这个问题的好方法。
如果互联网专家使用 JavaScript 重堆栈并且他们希望外部服务为他们每天进行聚合,他们将如何解决这个问题?
我正在考虑的几点。我会在他们出现时更新:
1) 看来我可能不得不将 Keen.io 从列表中删除。100 万行需要 125 美元。我不需要 Keen.io 提供的所有功能,只需要按天聚合。
2) 使用 Sequelize + PostGreSQL 似乎是一个不错的折衷方案。我仍然可以使用 JavaScript,一种 ORM 来减轻痛苦,而且 PostGreSQL 托管通常很便宜。