良好的数据库设计,可按日期存储数据

时间:2019-05-18 15:53:05

标签: database firebase firebase-realtime-database database-design nosql

我正在寻找一个用于资金管理的应用程序,目标是跟踪费用和收入,我不确定如何设计数据库,应该将所有transactions放在同一路径还是使用下面的示例?

screenshot

这种方法之所以有效,是因为我可以轻松地确定要从数据库中提取哪些数据,例如,今年我可以通过检查2019010120191231之间的路径来获取数据。

上个月是20190401 / 20190428,缺点是有些月份没有确切的天数,但我不认为这会引起问题,路径编号始终是31岁以下。

由于唯一的ID,它添加了另一个节点,因此在客户端,数据将嵌套两次,以执行具有挑战性的计算。

如何轻松根据日期查找一些数据?我想这是此应用程序中最重要的参数,如果我必须进行10,000笔交易来查找上个月的更改或当前周的余额,这意味着很少用户可以消耗大量资源,我敢肯定它很快,我尝试过,但是性能不好。我正在寻找可以在不增加资源负担的情况下进行扩展的东西。

PS:此Firebase,NOSQL数据库。有多个钱包,有时我可能需要当前的总余额或总零钱。每笔交易都有一个类别。

1 个答案:

答案 0 :(得分:0)

我使用上面的问题演示的方法结束了它,它非常可靠并且即使使用NOSQL也可以正常工作。在节点之间实现关系将在某种程度上具有挑战性,但是我们将看看它如何进行。