OCIで提供されているデータベースサービスについて
かつてデータベースは、オンプレミスのサーバーにソフトウェアをインストールして稼働させていた。そのためハードウェアからソフトウェアまで管理する必要があり、苦労が多かった。しかしクラウドが登場すると、IaaSでハードウェアとサーバーOSまで準備された環境にデータベースをインストールして利用できるようになった。現在ではさらに進み、PaaSとしてインストール済みのデータベースをサービスとして利用できるようになっている。
今回はオラクルのクラウド「OCI(Oracle Cloud Infrastructure)」で提供されているデータベースサービス(PaaS)に、どのようなものがあるか確認するところから始めよう。ちなみに、どれも内部的にはOracle Databaseをベースとしている。
仮想マシンにOracle DatabaseやOracle RACをインストールしたものは「Base Database Service(Base DB)」と呼ばれる。またOracle Exadataは専用のプラットフォーム上で構成されるのでBaseDBとは区別して「Exadata Database Service(ExaDB)」と呼ばれる。ここまではデータベースの運用に必要な機能の多くが自動化されているので「DB PaaS Automated(自動化)」とくくることができる。
フルマネージド自律型データベース「Autonomous Database」
自動化の次はフルマネージドサービスだ。今回フォーカスを当てるAutonomous Databaseは「DB PaaS Full Managed」と分類され、パッチ適用、リソース監視、バックアップ/リストア、HA/DRまでデータベース管理作業を自動化することができる。さらにはDB最適化からスケーリングなど一般的なマネージドサービスでは管理者が手作業で実施するのがAutonomous Databaseならではの特徴だ。そのため利用者は基本的にはアプリケーション層のことだけを考えればいいようになっている。
ADBは2018年からサービス提供されている。オラクルがこれまで培った技術を最適に組み合わせることで性能の高さを実現している。具体的にはExadataを基盤として、Oracle Database 19cを使い、運用環境では機械学習を用いるなどして、可能な限り自動化が進められている。ユーザーは運用管理に煩わされることなく、アプリケーション層に集中できる。
武井氏はAutonomous Databaseを「新時代のデータベース・サービス」と呼び、その特徴について3つ挙げる。
1点目は「完全なマネージドサービス」。オラクルがこれまで培い、実績のあるOracle DatabaseやExadataを基盤として、運用は完全に自動化され、さまざまなツールが無償で同梱されている。
2点目は「完全な柔軟性」。1CPU単位で、CPUを無停止で増減できる。またワークロードに応じた自動増減も可能だ。CPUやストレージは1秒単位で課金されるため、細かな利用も可能となる。
3点目は「完全なマルチモデル」。トランザクション(OLTP)や分析などあらゆるワークロードに対応し、また構造化データ、JSON、グラフなどあらゆるデータタイプにも対応している。
繰り返しとなるがAutonomous Databaseはさまざまなワークロードに対応しており、特性に応じて4種類のサービスを選択することができる。分析がメインであれば「Autonomous Data Warehouse(ADW)」、JSONメインであれば「Autonomous JSON Database(AJD)」、アプリケーション開発が中心であれば「APEX Application Development」となる。それ以外は混在ワークロードでも使える汎用(はんよう)的な「Autonomous Transaction Processing(ATP)」を使うことになるだろう。
デプロイメントでは、シンプルかつコスト優先で使いたいなら通常のサーバーレスがいいだろう。しかし選択肢がサーバーレスだけではないのがOCIならではだ。大規模なシステムやより自社に特化した運用を求める場合のために「Dedicated Exadata Infrastructure」という占有環境で利用できる選択肢もある。
武井氏は「Autonomous Databaseは世界で数百社以上、日本国内でも数十社以上の公開事例を持ち、多くのお客様で利用されています」と話す。
全てのデベロッパー(開発者)におすすめ!Oracle Code Night
オラクルのテクノロジーだけに限定しない、Developer(開発者)のDeveloperによるDeveloperのための開発者向けコミュニティ Meetup / セミナーを ほぼ毎週さまざまなテーマで開催しています! 開催情報はConnpass(Oracle Code Online)に掲載中!
過去開催分セッションアーカイブはYouTube(@OraDevJP)をチェック!