コンテナ・データベースとは

2023年8月8日

2024年にリリースされた Oracle Database 23aiでは、「コンテナ・データベース」が大きな特徴となっています。また、Oracle Database 21c以降、マルチテナント・コンテナ・データベースはサポートされる唯一のアーキテクチャです。「プラガブル・データベース」のように、コンテナ・データベースは基本的にデータをよりアクセスしやすく、ポータブルにし、プラガブルという用語は、異なるコンテナにプラグインできることを示します。コンテナ・データベースは、複数のデータベースをグループ化し、一般的な機能を共有します。具体的には、コンテナとは、マルチテナント・コンテナ・データベース(CDB)内のスキーマ、オブジェクト、および関連する構造を集めたものです。CDB 内では、各コンテナは個別のIDと名前を持ちます。したがって、CDBには、顧客が作成したプラガブル・データベース(PDB)およびアプリケーション・コンテナがゼロ個、ひとつ、または多数含まれます。

CDBの内部には、ルートとシードという2つのデータベースがあります。ルートには、一部のユーザー情報とオラクルのメタデータが含まれます。シードはCDB内のプラガブル・データベースで、より多くのPDBを作成するためのテンプレートのような役割を果たします。通常のデータベースと同様に、PDBにはオブジェクト、データ、スキーマが含まれ、IDEを使用してデータベースに接続して操作することができます。

CDB 内に複数のデータベースが存在する理由とは何でしょうか。複雑さが増すように思えるかもしれませんが、これにより柔軟性が増し、リソースをより効率的に使用できるようになります。これらのリソースをまとめてパッケージにすることにより、複数の仮想マシン間で複数のデータベースを管理するための間接費をかけずに、データやコードを必要な場所に移動することが容易になります。Kubernetesのようなプロジェクトで開発者が発見したように、さまざまな状況でコンテナを使用することには個別の利点があり、データベースではCDBが同様の機会を提供します。

主な利点は次のとおりです。

  • リソース利用の効率化
  • リソース全体にわたるより容易な複製とアクセス
  • 移植性
  • ユーザーと管理者の制御を含む、より容易な管理

コンテナおよびプラグガブル・データベースは、従来のデータベースと同様にアクセスおよび利用され、開発者はSQL Developerのような多くの使い慣れたIDEを使用してCDB/PDBに接続および管理できます。開発者は主に、CDB 内のプラガブル・データベースに接続し、必要に応じてデータを管理することになります。

Oracle Database 23aiに導入されたデータベースの概念と、CDBとPDBの違いの詳細については、Oracle Databaseの概念ページをご確認ください。これまでのイノベーションをベースに構築されたOracle Database 23ai には、JSONリレーショナルの二面性、マイクロサービス・サポート、SQLの強化など、数多くの新しい機能が導入されています。