【发布时间】:2017-06-09 16:54:33
【问题描述】:
我正在开发一个仪表板项目,该项目与两个或三个错误跟踪系统(如 jira、mantis 等)连接,并在 Web 应用程序中显示数据的图形表示。
我在做什么:
当添加任何新项目时,我会从这些系统连接并获取数据,并将数据存储在数据库的一个表中。之后有一个网络应用程序,然后在表格中处理这些数据并显示图表和表格。
为了更新,我创建了一个 Windows 服务,它会不断连接错误跟踪系统并更新数据库中的表(项目配置数据也存储在另一个表中)
问题:
如果我不将错误跟踪系统数据存储到数据库中并将该数据存储到对象中会怎样。将创建一个 Web 服务,该服务将在更新时触发更新事件,然后刷新视图?
什么是正确的方法?将整个项目数据存储到内存而不是数据库中是否正确。如果有大量的项目比如 300 或 600 怎么办?
我应该如何决定何时将数据存储在内存中以及何时存储在数据库中?
两种方式的优缺点?
【问题讨论】:
-
项目数据有多大?我们猜不到。
-
相当大。对于 20 个项目,现在有大约 10000 行 12 列,然后是不同表中的其他元数据和配置数据。
-
多少 KB(或 MB 或 GB)?
-
目前数据库大小为 32 MB
-
那么 RAM 应该足够了(600 个项目需要 1 GB)。但是让所有这些数据保持不稳定是非常冒险的。
标签: algorithm design-patterns memory-management data-structures architecture