java - 处理大量报告数据

标签 java architecture reporting scalability

我有一个报告系统,我需要合并来自 3 个不同服务器(系统)的数据并将其显示给用户。只要有几千条记录,这种方法就可以正常工作,但随着它增加系统超时。

我正在考虑使用另一种方法。当用户运行结果时,我将生成一个请求以向数据库生成报告。运行的守护进程将拾取它并收集数据并生成报告,并将报告数据的链接通过电子邮件发送给用户。我可以在这里做很多事情。

1)将收集到的数据以可以简单地在页面上向用户显示的形式插入数据库。 2)生成html并将其存储到数据库。

虽然我认为第一个选项是最好的,但还有其他建议吗?

最佳答案

几个想法:

  1. 考虑使用 hadoop 使您的报表处理具有高度可扩展性
  2. 考虑按一定时间间隔(例如每小时)运行报告。当用户请求报告时,您可以立即向他们显示最近生成的报告。
  3. 绝对不存储 html。相反,当用户发出请求时呈现它。顺便说一句,这还使您可以灵活地向不同用户显示不同版本的报告

关于java - 处理大量报告数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12186152/

相关文章:

java - Unmodifiable 可修改对象列表

java - 如何将等效的 GO 代码转换为 Java 代码?

oop - 接口(interface)的子类型仅与另一个接口(interface)的子类型兼容

多层架构中的缓存服务器

mvvm - 在 MVVM 中,长期运行的业务操作在哪里处理?

delphi - 自由格式报告工具

java - 如何在 Java 中比较字符串?

java - 如何检测ThreadPool中是否有空闲线程?

elasticsearch - 有什么方法可以将Kibana仪表板直接导出到Grafana?

testing - 在 Jenkins 中显示单个测试结果的历史记录 - 附加插件或配置问题?