4

由于我过于自负,我正在开发一个程序,该程序将比我们目前使用的当前系统更好地处理一些数据。我的问题是何时实施业务规则(即,如果这条数据与发送到此队列的此模式匹配)是最佳实践:

只需在程序启动时将所有规则从数据库加载到内存中

正面:非常快

否定:该程序将分配规则,因此可能会占用内存

将所有规则放入数据库并允许在数据库中进行匹配

正面:不使用大量内存

负面:大量的数据库调用

在内存中有一个标志,它将调用数据库中的特定规则。

积极的:不是大量的记忆

负面:仍然有很多数据库调用

有什么想法吗

4

2 回答 2

3

您忘记了两个极端的混合——更智能的缓存(比内存中的所有内容都更智能)。

初始化没有规则(或一些最流行的规则)的缓存。
应用程序从缓存中请求规则。
如果缓存中存在,则返回。
如果没有,则从数据库中加载它,将其存储在缓存中,然后将其返回给用户。

于 2009-11-03T20:28:07.167 回答
2

与所有与性能相关的事情一样,您需要尝试选项并衡量它们的性能。很难提前判断哪一个最适合您。

最新趋势之一是内存数据库。在将整个所需数据集保存在内存中的数据库中进行 BI 和分析。我们谈论的是千兆字节的 RAM。

你可以考虑这个选项,因为它不再是异国情调了。这些天 RAM 很便宜。也许它会为你工作。你需要尝试一下。

于 2009-11-03T20:16:27.987 回答