除了Oracle和DB2/390采用share disk以外,其他数据库如db2, informix,sql server都采用share nothing技术。原因很简单,share nothing可以获得几乎线性的性能扩展。
share disk最大的问题之一是全局锁,随着节点数量并发应用的增加,
这个瓶颈妨碍了性能的扩展。就算是Oracle最新的cash fusion技术也无法完全解决这个问题。db2/390采用专门的硬件技术来解决这个问题。
Oracle Real Application Clusters Deployment and Performance手册的第三章非常详细的描述了如何将应用划分(partition your application),以试图减少RAC的开销。
来一段摘录(就是上面提到的Oracle手册)::)))
The partitioning method to use when adding new functionality depends on
the types of data the new functions access. If new functions access the
same data as the existing functions, then you may need to CHANGE your
partitioning strategy. If your application attracts more users than
you expected, then you may need to add more instances [nodes]. Adding
a new instance can also require that you REPARTITION your application.
BTW, share disk in nature is good in high availability. But also in nature
not good in scalability.
I think share nothing DBMS can do online data redistribution too.
【 在 leejw (喜欢自由的感觉,寻找生活的乐趣) 的大作中提到: 】
: share nothing 是oracle抨击sql server和db2的要点
: --增加节点需要重新分布数据,从而不能实现 7*24
: 他们声称oracle9i RAC真正解决了这一类的问题
: 但是ibm、sqlserver好像也没有什么反对的声音,不知道是怎么回事
: btw,你的配置看来很高啊---能够配cluster!!!! admire!