将数据保留在内存中或使用数据库

时间:2019-03-04 16:09:36

标签: sql database search in-memory-database

假设我们有一个售票系统网页,其中显示了票(票分布在多个页面上)。同样,在同一页面上有一个搜索表单,可以进行过滤。

可以随时修改这些票证(删除,更新,插入)。

所以我有点困惑。内部架构应该如何看?我已经思考了一段时间,但没有找到明确的路径。

从我的角度来看,有两种方法:

  1. 使用内存数据库之类的东西,并将所有数据存储在那里。因此,过滤内容和显示请求的项目非常容易。但是这种解决方案意味着在ram中存储了大量无用的数据。像票关闭或解决。这些票应该在那儿,因为可以提出要求。

  2. 将数据库用于每次搜索,页面显示等。因此会有很多查询。每次搜索,每个页面(每个用户)都将导致数据库查询。这不是太多吗?

哪种解决方案更好?有更好的解决方案吗?我的担忧是徒劳的吗?

1 个答案:

答案 0 :(得分:0)

您说过:“但是此解决方案意味着在ram中存储了许多无用的数据。就像票证已关闭或已解决。这些票证应该在那儿,因为它们可以被请求。”

如果那些票应该因为可以请求而在那儿,那不是真正的无用数据吗?

对于内存中/持久性混合数据库来说,这似乎是一个很好的用例。将打开/显示的票证保存在内存表中。关闭后,将它们移至持久表。