Oracleデータベースサーバーを安価に高性能で構築したい
特に価格メリットを出すためにはライセンス費用を安く抑える方法が不可欠です
今回の記事は永久保存版といってもいいOracle Databaseサーバのおすすめハードウェア構成です
Standard Edition 2
Oracle Standard Edition 2はソケットライセンスです
- 8コアCPU 1ソケットの合計8コアサーバ を2台
- CPUソケットは、8コア 3GHz以上のものを選定
- HDDは、SSDでRAID6を構成
- NICは、10G Base-T or 10G SRで構成
- DB 19cでは、SE2 RACが組めない(&Oracle Fail Safeも推奨されない)点に注意
本番環境(&DR環境):シングルインスタンス構成 は以下の通り
- 8コアCPU 2ソケットの合計16コア サーバ を1台
- CPUソケットは、8コア 3GHz以上のものを選定
- HDDは、SSDでRAID6を構成
開発環境(検証環境)
- 好きなスペックで構成(16コア未満で構成すること)
- NUPで開発メンバ分のOracle Databaseライセンスを購入すること
Standard Edition 2のポイントは、ソケットライセンスであるという点です
最大2ソケット(クラスタ構成時には2台で最大2ソケット)と最大16コア(クラスタ構成時には16コア)である点をよく認識し8コアで高スペックなCPUを選定しましょう。8コアで3GHzのCPUクロックを超えるものですね。
この8コアのCPUはIntelから必ず発表されます。いわゆるオラクル用CPUソケットですね
ディスクはSSDを推奨します
Standard Edition 2はEnterprise Editionと違ってパラレル処理(並列処理)ができません。大きなSQLクエリはシングルスレッドで実行させる必要があるため、できるだけ大きなメモリを搭載し、必ずSSDとしましょう。
ディスクIOがボトルネックになりやすいOracle Databaseサーバでは、ディスクをSSDに出来るか出来ないかで大きく変わってきます。
SSDではRAID6を採用しましょう。NVMeなどの高速フラッシュ技術の採用も性能的にはありですが、可用性を簡単に実現できないので見送りましょう。NVMeでRAID6を安価に高速に構成できればいいんですけど
あとSSDならサーバ停止せずオンラインで交換可能である点も見逃せません
Enterprise Edition
Enterprise Editionを利用する場合は高スペックが求められることが多いので、最小構成を下記します
なお、Enterprise Editionでは必ずOracle RAC構成にしましょう。(またはOracle RAC One)
本番環境(&DR環境):RACクラスタ構成 の推奨最小構成は以下の通り
- 4コアCPU 1ソケットの合計4コアサーバ を2台
- CPUソケットは、4コア 3GHz以上で最高周波数のものを選定
- HDDは、SSDでRAID6を構成
- NICは、10G Base-T or 10G SRで構成
Enterprise Editionでは、より高い性能を求めてより高スペックなサーバを選定することも多いですが、CPUコア数が4-16コアの場合はOracle Dabase Applianceが最適解とも言えます
- Oracle製サーバ: Oracle Dabase Appliance
- 理由: スペックが足りなくなったらコアを有効化&DBライセンス追加購入することでHW追加購入無くスケールアップ可能
- 購入時のハードウェア選定時にシングル構成、クラスタ構成両方とも選択可能です。Oracle Database ApplianceはOracle Databaseを動作させる専用のアプライアンス
さらに、16コア以上を必要とする環境であればExadataを検討しましょう
- Oracle製サーバ: Oracle Exadata
- 理由: Oracle Databaseを最高スペックでかつ低価格で動作させることが可能。際限なくスケールアウト可能。特にExadata特有のソフトウェアストレージ技術(Smart Scan)によりバッチ処理が超高速で処理可能
- 購入後にOracle Exadata保有企業として、日本オラクルからの扱いが変わる。
Enterprise Editionを快適に動作させるにはハードウェア設計が不可欠ですが、その設計は困難を極めます。性能・可用性・運用性の3点を確保するためには、シングルベンダで構成する必要性があります。
マルチベンダ(例えばDBベンダとサーバベンダとストレージベンダが異なり2社以上で構成する)になると性能を引き出すための設計が難しい、障害時に切り分けや冗長構成を維持することが難しい、運用管理が個別で大変といいことがありません。シングルベンダで構成すればハードウェア障害でもソフトウェア障害でもベンダに追求が可能になり。自社エンジニアも少数精鋭ですみます。
その意味でも大規模データベースはOracle Exadataを採用することが最適解となるでしょう
といってもOracle Exadataを購入するほどの規模のデータベースを有する企業は日本にゴロゴロいるわけではありません。よりすぐりの大企業ばかりで金融・通信・製造・流通・官公庁それぞれの業界で日本を代表する企業であることが多いです。
Exadataを購入するほどの企業であることがその企業のステータスになりますね。
参考情報
- オラクルライセンス見積もりABC
https://www.oracle.com/technetwork/jp/ondemand/database/db-new/oracle-license-abc-5806448-ja.pdf - 「Oracleデータ・リカバリ・ポリシー」に記載の「フェイルオーバー」適用対象は、どのようなシステム構成ですか?
関連記事です
Oracle Dabase 19cではSE2 RACはサポートされない点に注意してください
とはいえ、できるだけ長くサポートされる19cが現在の移行先として推奨されます
相変わらず、オラクルという会社は叩かれる存在です
以上です