March 2010
M T W T F S S
« Jan    
1234567
891011121314
15161718192021
22232425262728
293031  

Oracle Database未来的发展方向– Exadata (3)

前面分析的主要是Exadata如何高效地进行计算。通过在存贮结点加入数据处理能力,Exdata不仅大大地提升了处理性能,而且解决了以前的Oracle架构上可能存在的CPU和网络的瓶颈问题。

一个Database Machine有8个DB节点,14个Cell (存贮)结点。在V1版本中,一个Cell可以提供1GB/s的带宽,14个Cell节点总共能提供的带宽为14GB/s。对于8个DB节点,每个节点都是两个CPU,每个CPU 4 个Cores。所以一个Database Machine中DB节点总共有64个Cores。

8 DB Nodes + 14 Cell Nodes = Balanced System

这是一个经过实践证明过的平衡的一个配置。
记得今年9月底和阿里巴巴的DBA的一个关于Exadata的交流活动上,新成立的阿里云的同事也到场了。Exadata的架构引起了大家的共鸣,会后一个反应是,有人觉得Exadata与云计算有些异曲同工之妙。其实这也难怪,Exadata本来就是一个关注大规模并行计算的集群系统。特别是智能的存贮节点的引入,更使得每个存贮节点能够分担一个大计算里的一小部分,并且这些智能的存贮节点还有线性的可扩展性,当需要更好的性能时,只要简单地相应增加存贮节点和/或DB节点就可以实现了。这难怪不是一个“云计算”的例子吗……

Oracle Database未来的发展方向 – Exadata (2)

下一个问题,Exadata如何解决CPU方面的瓶颈呢?

在Exadata之前,我想无非两种思路,第一在原来节点上用更多更强的CPU,第二采用更多的RAC节点。

不过在Exadata的架构中,CPU的瓶颈已经从基本上得到很大的缓解,这就是存贮节点上CPU处理能力的介入……

Oracle Database未来的发展方向 – Exadata (1)

Exadata应该说代表着Oracle Database未来的发展方向。这句话可不是一句广告词,依我看来,Exadata完全有这个资格享受这种待遇。

一个计算系统,最主要的是追求CPU,IO,Network之间的平衡。使这些计算资源能充分地发挥潜能。比如说,如果IO的扫描能力能达到10GB/s,如果存贮阵列到计算结点的带宽不能达到10GB/s,那么IO的扫描能力就不能得到充分发挥。又比如,如果CPU每秒钟只能处理6GB/s的数据量,10GB/s的IO扫描能力也不能能到充分发挥。

对一个计算系统另一个重要的衡量指标是如何有效地利用计算资源,这同样地包括CPU,IO,Network。比如说,虽然Network可以达到每秒10GB/s的带宽,但如果这些数据都是无效的(与本次操作无关的其它业务数据),那么这只是对网络带宽的浪费。这就涉及到一个重要的课题:如何高效地利用最少的计算资源在最适当的时候对数据进行操作。

在原来Oracle Database的基础上,为满足上面提到的两个基本点,Exadata进行了富有创新的对基本设施的改进。举一个例子,当数据刚从存贮结点扫描出来时,马上进行初步的加工,把无效的数据丢弃。同时,Exadata推出了一个实现了CPU,IO,Network之间平衡的典型的机器配置。这可以说是Oracle为业界推出了自己在Oracle Database的最佳实践的一个最佳解决方案……