本文讨论了金蝶云星空产品部署在Oracle或SQL Server的选择问题。指出Oracle因大公司使用广泛而受青睐,但SQL Server在V7.5版本后性能显著提升,支持高并发且响应时间合理。选择Oracle需考虑负载均衡能力、表分区优势及技术支持;SQL Server在数据库大小上无碍。Oracle使用需满足特定条件,如版本、操作系统、技术支持等。另,数据大小写敏感时,SQL Server可通过工具调整或选择Oracle。
经常会碰到咨询金蝶云星空产品应该部署在Oracle还是SQL Server上的问题。大多都认为Oracle比SQL Server好,因为目前很多大公司都在使用Oracle;或者觉得数据库实体大大,SQL Server无法保证性能。
星空产品,每个版本都会对产品运行在SQL Server和Oracle下进行性能对比,基于V7.3的测试,SQL Server的并发小于Oracle(主要事务锁问题)。但经过一段时间的分析和优化,目前V7.5版本,SQL Server可以支持4500并发,并且响应时间在合理的范围(事务类3秒以内,列表5秒以内),说明SQL Server的事务能力并不差。
以目前使用SQL Server的客户也有很多超过100GB,甚至更大的,所以数据库大小并不是问题。
对于Oracle还是SQL Server,一个非常大的区别就在于,数据库是否有负载均衡能力,如果需要有负载均衡,那么需要选择Oracle,SQL Server无法做到。
另外一个优势在于Oracle的表分区的性能要好于SQL Server,但前提是分区规划要合理。
除了上面的原因外,如果企业里面没有Oracle DBA或者相应的外部技术支持,不建议用Oracle。以目前碰到的情况来看,如果没有对应的技术支持,Oracle下运行的不如SQL Server。
如果要用Oracle,那么一定需要保证下面几点
1:Oracle选择11.2.0.4+最新PSU或者12.2.0.2+最新PSU
2:使用Linux内核的操作系统,不要使用AIX,Solaris,Windows操作系统
3:企业有专业的DBA,或者外部的技术支持,可以在出现故障时解决问题
4:定期进行数据库巡检,然后针对结果进行优化
5:定期进行统计分析
6:数据库文件最好放在SSD上
-------------------补充 2020-11-20---------------------
如果数据需要区分大小写,如果要区分a和A字符。SQL Server模版库是不区分大小写的,这时候如果大小写问题是关键项,可以选择Oracle。(或者通过工具将SQL Server库转为大写敏感排序规则的库,但需要专业技术支持。)
推荐阅读