Oracle Database Cloud Serviceとは?:クラウドで手軽にデータベースアプリを開発
4月9日に開催された「Oracle CloudWorld Tokyo」のセッションから、クラウド環境におけるOracle DBアプリケーション開発のさわりを紹介する。
オラクル製品といえば開発者にとって高額なイメージがつきまとうが、実はクラウドで提供されている開発環境「Oracle Database Cloud Service」を利用すれば、非常に手軽にOracle Databaseを使ったアプリケーション開発を試すことができる。本稿では4月9日に開催された「Oracle CloudWorld Tokyo」のセッション「クラウドサービスを利用したOracleデータベース・アプリケーション開発」(講演者: オラクル・コーポレーション プリンシパルメンバー・オブ・テクニカルスタッフ シャキーブ・ラーマン氏)の内容をもとに、クラウド環境におけるOracle DBアプリケーション開発のさわりを紹介したい。
Oracle Database Cloud Serviceの特徴
シャキーブ氏はセッションの冒頭、クラウドのメリットとして
- プロパイダによる手間やコストの軽減
- 使用したリソースに応じた従量課金制
- 必要なときに必要な量を調達できるキャパシティオンデマンド
を挙げた。さらにオラクルが提供するOracle Database Cloud Serviceについては「世界で最も使われているOracle Databaseをクラウドで手軽に利用できる環境」と紹介し、その主な特徴を以下のように挙げている。
- 簡単にスタートできる … セルフサービスプロビジョニング、無料のトライアル環境
- 業界標準技術の採用 … SQL、Java(既存のクラウドサービスであるJava Serviceと合わせて利用可能)、REST、HTML5
- エンタープライズグレード … Exadata上で稼働するOracle Database 11gR2 Enterprise Edition、24時間365日体制のサポートと管理
- シンプルな価格設定 … データベースサイズ(5GB/20GB/50GB)に応じて選べる、毎月または期間設定によるサブスクリプション
特にシャキーブ氏が強調していたのはアプリケーション開発ツールのOracle Application Express(APEX)を使った開発/デプロイができること、そしてRESTful Webサービスパブリッシングを利用できることだ。
ブラウザベースのAPEXアプリケーションビルダーは、ウィザード形式の開発を可能にしており、好みのユーザーインターフェイステーマを選ぶこともできる。レポート作成機能やチャート/カレンダー、プラガブルコンポーネントなど開発者の使いやすさにこだわった環境が用意されている。もちろん日本語をはじめとする各言語にも対応済みだ。また、RESTful Webサービスは、Oracle APEXまたはOracle SQL Developer(オラクルがフリーで提供するデータベース開発用グラフィカルツール)を使用して定義でき、RESTful APIを簡単に作成できる。JSONを返すJavaScriptでスタティックHTMLを呼び出したり、OAuth認証またはパブリック認証も可能だ。
また、Oracle Database Cloud Serviceではあらかじめ用意された30以上のパッケージアプリケーションを利用できる点もポイントだ。サーベイビルダーやプロジェクトトラッキング、データレポート作成、コミュニティリクエストなど簡単なポイントソリューションとして利用価値が高い。モバイル用インタフェースも用意されており、カスタマイズも可能なのでさまざまなデバイスへの対応も容易だ。
サービスの使用状況をチェックするには管理用ポータルを利用する。使用率に関するメトリクスと障害通知の表示、データ構造とデータのエクスポート、APEXサービスの起動、パブリックアクセスのロックアウト、アクセス制御の管理、リソース/チャットへのリンク、APEXアプリケーションアーカイブの有効化などをブラウザ上で実行できる。
Oracle Database Cloud Serviceの最小金額プランはデータベースサイズ5GBの「Database S5」で月額175ドルだが、正規ユーザーになる前に30日間の無料トライアル環境(データベースサイズは1GB)で、実際にアプリケーションを構築することが可能だ。シャキーブ氏は無料トライアル環境でのデモンストレーションを行い、アカウント作成してサインインするところからデスクトップ上のExcelデータ(国内の都市と人口が対比している)をクラウド上にロードし、アプリケーションを作成、パッケージアプリケーションのレポート機能やユーザーインターフェイスのモバイルデバイス(デモではiPhone)対応なども数クリックで簡単かつ迅速に行えるところなどを披露している。
Oracle Database Cloud Serviceのインフラストラクチャ
ここでシャキーブ氏はOracle Database Cloud Serviceのインフラとアーキテクチャについて改めて解説を行っている。
まずクラウドサービスの条件として避けて通れないスケーラビリティに関しては、ExadataとExalogicをサービスの基盤とし、加えて「Apache、WebLogic、Identity Management、Secure FTPといったフルスタック構成」(シャキーブ氏)を取ることで実現している。また、オンプレミスでの実績が豊富なOracle 11gR2 Enterprise EditionおよびRACというデータベース環境を用意することで可用性を、さらにスキーマごとにデータを分離することでセキュリティを、それぞれ担保している。これらがすべて「業界標準の技術であることがオラクルのクラウドサービスであることの重要な条件」だとシャキーブ氏は強調している。
ここで興味深いのはスキーマベースのテナント分離によって、クラウド上でマルチテナントアーキテクチャを実現している点だ。Oracle Database Cloud Serviceは「1つのサービス=1つのスキーマ」という設計になっている。つまり複数のデータベースインスタンスがExadata上の各演算ノードに共存しており、さらに各インスタンスには複数のスキーマ/テナントが存在する。各スキーマ/テナントはテーブル、インデックス、コードなどの管理が可能で、スキーマごとに専用のテーブル領域が1つずつ割り当てられている(1つのテーブル領域にはデータファイル領域が1つ割り当てられる)。それぞれのスキーマは完全に独立しているため、マルチテナントによるハードウェア共有が可能になっているのだ。「顧客のデータ(スキーマ)が混在することは決してない」とシャキーブ氏は断言している。平均的な構成は8ノードで、各ノードに3〜5のデータベースインスタンスが存在するという。
また、データベースサービスのダウンタイムを防ぐため、物理スタンバイを使用したActive Data Guardを活用している(ローリングアップグレード用には論理スタンバイを使用)。
余談だが、まもなく出荷される予定のOracle Database 12cは、マルチテナントとプラガブルが最大の特徴となっている。データベースもクラウド時代に合わせて確実にマルチテナントを指向する動きを象徴するようで興味深い。
Oracle Databaseは大企業での利用イメージが強いが、このOracle Database Cloud ServiceはSMB市場にもフォーカスしているとオラクルが強調している通り、手頃な価格と充実した管理(マネージドサービス)が特徴だ。オンプレミスからの移行よりも、新規案件をクラウドで開発するのに適していると言える。まずは無料トライアルでその実力を試してみてはいかがだろうか。
Copyright © ITmedia, Inc. All Rights Reserved.