shared disk型のcluster RDBなのですが、
違いが理解できていなかったので
今日のClubDB2でお勉強してきました。
結論から言うと、クラスタ内の各DBノードの
整合性を取る部分(OracleではCash Fusion、
DB2ではCaching Facility)の置き場所が
違うってことが、最大のポイントでした。
両製品ともに、あるインスタンスが落ちても、
クラスタ内の他のインスタンスが生きていれば
無停止でDBが稼動するというのがウリです。
ですが、そのためには、落ちたインスタンスが
掴んでいた情報を誰かが持っている必要があります。
ここで、誰か=CFとなるわけですが、
RACの場合は各DBノード自体にCFが分散配置され、
pureScaleの場合はCF専用のノードを複数持ちます。
RACの方はCF専用のノードを持たないぶん
ノードの総数を減らせますが、インスタンスが
落ちたときにCFの再配置が起こるので、
その間は実は無停止ではありません。
pureScaleの場合はCF専用のノードを持つぶん
ノードの総数は増えますが、インスタンスが
落ちてもCFは無事なので、無停止で乗り切れます。
こう書くとOracleをdisってるように見えますが、
pureScaleの方はCF専用のノードをInfiniBandで
繋いで独自プロトコルで通信をさせるという
コアな仕様になっているので、そこらへんで
問題が起こると結構大変な気がします。
まあ、一つだけ言えるのは、
cluster RDBの導入にはインフラ構築の能力が
強く求められるので、RDBに詳しいだけの人が
手を出すと痛い目に合うってことでしょう。
そのせいで、RAC技術者急募って案件多いもんねw