•
从响应时间观察,非兼容模式要明显优于兼容模式,无论是静态SQL还是动态SQL,其性能差别在20%~40%左右。50个并发用户时差距更大,与兼容模式数据库负荷已达到瓶颈有关。
•
从服务器负荷观察,应用服务器负荷大体相当;数据库负荷兼容模式也要明显高于非兼容模式,两者相差30%左右。
•
从同等服务器配置情况下,系统能支撑的最大用户数据数来看,兼容模式大概在50个用户达到性能瓶颈(数据库),而非兼容模式大概在70个用户达到性能瓶颈(数据库)。
DB2兼容模式与非兼容模式影响最大的还是对应用开发上的影响,虽兼容模式可以简化从原Oracle应用程序向DB2进行移植,但综合考虑,还是不推荐采用DB2兼容模式,理由如下:
(1)兼容模式为IBM与EnterpriseDB两家公司合作产物,核心技术应该还是掌握在EnterpriseDB手里,未来如何发展尚不可知。
(2)兼容模式下第三方工具支持的有效性有待考证。通常第三方工具产品说明书上会写明支持DB2哪个版本,而不会写是否支持兼容模式。如果发生问题,容易出现双方互相推诿,受伤的是使用者。另外,兼容性中对字段属性的支持变化,对于数据库复制工具、ETL工具、监控工具等可能都会产生影响,其是否完全支持事先也无法全部测试和验证。
(3)DB2兼容模式的用户群相对较小,其自身BUG发现和解决的时效性无从保障。DB2 v9.7发布已有1年半,从浮点数精度这个较为常用功能的截位问题至今未解决可见一斑。
(4)系统效率也是需要考量的因素,打开兼容模式后,SQL语句的平均执行时间延长(尤其是对于执行时间本身就比较长的SQL语句),同时消耗的系统资源更多。