0

我必须在执行 X 大小数据的查询和不处理它之间做出选择,只需将其发送给客户端,

或者

我可以选择对半 X 大小的数据执行查询并进行一些处理,然后将其发送给客户端。

现在,在我作为程序员的生活中,我遇到了很多存储与速度的问题,但在这种情况下,我必须在“快速查询+处理”或“慢查询+不处理”之间进行选择。

如果重要的话,我使用 nodejs 作为服务器,使用 mongodb 作为数据库。如果您在意,我将持有非相交的地图区域,并且我正在测试一个区域是否与任何地图区域相交。都是盒子。如果我将它们保留为原点,则它只有一对坐标,我必须将点处理成一个区域(所有地图区域都具有相同的大小)。如果我直接将它们存储为一个区域,我不再需要处理它,而是它现在的 4 对坐标。我认为是 4 倍大小,查询速度较慢。

4

1 回答 1

4

这个问题没有正确答案,这完全取决于您的基础设施。例如,如果您为此使用 Amazon Webservices,则取决于交易价格。如果您有自己的基础架构,则取决于数据库和 Web 服务器的负载。如果它们在同一台服务器上,那么在 CPU/内存成为瓶颈之前,来自 DB 的 I/O 是否开始受到限制是底层硬件的问题。

根据您的具体情况确定此问题的正确答案的唯一方法是对其进行设置并进行压力测试,例如使用负载影响或大量其他好工具之一来执行此操作。当它受到重击时,使用top并专门观察该wa列监视您的系统负载 - 如果它开始持续上升超过 50%,那么您的 I/O 受限,并且应该将数据库卸载到 CPU。

于 2013-05-31T21:14:29.820 回答