存储预先计算的数据或后期计算的数据是否更好?

时间:2015-09-14 04:49:23

标签: database

如果您有一个等式x + y = z并且您对z感兴趣。更好的做法是单独存储z或仅存储xy,然后在需要时计算z

例如,假设我想计算汽车从起点到任何其他时间点的温室气体排放量。我需要每公里的尾气温室气体排放量以及汽车行驶的距离。

GHG = distance in km * GHG per km

我是否存储距离然后生成温室气体排放量(距离总和*每公里温室气体排放量)还是计算后计算增量温室气体排放量?

1 个答案:

答案 0 :(得分:0)

这完全取决于您的需要。但是当您使用不同的数据库系统/服务时会出现一些问题。

如果您使用自己的数据库(您自己的服务器/机器上的 SQL/MongoDB 等),您可以存储原始数据并按需计算它们,这样您将始终能够对原始数据执行任何操作.

但是当您将数据库用作 Firebase 或 Mongo Atlas 之类的服务时,您必须为您拥有的每个进程付费。因此,如果只在最后使用结果计算,最好将计算结果存储起来。

关于流行数据库服务的一些说明:

Firebase:当您使用它时,唯一的选择是存储计算结果,因为您无法在此系统上进行计算查询。

Mongo Atlas:该系统为您提供了对查询的计算能力,例如您可以进行查询以查找所有文档,然后执行此公式:[field3 = fieldA+Field2],然后得到结果。但您必须为计算过程付费,每次进行查询时,您都需要为此付费。