从上面的分析,我们可以看出,Oracle的费用一般占比超过80%,也就是它是整个投资里面最大的部分。
因此,如果你选择了Oracle,那么只有购买尽量少的Oracle License,这样就可以减少很多License的费用,从而也减少了服务的费用。而其他硬件,则尽量不要成为性能的瓶颈。
因此,省钱的原则就是:
1、采用最高效的CPU,尽量卸载各种处理到存储上,如重删压缩等;
2、采用最快的服务器和全闪存阵列,让外部硬件不能成为瓶颈,充分发挥购买License的作用。
那么,如何选择最高效的CPU呢?大家知道,Oracle的License是按照CPU和核数收费的,不同的处理器类型还有不同的系数。很多厂商拿各种服务器在TPC.ORG那里测试,你可以查到TPC-C的公开值,可以下载最新的TPC-C结果,然后自己计算。下面的计算结果虽然老,但是一样能够说明问题,我就直接拿来说事了。
我们看到,不同的处理器类型有不同的CPU Factor,不同的处理器还有不同的核数。根据他们的TPC-C成绩,可以计算出每个ORACLE License的性能。从结果来看,INTEL的CPU相比IBM的POWER来说,每单位License的性能最高,甚至是10倍以上的关系。
因此,选择X86架构的开放小型机作为数据库服务器就是最经济的方式。比如你可以选择华为的昆仑高端服务器,具有小型机的可靠性,但是支持最新的INTEL CPU,非常适合在关键的ORACLE数据场景下使用。
至于存储,为了使用简单而且不成为系统性能的瓶颈,我推荐全闪存阵列,而且最好支持在线压缩功能。比如华为最新发布的Dorado V3,为全闪存设计,打开重删压缩的稳定时延也在0.5ms以下,而且还支持对称的阵列双活,可以和Oracle RAC组成高可用的双活系统,实现更高的可靠性。关键是其重删压缩可以灵活选择打开或者关闭(以LUN为粒度),比如在ORACLE数据库场景,打开压缩性能无损,一般可以做到2:1的压缩比。而重删对于数据库基本没有作用,甚至还有负作用(比如控制文件和redolog一般为了可靠都是两份,你把它重删了其实更不安全),可以选择关闭,避免浪费存储的资源。当然,你可以在ORACLE层面做压缩,但是ORACLE需要License,而且需要占用服务器CPU的资源,这样会造成ORACLE费用的上升。
当然,除了采用最高效的硬件,尽量发挥ORACLE的性能,这样可以购买更少的License外,还有一些其他的方式。
大家知道,Oracle的标准版是按照物理CPU来收费的,而企业版是按照CPU的核数来收费的。
现在INTEL的单个服务器CPU已经很强大,甚至有几十个核,因此,如果能够采用ORACLE标准版,可能会大大节省ORACLE的费用。标准版最大的限制就是只支持4个物理CPU,但是现在单个CPU性能足够强大,大部分企业应该都能够满足。
这是采用标准版 RAC的价格。假设CPU更强大,只需要配置2个节点。