近期有客户需要皕杰报表与阿里ads分析型数据兼容情况的测试,为此,我方专门租用了阿里ADS分析数据库,做了皕杰报表与阿里ADS分析数据库的兼容性测试:
(1)、皕杰报表版本:皕杰报表V5.0-final-r3
(2)、ADS数据库:
地址:jdbc:mysql://bijetdb-c1ce16fe.cn-beijing-1.ads.aliyuncs.com:10239/bijetdb
用户名:LTAIzHhtm9jSTDS8
密码:FviPE07B6A2BSGRWZKhQzA6gp3sPQe
选用JDBC驱动包:mysql-connector-java-5.1.44-bin.jar
阿里ADS数据库的情况简介
(1)、阿里ADS数据库是基于mysql修改的,与普通的DBMS相比多出了一个“表组”的概念。阿里没有针对ADS提供单独的jdbc驱动,还是使用mysql的jdbc驱动。由于阿里修改了mysql数据库的内核部分,在我方使用mysql的jdbc驱动测试时,发现mysql的jdbc驱动与ADS兼容有些小问题。
(2)、阿里ADS数据库的表分成事实表和维表,其中,事实表分为批量表和实时表。维度表可以和任意表组的任意表进行关联。
(3)、实时表创建时必须有主键,至少要指定一级分区列和相关分区信息,且指定存放在一个表组中。
(4)、批量表,只能从阿里的其它系统如MaxCompute(原ODPS)产出的数据结果离线导入到数据库中,不能用insert等方式插入数据。
(5)、实时更新的表,可以直接insert/delete单条数据(也不支持批量insert),适合业务系统直接写入数据,不支持odps批量load。
(6)、阿里ADS数据库不支持读写事务,并且数据实时更新时一分钟左右才可查询。
(7)、另外,ADS好像有查询数据条数的限制(这个没有深入的了解)。
功能兼容测试用例情况
由于阿里ADS的批量表只能从阿里的其它系统(如MaxCompute)导入数据,所以没法测试“批量表与皕杰报表的兼容情况”。如下的测试用例全是采用的“实时表”:
编号测试用例测试状况
性能测试
影响报表服务器的性能的因素有数据库的sql处理速度、数据的网络传输快慢和报表本身的计算速度这三方面。
皕杰报表经过10多年的不断雕琢和两千多个项目的验证,其性能是不存在任何问题的,影响报表服务器性能的主要还是数据库的sql处理速度和数据的网络传输。
另外,要获得准确的性能,需在一个接近业务场景的环境下进行测试。
但鉴于以下原因:
(1)、ADS是阿里的云端数据库,且不提供免费的测试版本,我方临时租用的ADS数据库版本配置较低,其性能也相对较差,很难真实反映数据库的真实性能。
(2)、我公司内部局域网带宽有限,数据传输受宽带带宽限制,很难测到真实的速度。
(3)、我公司内部办公网络传输不稳定性,影响报表与ADS数据库之间的传输。
因而,性能及压力测试的数据不能真实的表达阿里ADS的性能,建议贵方搭建一个接近业务真实的环境,来测试。
结论
皕杰报表在功能上完全兼容ADS的实时表,其它如批量表由于受到ADS的各种限制无法进行测试。如确实要用阿里ADS分析数据库,建议此部分由客户在建立接近业务条件的环境下进行测试。
网友评论