Shoeisha Technology Media

CodeZine(コードジン)

特集ページ一覧

Oracleデータベースクラウドサービスの3本柱「マルチテナント」「REST API」「開発フレームワーク」の概要

Oracle Database Cloudでいってみよう! ~ モダンな企業向けクラウドアプリを一番かんたん・安全につくる方法 【第1回】

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2015/11/24 14:00

 RDBMSは長年の歴史があり、多くの企業システム、企業向けパッケージでは心臓部として採用されています。今、時流に乗ってこのRDBMSもクラウドサービス化が徐々に進んでいます。Oracle Databaseはソフトウェアそのものにクラウドを強く意識した機能を組み込んでおり、それがクラウドサービスとしてのOracle Databaseを特徴づけています。本稿では、Oracleのクラウド「Oracle Database Cloud」で提供されているデータベースサービスの特徴を説明します。

目次

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つのデータベースサービスのみで済みます。

Oracle Database Cloudのマルチテナント機能の強み
Oracle Database Cloudのマルチテナント機能の強み

これまで、100の顧客環境を作るには、100のバーチャルマシンとデータベースが必要でした。Oracle Database Cloudのマルチテナント機能を利用すれば、1つのデータベースサービスですべてまかなえます。試算すれば、コストパフォーマンスが高く、管理性にも優れていることもわかります。

さらに、マルチテナント環境下ではデータベースごとに性能を設定したり、リソースが均等に割り当てられるようにコントロールしたりできます。これにより、ある顧客のデータベースが、別の顧客のデータベースの性能に影響を与えないように制御することができます。

H/W占有サービス(Exadata Service)

「H/W占有サービス」は、データベースマシン[2]としてOracleが販売している「Exadata」をまるごとクラウドで提供するというものです。

H/W占有サービス
H/W占有サービス

H/W(ハードウェア)を占有する形で提供されるため、ユーザーは、オンプレミスと同様の安定したパフォーマンスを享受できます。提供される単位には「1/4ラック」「1/2ラック」「フルラック」の3つがあり、CPUコア[3]を4個単位で追加できます。

くどいようですが、このサービスでも、データベースに格納するデータはデフォルトですべて暗号化されます。

[2]: ハードウェアとソフトウェアの一体型製品。

[3]: 厳密にはOracleが定義するVirtual Core。

コラム「データベースを暗号化することの重要性」

本文で繰り返し、暗号化について言及しましたが、これはセキュリティ事故が致命的な影響をおよぼす企業ユーザーがクラウドを利用するにあたり、Oracleは「データは常に暗号化すべき」と考えているからです。

これまで、暗号化やセキュリティの機能に対して「性能劣化とのトレードオフである」という考え方がありましたが、Oracleは暗号化処理を行うチップを開発し、H/Wに組み込むことによって、暗号化処理による性能劣化の課題を克服しました。これにより、Oracle Cloudではデフォルトでデータを暗号化して保存する仕様にできています。


  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • 中嶋 一樹(ナカジマ カズキ)

    日本オラクルのエバンジェリスト。Cloud Platformに関するエンジニアリングと啓蒙活動を担当。クラウドのビルディングブロックを使ったモダンなアプリケーションの開発、エコシステムの構築をライフワークにしている。公私ともに何かを開発していることが多い。

バックナンバー

連載:Oracle Database Cloudでいってみよう! ~ モダンな企業向けクラウドアプリを一番かんたん・安全につくる方法
All contents copyright © 2005-2019 Shoeisha Co., Ltd. All rights reserved. ver.1.5