Oracleのライセンスについてまとめてみる
Oracleのライセンスについてのおぼえがき
Oracleライセンスの種類
2017年3月時点で主に二種類
Standard Edition 2(SE2)とEnterprise Edition(EE)
機能の豊富さではSE2 < EEなので、EEはめちゃくちゃ価格が高い。
また、Oracle Databaseが稼働するサーバの物理プロセッサー(ソケット)数で必要なライセンス数が決まるプロセッサーライセンスとデータベースを利用するユーザー数でライセンス数が決まるNamed Userライセンスがある。
基本的にはプロセッサーライセンスを利用することが多い。
プロセッサーライセンスの考え方
プロセッサーライセンスは利用する基盤およびライセンス種類で数え方が変わってくる。
オンプレミスサーバの場合
オンプレミスサーバでSE2ライセンスを利用する場合、Oracle Databaseが稼働しうる全ての物理サーバ上のCPUソケット数をカウントする必要がある。
一方、EEライセンスを利用する場合、Oracle Databaseが稼働しうる全ての物理サーバ上のCPUコア数をカウントする必要がある。
ただし、CPUのメーカーなど種類によって最後に掛け算する係数たるものが存在し、多くのCPUは0.5という係数が当たっている。
最近の機器だと2ソケット、32コア、64スレッドなどなど。EEだとめちゃくちゃ高くなるが・・・
SE2であれば2ソケットなので2ライセンス、EEであれば32×0.5=16ライセンス、といった計算になる。
パブリッククラウドの場合
現在、Oracleが利用を許諾しているパブリッククラウドはAWSおよびAzureしかない。
これについて、2017年3月時点でのライセンス数の考え方はシンプルで、ハイパースレッドなど関係なくOracleが稼働する仮想インスタンスの仮想コア数(vCPU数)分のライセンスが必要となる。
なのでAWSではハイパースレッド有効にした方が同じvCPU数でも必要ライセンス数は半分か。
Named Userライセンスは滅多に出てこないからいいや。
WindowsによるOSベースの可用性と冗長性についてまとめてみる
Windowsの冗長性、可用性の機能についてまとめてみます。
用語の整理
MSFC、MSCS、WSFC、NLB・・・調べるといろいろあるけど代表サービスは結局は二つだけでした。
MSFC(Microsoft Failover Cluster)とMSCS(Microsoft Clustering Service)とWSFC(Windows Server Failover Cluster)は全て同じ機能を指していて、クラスタリングサービスの呼称。
MSCSはWindows Server 2003 R2までの呼び名。
現在はMSFCおよびWSFCのどちらかが用語として使われるらしい。
NLB(Network Load Balancing)は、負荷分散機能の名前。
MSFC
クラスタリングサービスは、Active-Passive構成を実現する。クライアント-サーバ-ディスク間の可用性を向上させる。
サーバが壊れた場合、Cluster IPの振り先とディスク認識をするサーバを切り替える。
※ディスクの可用性はディスク側の別機能で向上させる必要あり。
NLB
負荷分散サービスは、クライアントPC-サーバ間の可用性と負荷分散を実現する。あるサーバが壊れた場合はVIPから正常動作しているサーバへのみ振る。
下の画像のような構成の場合、複数のサーバが一つの共有ディスクにアクセスできるような構成には向いていないため、各サーバが独立したディスクを持つような場合には向いている。
データベースがいい例
Oracleがいい例のようです。
Oracleには主に3つの可用性、冗長性の向上方法がある。
Oracle RAC(Oracle Real Application Cluster)とは
NLBの機能とFC(Failover Cluster)の両方の機能を同時に実現する。すごい。
Failover Clusterの従来の実現方法は、共有ディスクへのアクセスを常に一つのサーバからのみに限定するものの、そのアクセス許可サーバをうまく切り替えることで実現していた。
しかしOracle RACの場合は、一つのディスク(Oracle Database)に複数のサーバが同時にアクセスをすることを許可し、ディスクへの操作がバッティングしても排他制御をうまく働かせることで整合性を維持することができる。
Oracle Fail Safeとは
Oracle DatabaseにMSFC対応をさせるもの。つまりは上述したクラスタリングサービスを指す。
Oracle Data Guardとは
データベースのREDOログとある時点でのバックアップを遠隔地保存するサービス。
REDOログとは過去のある時点から先に進める操作ログのこと。
UNDOはある時点から後ろへ戻す操作ログ。
ひとまずのまとめ。