EDB(EnterpriseDB)のコアライセンス計算方法は、物理サーバ(ベアメタル)と仮想環境で異なります。同じ物理コア数を持つサーバであっても、ライセンスのカウント対象となる「ユニット」の定義が異なるため、最終的な必要ライセンス数に差が出ることが一般的です。
16コアのDBサーバを構成を想定した場合、ライセンスコストが「ベアメタル vs 仮想化」で逆転、あるいは仮想化の方が高額(倍になる)になります。
これは、EDB(EnterpriseDB)のライセンス単位である「uniCore」の定義が、物理と仮想で以下のように厳密に分かれているためです。
1. ライセンス消費の「計算式」の違い
ユーザー様が指摘された「16コア(32スレッド)のサーバ」を例に比較します。
| 項目 | ベアメタル(物理) | 仮想環境(VMware / VVF) |
| カウント対象 | 物理コア数 | vCPU(仮想CPU)数 |
| ライセンス計算 | 16物理コア = 16単位 | 32 vCPU = 32単位 |
| HTの扱い | スレッド分は「無料」 | スレッド分も「有料」 |
| 同じコストにするには | ー | 16 vCPUに抑える必要がある |
なぜ仮想化だと「損」に見えるのか?
EDBのルールでは、1 vCPU = 1 uniCore です。
ハイパースレッディング(HT)を有効にすると、ハイパーバイザ(ESXi等)は物理16コアを「32個の論理プロセッサ」として認識します。VMに「物理性能を最大限与えよう」として32 vCPUを割り当てると、EDB側からは「32コア分のリソースを使っている」とみなされ、16枚ではなく32枚のライセンスが要求されます。
2. 性能とコストの「ギャップ」に注意
重要なのは、「性能は倍にならないがライセンスは倍になる」ということです。
- 性能面: DBの場合、HTを有効にして16コアを32スレッドとして使っても、性能向上は一般的に 20〜30%程度 です。
- コスト面: 16単位から32単位へ増えるため、ライセンス費用は 100%(2倍) 増えます。
3. 仮想環境(VVF等)で設計する際のポイント
① 「vCPU数 = 物理コア数」でサイジングする
ベアメタル16コア環境から移行する場合、VMにはまず「16 vCPU」を割り当てます。
ESXiのスケジューラは、16 vCPUを物理的な16コア(あるいは空いているスレッド)に効率よくマッピングするため、ライセンス数を増やさずにベアメタルに近いパフォーマンスを維持できます。
② サブキャパシティ(仮想化分割)の恩恵を受ける
Oracle等の他社DBと異なり、EDBは「VMに割り当てた分だけ」のライセンスで済みます。
- ベアメタル: 16コアのサーバを買ったら、DBが低負荷でも16ライセンス必要。
- 仮想環境: 同じ16コアのサーバ上で、DB用VMを4 vCPUで立てれば、4ライセンスだけで済みます。余ったリソースは他のアプリケーションに回せます。
ご参考まで。