集算报表 优势价值

多样性数据源

由于多数据源报表的广泛存在使得传统报表工具无法直接满足,用户经常要通过Java自定义数据源完成不同数据源的访问,而Java对集合运算的支持先天不足,从而给报表开发带来极大困扰。集算报表支持多种数据来源,包括:传统关系型数据库、NoSQL数据库、本地文件系统、分布式文件系统(HDFS、GFS等)、JSON/XML数据源、HTTP数据源等,为多样性数据源报表开发提供便利。

report_values_1

大幅提升报表性能

集算报表实现了呈现和计算的分离,大幅提升了整体性能。

首先,集算报表内置的集算器只负责计算,不需要考虑展现因素,可以采用更高效算法,对于分组等有数据关联的计算,性能有极其显著地提高。对于过滤排序等硬遍历式计算虽没有较大提升,但因为运算不带有展现属性,所以性能还是有所提高。下面是一个具体的测试对比结果:

report_values_2

第二,集算报表的展现部分从集算器获取的是计算好的数据集,省去了复杂的格间计算、大量的隐藏行列等,可以专注的优化各种复杂的显示功能。简单格式的报表尚不明显,复杂格式或者大量单元格的报表性能得到了有效的提高。

第三,随着多核多CPU服务器的普及,如何充分利用CPU成了一个需要面临的问题。润乾报表经常面临并发访问用户数不多、但是单线程计算量大的情况,此时采用多线程并行能力是提高CPU利用率、提升计算速度的有效办法。

由于集算报表将计算层单独剥离出来,因此可以在计算层支持多线程并行计算,集算器提供了方便快捷的数据拆分办法,还提供了先进的游标机制,可以高效地把并行结果进行归并,极大地提升计算速度。

集算报表还可以与独立的集算服务器结合,形成多机并行的集群计算体系,更进一步提升报表计算速度和数据处理容量,实现大数据报表。

减轻数据库负担

通过计算外置,可以将数据库中为报表展现准备的大量中间表和存储过程转移到库外,通过集算器对文件数据源的有效支持完成该类数据计算,从而优化数据库结构,减少中间表和存储过程数量,提升数据库性能,减轻数据负担与扩容压力。

report_values_4

作为减轻数据库负担的一种应用方案,集算报表可以用于实现T+0大数据实时查询的效果。

现在企业处理TB、PB级数据查询一般采用两种办法:将历史数据继续存放在生产数据库中一起处理可以实现全量数据实时查询,但会对数据库造成巨大负担,严重影响生产系统必须的低延迟;将历史数据剥离后可保证生产系统的流畅,但又难以实现全量数据实时查询,经常只能提供T+n查询。

集算报表可对剥离后的大量历史数据与当期小量生产数据实施混合计算,从而实现T+0全量数据实时查询。此外,集算报表支持分布式文件存储方式,用于存储不再变化的历史数据,将获得比数据库更高的IO性能。

report_values_5

纯JAVA软件易于集成

集算报表是100%纯JAVA的报表软件。

集算报表软件采用开放的设计思想,通过JAR包的方式,可以方便地嵌入到基于JAVA的应用系统中,与应用系统进行集成,成为应用系统J2EE架构中有机的组成部分,具有优秀的集成特性。

通过丰富的API接口,应用系统可以全面地对报表应用进行各种操作,以需要的方式灵活地使用报表。

做为纯JAVA的报表软件,集算报表可以实现可靠的跨平台布署,而不依赖于在不同平台、不同环境下的反复编译和兼容性测试,从而真正保证了在不同操作系统、应用服务器环境下系统的兼容性、稳定性与可靠性。

对于客户而言,报表系统的应用环境可能千差万别,并且在一个相当长的时间周期内,操作系统、应用服务器可能也会不断升级变化,集算报表纯Java的特性保证了面对各种差异和变化均能从容适应,从而保证了报表服务的稳定、可靠提供,同时大大减轻了系统维护工作的负担。

我们同时认为,报表系统不应是独立的系统,不能成为信息系统中新的孤岛。报表系统不应是封闭的系统,不能为信息系统的整体集成带来诸多麻烦。

作为一个开放的系统,集算报表将能更好地适应客户信息系统的不断发展与提升。

report_values_6