【发布时间】:2018-11-30 18:21:01
【问题描述】:
我有一个关于数据库设计的问题。我正在创建一个应用程序,该应用程序将从数据库中获取有关用户附近某些地标的数据。该应用程序具有非常高的忠诚度,因此相同的用户经常返回,并经常查询数据库以获取相同的项目。
数据库中的项目不会改变 - 它们都是地理特征,因此数据不会改变。对于我们目前使用的数据库,firebase 具有所有优点,但对于我们获得的查询数量来说似乎相当昂贵。我们正在寻找减少数据库查询负载的方法。
一种解决方案是每次用户发出数据库请求时,将结果复制到本地存储。然后该函数首先检查该条目是否存储在本地存储中,并且只有在未找到时才会发送数据库查询。
这听起来在实践中效果很好,但是我从未听说过其他人这样做,所以我想征求整个社区的意见。这是减少数据库负载(以及加载时间)的好方法,还是有其他人有任何其他建议?
【问题讨论】:
-
虽然我喜欢这个问题,但我不敢说它太宽泛,无法按原样回答。说它很贵只是相对于你认为的贵。我可能认为 10,000 次查询 100 美元“便宜”,而您可能认为它“昂贵”。然后导致数据库设计和编码;您可能已经过度非规范化(!)您的结构,导致过多的数据库命中。或者它可能没有被正确地非规范化,导致您必须读取大量数据才能获得子集。再说一遍,好问题,但没有代码和结构,无法回答。
标签: database firebase local-storage