Oracle Database Cloudの概要
PaaSで提供されるOracle Databaseはクラウドの基本的な恩恵を受け、次のような特性を持っています。
- インスタンスを作成するとすぐに利用可能
- スケールアップおよびスケールダウンが可能
- 従量課金
- 無料トライアルを提供(こちらのページ右上の[試してみる]ボタンからサインアップできます)
サービスのタイプとしては次の3種類[1]が用意されており、システムの規模や、どのくらいデータベースを自己管理したいかに応じて、適切なものを選択できます。
- スキーマサービス(Database Schema Serivce)
- インスタンスサービス(Database as a Service)
- H/W占有サービス(Exadata Service)
それぞれのサービスの特徴を見ていきましょう。
注
[1]: カッコ内はhttps://cloud.oracle.com/ja_JP/databaseにある正式なサービス名。
スキーマサービス(Database Schema Service)
「スキーマサービス」はその名のとおり、1つのスキーマが提供されるサービスで、MySQLやPostgreSQLではデータベースに近い要素です。ユーザーは1つのスキーマを自由に利用可能で、バックアップなどのデータベースの管理はすべてクラウドに任せることができます。また、データベースに格納するデータは、デフォルトですべて暗号化されます。
スキーマサービスは、数あるDBaaS(Database as a Service)の中でも、管理の手間が最小レベルになっています。小規模なアプリケーション、またはデータベース管理者をアサインせずアプリケーション開発に集中したいSaaSプロバイダー、パッケージメーカーに向いています。
インスタンスサービス(Database as a Service)
「インスタンスサービス」ではセットアップ済みのOracleインスタンスが提供され、このインスタンスを使って自由にデータベースを作成・設定できます。また、このサービスは、バーチャルマシンのサービス上でOracleデータベースを稼働させるという構成となっており、OSのrootユーザー権限も与えられるため、かなり自由度の高いサービスといえます。データベースに格納するデータは、デフォルトですべて暗号化されます。
また、インスタンスサービスの特筆すべき機能の1つにマルチテナントがあります。例えば、SaaSプロバイダーはこの機能を使うと、アプリケーション側で対応せずとも、自社のデータベースサービスをマルチテナント化(1つのデータベースサービスで複数の顧客環境を安全に提供)することができます。
これまで「パッケージ」という形でサーバーとセットで製品を提供していたメーカーは、顧客からのクラウド化の要望に、バーチャルマシンレベルのクラウドサービスに自社製品をインストールして提供するという、いわば即席クラウド化で対応しているケースがしばしば見受けられます。
このような形態では、ほとんど変更を加えることなく、パッケージをクラウド上で提供できるものの、顧客ごとにインストール作業や、バーチャルマシン、データベースの用意が必要です。そのため、メンテナンス作業やプラットフォーム費用が、パッケージ数に比例して増えていきます。
Oracle Database Cloudのマルチテナント機能を利用すれば、1つのデータベースサービスで、完全に分離された複数のデータベースを利用できます。つまり、パッケージを何ら変更せずにクラウド化することができ、かつ管理するのは1つのデータベースサービスで、課金が発生するのも1つのデータベースサービスのみで済みます。
これまで、100の顧客環境を作るには、100のバーチャルマシンとデータベースが必要でした。Oracle Database Cloudのマルチテナント機能を利用すれば、1つのデータベースサービスですべてまかなえます。試算すれば、コストパフォーマンスが高く、管理性にも優れていることもわかります。
さらに、マルチテナント環境下ではデータベースごとに性能を設定したり、リソースが均等に割り当てられるようにコントロールしたりできます。これにより、ある顧客のデータベースが、別の顧客のデータベースの性能に影響を与えないように制御することができます。
H/W占有サービス(Exadata Service)
「H/W占有サービス」は、データベースマシン[2]としてOracleが販売している「Exadata」をまるごとクラウドで提供するというものです。
H/W(ハードウェア)を占有する形で提供されるため、ユーザーは、オンプレミスと同様の安定したパフォーマンスを享受できます。提供される単位には「1/4ラック」「1/2ラック」「フルラック」の3つがあり、CPUコア[3]を4個単位で追加できます。
くどいようですが、このサービスでも、データベースに格納するデータはデフォルトですべて暗号化されます。
注
[2]: ハードウェアとソフトウェアの一体型製品。
[3]: 厳密にはOracleが定義するVirtual Core。
コラム「データベースを暗号化することの重要性」
本文で繰り返し、暗号化について言及しましたが、これはセキュリティ事故が致命的な影響をおよぼす企業ユーザーがクラウドを利用するにあたり、Oracleは「データは常に暗号化すべき」と考えているからです。
これまで、暗号化やセキュリティの機能に対して「性能劣化とのトレードオフである」という考え方がありましたが、Oracleは暗号化処理を行うチップを開発し、H/Wに組み込むことによって、暗号化処理による性能劣化の課題を克服しました。これにより、Oracle Cloudではデフォルトでデータを暗号化して保存する仕様にできています。