如何提高BI性能和可扩展性
一、报表引擎
一个高性能的报表引擎,可以在系统不过载的情况下快速访问数百万行的数据。优秀的报表引擎有.NET、VCL报表FastReport,JAVA报表JReport等。
二、数据访问、数据分析
提供高效报表访问需要的数据访问支持,可能是直接访问生产表,也可能是在数据库中创建物化视图,还可能是提取汇总表或者一个完整的数据仓库。JAVA报表JReport不需要任何数据提取到自定义存储,它可以在任何环境中直接访问数据,包括关系型数据库管理系统、柱状数据库管理系统、庞大的数据源(如MongoDB和HIVE)甚至直接从Java对象缓存数据。如果除了报表功能外,你还希望有图表方式的数据可视化功能,你试试OLAP控件RadarCube,它的数据分析和数据可视化功能十分不错。
三、动态查询
要有一个智能的查询工具可以在运行时自动修改查询。只返回实际需要的数据的报表,而不是所有查询中的数据。当报表请求汇总数据时,自动实现DBMS的聚合和分组,而不是详细的数据。
四、系统配置
该工具需要在服务器上使用服务器资源最有效的管理线程和实例。在大型系统中有许多运行的CPU,但是只有一个实例的工具,不能高效地使用资源。确保你设计的系统务必要充分利用所拥有的资源。
五、可靠性
系统中一定不能有单点故障。如果任何一台服务器崩溃或脱机,其他服务器需要能够透明地接管和执行报表。
六、负载均衡
该系统需要有多个内置的场景,以及可定制的规则用于确定下一报表请求应该运行哪一个。
七、聚类
当集群添加节点时该系统必须是高效的,并且可扩展。
八、监测
该系统应提供基于浏览器的监控和报警,如果服务器没有响应管理员可以收到通知。显示器应该便于重新配置,以便服务器高性能的显示用户情况、当前运行的报表以及节点添加等。
九、资源管理
简单实现如管理报表模板、仪表板、临时报表和定期报表的结果的资源管理。
十、跨平台
用户使用浏览器来创建和运行报表,在任何平台上都应该可以运行。由于JReport是一个Java跨平台报表控件,且基于标准的HTML和JavaScript,它可以在任何平台上运行,支持所有常见浏览器和移动客户端。