【发布时间】:2016-12-11 08:07:07
【问题描述】:
存储一个计数器并在每次更改时实时更新它或从每个可能的数据源计算它更好吗?
例如: 我正在构建一个跟踪“签到”的应用程序,类似于 FourSquare。 当用户“签到”到某个位置时,我需要跟踪个人的统计信息以及所有用户的位置总数。 (为简洁起见,这是应用程序的简化版本,真正的应用程序会跟踪更多信息)。
例如 Joe 到 Coffee Place 打卡:
- 乔/CoffeePlace/+1
现在 Fred、Tom 和 Lisa 也去咖啡店打卡了:
- 弗雷德/CoffeePlace/+1
- 汤姆/CoffeePlace/+1
- 丽莎/CoffeePlace/+1
以上内容对于跟踪个人而言是必要的,但我不清楚在 Coffee Place 跟踪签到总数的最佳做法。
哪种方法是正确的?
- 从每个用户节点收集数据,然后计算所有签到 -> 显示签到总数
- 为 Coffee Place 创建一个文件,该文件在每次入住时都会更新,例如: CoffeePlace/+1+1+1+1
我想对于非常大的数据集,计算上会很耗时(不是因为计算,而是因为从每个节点收集数据)。这里的最佳做法是什么?
【问题讨论】:
标签: firebase design-patterns database-design firebase-realtime-database database