【IT168 技术文章】
由于一些著名的数据库厂商约定的限制,只有很少使用 Oracle 和 Microsoft SQL Server 这样的关系数据库进行符合真实情况的性能测试的数据公开出来。进行这样测试的公司发现 Caché 要好于关系数据库,甚至在不改变应用程序代码而只是是用 SQL 的情况下也是如此。这种性能上的差别经常在应用程序利用了 Caché 的后关系技术优化发生
介绍
一些公司进行了这种 Caché 和其它数据库之间的真刀真枪的比较。本文介绍了由独立的分析家进行的性能测试结果以及由 InterSystems 的客户和潜在的客户进行的作为评估他们的数据库技术的进行测试的结果。因为关系数据库厂商的约定的限制,这些进行性能测试的公司名字被省略了,因为其中含有与 Caché 竞争的关系数据库的名字。
这些测试使用了真实世界里中真实的应用程序和真实的数据。结果是无可置疑的。使用 SQL 查询数据库, Caché 超过了 Oracle , SQL Server 和其它的关系数据库五倍以上。
这儿的大多数研究表明,用 SQL 作为查询语言是因为更容易拿 Caché 和其它关系数据库进行比较。在这些案例中, Caché 的优异的性能归功于它的多维架构,消除了需要在多个表间进行“ join ”的操作。然而, SQL 不是唯一查询 Caché 数据库的方法。当代码被优化过直接操作 Caché 的多为数据结构的时候 Caché 可以运行地更快。
案例研究 #1
某能源供应公司发现 Caché 比一个著名的关系数据库在他们的数据仓库 ETL ( Extract , Transform , Load )应用程序上快 5 倍。他们使用了应用程序的字段定制模型测试了两种数据库,处理 1300 多万条的纪录。两个数据库是用了同样的表定义和查询。然而,现存的字段定制模型严重依靠数据库特定的存储过程,于是他们的存储过程被用 Caché 的存储过程语言重新部署了一遍(这需要 40 个人 - 小时的工作量)。
下表总结了测试结果:

案例研究 #2
某医疗软件供应商进行了一个在 Caché 和某著名关系数据库之间的 SQL 响应时间的测试。使用的是历史病人的数据( 7 张表,超过 650 万条纪录),模拟负载 30 、 60 、 90 和 120 个并发用户的情况下运行 8 个查询。
下表给出了两个数据库的平均响应时间(毫秒计)。两者都很快,但是 Caché 平均快上 4 到 6 倍。另外,一张结果的图表显示 Caché 更容易升级。例如,当负载从 90 个用户扩展到 120 个用户的时候, Caché 的响应时间只增加了 84 毫秒,而关系数据库则增加了 231 毫秒,差了 2.7 倍之多。

案例研究 #3
某个顾问公司比较了 Caché 和某著名的关系数据库,来测量数据仓库情况下的性能。使用了 100 万条纪录的真实的订单处理数据的表,他测量了确认 / 载入的性能和查询响应时间。
即使 Caché 数据结构没有被优化,确认 / 载入 100 万条纪录也比关系数据库快 3 倍( 2681 秒比 8597 秒)。此外, Caché 数据库支需要 146MB 的磁盘空间而关系数据库需要 216 兆的磁盘空间。
SQL 查询响应测试的结果如下:
