报表工具对比选型系列—多样性数据源支持度

本文对比评测了润乾报表、帆软报表、Smartbi、永洪BI、亿信五款主流报表工具对文件数据源、webservices接口数据源及非关系型数据库的支持情况,分析了各工具的优势和局限。

本次仍然评测这几款主流的报表工具:润乾报表、帆软报表、Smartbi、永洪 BI、亿信。之前在多源关联分片报表中验证了各个报表工具的多数据源关联功能,这些产品都能支持多数据源,但对不同类型数据源的支持程度并不一样。目前常用的关系型数据库基本上都提供 jdbc 接口,所有报表工具都支持,这里就不做详细说明,下面主要看下几种数据源的支持情况:

1、 文件数据源,如 Excel、txt、csv 等。

2、 webservices 接口数据源,如服务返回的 json 或 XML 格式数据

3、 非关系型数据库,如 mongodb、ElasticSearch、多维数据库等

润乾报表

1、 文件数据源,润乾报表提供文件数据集,可以直接读取 Excel、csv、txt 等格式的文件,读取时还可以设置数据过滤条件、分组聚合字段等。润乾报表内置的计算引擎,不仅可用于报表中的过程计算,还可用于数据文件的读取。比如除了上边介绍的几种类型之外,使用计算引擎还能读取 xml 及 json 格式数据。更重要的是,在计算引擎中提供了分段并行读取、返回游标等功能,当数据量大时,有更高的读取效率,并且能支持远程服务器上的文件。

2、 润乾报表在计算层中提供了读取 http 服务返回的文件,这样 webservices 返回的 json 格式数据可以通过内置的函数直接读取并解析,特别还能支持多层 json 和 XML 格式数据,在实际应用中,http 返回的可能是 excel、txt 等其他格式数据,同样也能够解析并返回给报表使用。

3、 针对非关系型数据库,润乾报表提供了外部库功能,只需要加载匹配的外部库 jar 包以及使用对应的函数,就能实现非关系型数据库的读取,目前支持外部库包括:阿里云、Elasticsearch、hive、spark、hbase、redis、cassandra、informix 数据库、连接 hdfs 文件系统、多维数据库、webservice、sap、kafka 系统、mongodb 数据库、抓取网页数据等。

帆软报表

1、 文件数据集,帆软报表提供文件数据集,支持 Excel、txt、xml 三种文件格式,可以直接读取对应格式文件的数据, 但不能设置过滤规则以及分组汇总等,数据要全部加载到报表内在单元格中处理。帆软报表也支持远程文件数据集,可以将文件放到远程服务上,数据集中可以直接设置文件的 url,也可以自己写个 jsp 的文件下载页面做灵活控制(帆软提供了例子),新建文本数据集时设置这个 jsp 的 url。文件读取解析是比较常用的逐行读取并且不支持过滤等,数据量大时,性能难以保证。

2、 帆软报表解析 webservices 返回的 json 数据,需要下载 json 数据集插件,按照向导下载安装就行,这样就可以使用 JSON 数据集,使用时输入 URL 等参数信息,就可以直接解析 json 数据,不过这样只能解析简单的单层 json 数据,如果 JSON 格式复杂,那么需要使用 JSON 程序数据集,要写 javascript 语句去解析数据返回,这里技术难度较高。相比于文件数据集,json 数据集是支持读取时数据过滤的。而 webservices 返回 xml 数据时,就需要用文件数据集中的远程文件方式,如果需要 post 方式传递参数,就无法使用了。

3、 针对不同的非关系型数据库,提供了对应的插件,需要在设计器中下载安装对应数据集插件,按照向导下载安装就行,然后按照对应数据集的向导设置数据集就行,目前支持的非关系型数据库包括:Redis、Elasticsearch、InfluxDB、MongoDB、Spider、SAP、多维数据库。

Smartbi

1、 Smartbi 支持的文件数据类型为 Excel、csv、txt,使用时需要将数据文件导入到高速缓存库或关系数据源中,目前关系数据源支持:MySQL、Oracle、DB2_V9、MSSQL,实际上是工具里提供了将文件数据导入数据库的功能,适合一些固定文本数据的使用,如果文本更新较为频繁,限制性就太大了。

2、 webservices 返回的 json 数据或者其他格式数据没法直接解析,需要编写 java 程序自己实现,工具中提供了 JAVA 数据源,解析起来难度较大,需要专业开发人员才能处理了。

3、 非关系型数据库,目前只支持 mongodb 和 Tinysoft,支持类型比较少。

永洪 BI

1、 支持 Excel、txt、csv、log 类型文件,使用时按照向导方式选择相应文件就行,选择文件后,可以对数据进行过滤,分组字段、汇总字段、数据类型转换等设置。

2、 不支持 json 格式的数据,也无法接收 webservices 接口数据。

3、 支持多维数据库、mongodb、Elasticsearch 等非关系型数据库,其余数据库更多借助 jdbc 接口的提供。

亿信

1、 支持 Excel、txt、csv 数据源,和 Smartbi 一样,需要将文件上传导入到自带的数据库中才能够使用,局限性较大。

2、 提供接口数据源,可以配置接口地址,读取 webservices 返回的 json 格式数据,不过这里只能解析单层 json 数据,多层 json 格式数据无法解析。

3、 目前只支持 jdbc 方式连接数据库,没有 jdbc 接口的非关系型数据库暂时还不支持。

总结

从结果来看,对于比较常见的文件数据源,各家工具基本上都支持,不过 Smartbi 和亿信是需要将文件数据导入到相应的数据库中,本质上并不是自行处理的,如果数据变化的话,那么还需要更新数据库中的数据,否则造成数据的不准确,实用性较差。而其余三家都是直接读取文件方式,能够实时读取数据。润乾读取文件还支持有流式和并行读取,数据量大时,效率更高。润乾报表和永洪使用文件数据源时,可以直接基于文件进行数据过滤和汇总等操作,执行效率更高,易用性也更好;帆软只能读入文件,剩下的要在报表中进行设置,易用性和性能上都会差一点。

润乾报表借助于独立的计算引擎,在处理 webservices 返回的接口数据时处理单层和多层 json 格式数据时,只需要通过几个函数就能够实现,而帆软和亿信默认方式只能处理单层的 json 数据,如果要处理多层数据,帆软需要在 javascript 代码中处理,这个有一定技术难度。Smartbi 提供接口方式,要通过 java 程序解析数据,难度更大。永洪更偏向于数据分析,暂时不支持 json 格式数据源。

非关系型数据库目前使用比较广泛,所以也要求报表工具能够连接非关系型数据库,这里润乾和帆软支持最好,实现理念也类似,润乾提供了外部库功能,需要什么库拿相应的更新文件和对应的函数使用就行,帆软是提供了对应的数据集扩展插件,选择对应的库安装使用就行,而其他三家工具更多的是借助 jdbc 方式,虽说现在一些非关系型数据库也封装了 jdbc 接口,但是从实用性和稳定性上来说目前还有待考验。

总体来讲,这方面的能力还是润乾最强,明显胜过其它产品;帆软其次;其它三家都相对较弱,这和之前对复杂报表的评测结果也是类似的。

内容概要:本文详细介绍了“秒杀商城”微服务架构的设计与实战全过程,涵盖系统从需求分析、服务拆分、技术选型到核心功能开发、分布式事务处理、容器化部署及监控链路追踪的完整流程。重点解决了高并发场景下的超卖问题,采用Redis预减库存、消息队列削峰、数据库乐观锁等手段保障数据一致性,并通过Nacos实现服务注册发现与配置管理,利用Seata处理跨服务分布式事务,结合RabbitMQ实现异步下单,提升系统吞吐能力。同时,项目支持Docker Compose快速部署和Kubernetes生产级编排,集成Sleuth+Zipkin链路追踪与Prometheus+Grafana监控体系,构建可观测性强的微服务系统。; 适合人群:具备Java基础和Spring Boot开发经验,熟悉微服务基本概念的中高级研发人员,尤其是希望深入理解高并发系统设计、分布式事务、服务治理等核心技术的开发者;适合工作2-5年、有志于转型微服务或提升架构能力的工程师; 使用场景及目标:①学习如何基于Spring Cloud Alibaba构建完整的微服务项目;②掌握秒杀场景下高并发、超卖控制、异步化、削峰填谷等关键技术方案;③实践分布式事务(Seata)、服务熔断降级、链路追踪、统一配置中心等企业级中间件的应用;④完成从本地开发到容器化部署的全流程落地; 阅读建议:建议按照文档提供的七个阶段循序渐进地动手实践,重点关注秒杀流程设计、服务间通信机制、分布式事务实现和系统性能优化部分,结合代码调试与监控工具深入理解各组件协作原理,真正掌握高并发微服务系统的构建能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值