完全に僕の専門外の分野。
しかしサーバのハード構成・インフラと言うことで、あることがきっかけで調べたので、忘れないようにメモメモ。
Oracleは言うまでも無く、あらゆるプラットフォームをサポートする汎用データベースとして、高いシェアと高い信頼性を誇るデータベース管理システム。
以前は「高価」のイメージがあったが、ここ数年は価格戦略を見直し、ごく小規模なで非常に安価な構成から、非常に大規模(で高価)な構成まで柔軟な体系になっている。
(以下は全てx86プラットフォームで、OSはWindowsの場合)
小規模システムだと最低ユーザ数が5ユーザで、9万円台から可能。
これはOracle Database 10g Standard Edition Oneと言う、2CPUで4コアまでが搭載可能なサーバに限定的に適用されるライセンスが利用できるため。
それ以上のサーバであれば"One"ではないOracle Database 10g Standard Editionのライセンスとなる。
Standard Editionでは4CPUで8コアまでが搭載可能なサーバで利用可能。
それを超えるサーバの場合はOracle Database 10g Enterprise Editionが必要になる。
OracleではEditionが違うと、DBを利用するユーザ数が同じでも価格は異なる。
しかもユーザ数によるライセンス(Named User Plusライセンス)とは別にCPU数でのライセンス(Processorライセンス)もある。
だからお客さんに提案する場合は規模によってサーバの機種やCPU数などを考慮しながら、Oracleも適切なライセンスを選択するわけだ。
と、長い前置きが終わってここからが本題。
OracleではRAC(Real Application Clusters)と呼ばれる、Oracleデータベース専用のクラスタの仕組みがある。
1つのDBを複数台のサーバで分散して実行し、高性能化と高可用性を両立させる。
RACは今までEnterprise Editionの有償オプションであり、Standard Editionでは利用できなかったが、10gからはStandard Editionでも利用できるようになった。
たまたまあるお客さんとその話をしたときに、Standard EditionのRACはオプションなのか標準機能なのかが話題になった。
そのときは即答できなかったので、会社に戻って調べた。
結果から言うとStandard EditionのRACは標準で利用可能で、有償オプションは不要。
RACではRACを構成する複数台のコンピュータ全体をまとめて1台のコンピュータと考えるため、通常の1台ごとのデータベースとライセンスの考え方が異なる。
・Processorライセンスの場合、RAC全体のCPU数(及びコア数)でカウント
・Named User Plusライセンスの場合、RAC全体のユーザ数でカウント
・Standard EditionのRACでは、2CPU搭載可能サーバ×2台か、または1CPU搭載可能サーバ×4台までの構成が可能
Standard Editionはどこまで行ってもStandard Edition。
RACの場合はRAC全体で4CPU・8コアまでしか適用できないのね。
そりゃまあ、言われてみたらそうなんだけど。
これではごく小規模なシステムでしか利用できないな。
この3種類の構成では、全てStandard Editionで同じ4CPU分のOracleライセンスが必要。
・1CPU搭載可能サーバ×4台(RAC)
・2CPU搭載可能サーバ×2台(RAC)
・4CPU搭載可能サーバ×1台(単体)
しかしNamed User Plusライセンスの最低数はどうだったかな?。
確かサーバ1台に付き最低ユーザ数の5Named User Plus必要だったはず。
となると1CPUサーバ×4台では最低20ユーザ分、2CPUサーバ×2台では最低10ユーザ分、4CPUサーバ×1台では最低5ユーザ分のライセンスが必要と言うことになる。
通常クラスタ構成にするには多数のユーザが利用する場合が多く、実際には最低ユーザ数については問題にならないと思う。
もし5人とか10人の少ユーザ数で、しかし非常に高い可用性が求められる重要な業務があればサーバ台数によってコストの差は出るけど、まあそれは稀なケースでしょ。
OSであるWindows Server 2003もStandard Editionで可能だし、その上他のクラスタ化ソフトも必要無い。
小規模だけど高い可用性が求められる業務では、Oracle 10g Standard EditionのRACは低価格で非常に高い効果を得られるかもね。
まあ僕自身はライセンスについて調べただけで、実際にはやった事が無いのでどれほどの効果があるか、また運用面の複雑さがどの程度のものかはわからんが。
http://www.oracle.co.jp/database/se/shift.html
・Oracle Database 10g Standard Edition > クラスター環境のパラダイムシフト
http://www.oracle.co.jp/database/se/availability.html
・Oracle Database 10g Standard Edition > 手頃な価格でワンランク上の高可用性を実現
※
Processorライセンスでは、購入するライセンスはコンピュータに搭載されているCPUの数の分だけでいいが、Standard EditionやStandard Edition Oneの適用が可能かどうかについてはそのコンピュータに「搭載可能な最大CPU数」で判断される。
※
当然だけどRACではOracle Databaseのみがクラスタ化の対象となる。
他のサービスもクラスタにするなら、別にクラスタ化ソフトが必要。