处理大量报告数据

时间:2012-08-29 20:39:58

标签: java architecture reporting scalability

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

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

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

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

1 个答案:

答案 0 :(得分:2)

几点想法:

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