移行されたMongoDBワークロードのOracle Database Applianceへのデプロイ
ドキュメントやドキュメント・データベースを使用してデータ・スキーマやアプリケーションを進化させるワークロードやアプリケーションは、開発者に提供される柔軟性のために人気があります。スキーマの柔軟性、迅速な開発およびスケーラビリティにより、アプリケーション機能のプロトタイピングの高速化、アプリケーションの進化の容易化、および開発者が大規模なユーザー・ベースに対応するように拡張できる反復的に小さいアプリケーションや機能の構築が可能になります。ただし、このようなタイプのワークロードには、トランザクションの保証の低下、データ問合せの汎用性、分析や機械学習などのドキュメントで他のワークロードをサポートできないという課題があります。
これらのワークロードが従来のドキュメント・データベースのメリットを享受し、リレーショナル・データベースのメリットを活用できるとしたら?たとえば、データを別のデータベースやシステムにレプリケートする必要なく、トランザクション上の保証を強化し、分析や機械学習などの機能を追加することができます。
Oracle Database 23aiは、AI、マイクロサービス、グラフ、ドキュメント、空間、およびリレーショナル・アプリケーションの開発を簡素化するように設計されており、1つの強力なソリューションで必要なすべてを提供するコンバージド・データベース・プラットフォームです。
Oracle Database Applianceは、高可用性Oracle Databaseソリューションのデプロイメント、管理およびサポートを合理化するエンジニアド・システムです。ソフトウェア、コンピュート、ストレージ、ネットワーキングを統合することで、さまざまなオンライン・トランザクション処理(OLTP)、分析、データ・ウェアハウス、AIアプリケーションに信頼性の高いパフォーマンスを提供します。
機能アーキテクチャ
このリファレンス・アーキテクチャは、移行プロセスではなく、移行されたワークロードのデプロイに重点を置いています。移行プロセスについてさらに学習するには、「詳細」の項を参照してください。
このアーキテクチャで使用される主な機能の1つは、MongoDB用のOracle Database APIです。これにより、アプリケーションはMongoDBコマンドを使用してOracle Database内のJSONドキュメントのコレクションと対話できるようになります。これにより、コードをリファクタすることなく、既存のアプリケーション・コードでOracle Database 23aiに格納されているデータを操作できます。
次の図は、データベース層、バックエンド層およびフロントエンド層で構成される一般的なアプリケーションを示しています。
mongodb-logical-arch-migration.zip
このパターンの実装に使用される一般的なスタックは、MEANスタックです。
- MongoDB: ドキュメント・データベース
- Express: バックエンド・フレームワーク
- Angular: フロントエンドフレームワーク
- Node.js: バックエンド・サーバー
このアーキテクチャでは、既存のデプロイメントの例としてMEANスタックを使用して、Oracle Database 23aiに移行します。このワークロードのOracle Database 23aiへの移行は、次の大まかなステップで構成されています。
- Oracle Database Applianceをデプロイおよび構成します。
- Oracle Database ApplianceでOracle Database 23aiインスタンスを作成します。
- MongoDBからOracle Databaseにメタデータおよびデータを移行します。
- Oracle Database ApplianceでVMを作成し、バックエンド層およびOracle REST Data Servicesを実行します。
- Oracle Database Appliance VMにバックエンド層およびOracle REST Data Servicesをデプロイおよび構成します。
- MongoDB APIを有効にするようにOracle REST Data Servicesを構成し、アプリケーションがMongoDBドライバを使用してデータベースと通信できるようにします。
- 新しいデータベース接続文字列を使用するようにアプリケーションを構成します。
- アプリケーションで使用されているものと同じMongoDBツールおよびドライバを使用して、バックエンド・アプリケーションをOracle Databaseに接続します。
ワークロードをOracle Databaseに移行した後、データベースからデータをコピーすることなく、セキュリティの向上、運用レポート、分析、機械学習などの追加機能を有効にすることで、機能を強化できます。Oracle Database 23aiは、マルチモデルのマルチワークロード・プラットフォームです。これにより、リレーショナル、空間、グラフまたはベクトル・データ型を利用する機能を既存のアプリケーションとシームレスに統合できます。
ワークロードのスケーラビリティを向上させるには、データベースおよびアプリケーションの仮想マシンに割り当てられたCPUコアを調整して、より多くのコンピュートおよびメモリーをデータベースに割り当てます。
可用性を向上させるために、Oracle Database Applianceには完全に冗長化された高可用性システムOracle Database Applianceの高可用性があり、2つのコンピュート・ノードを使用してデータベース層とバックエンド層をデプロイします。Oracle Database 23ai Real Application Clustersとともに使用すると、完全な高可用性が実現します。
物理アーキテクチャ
フロントエンド層
- 現在のデプロイメントが使用されます。
- ユーザーは、インターネットまたは企業ネットワークから接続できます。
- フェイルオーバー時にリクエストをスタンバイ・データ・センターにルーティングするように構成されたDNS機能があります。
バックエンド層
- 既存のアプリケーションはOracle Database Applianceの仮想マシンにデプロイされ、ワークロードの統合と全体的なコストの削減が可能になります。
- 顧客管理Oracle REST Data Servicesは、アプリケーション・サーバーOracle Database Applianceの仮想マシンに配置およびデプロイされるため、アプリケーション・コードはOracle REST Data Servicesを介してOracle Database 23aiに接続できます。
- バックエンド層のスケーラビリティは、必要に応じてOracle Database Applianceの仮想マシンを追加し、各アプリケーション・サーバーのVMにインストールされているOracle REST Data Servicesを暗黙的にスケーリングすることで実現されます。
データベース階層
- Oracle Database 23aiは、単一のノード構成でOracle Database Applianceにデプロイされ、バックエンド層へのJSONドキュメントの格納と提供に使用されます。
- Oracle Database API for MongoDBは、Oracle REST Data Servicesを使用して有効になっています。これにより、コードを変更せずに既存のアプリケーション・コードを使用できます。
ビジネス継続性
- バックアップベースのディザスタ・リカバリ計画が使用されます。
- スタンバイ・データ・センターからワークロードを実行するときに、同じアプリケーション・サービス・レベル目標(SLO)が維持されるようにするには、その場所で同等のOracle Database Applianceインフラストラクチャを実行します。
次の図は、このリファレンス・アーキテクチャを示しています。
物理アーキテクチャの設計:
ビジネス継続性
- 同じデプロイメントを持つ2つのデータ・センターがあります。1つはアクティブで、もう1つはスタンバイです。
- バックアップはネットワーク・ファイル・ストレージ(NFS)に格納され、スタンバイ・サイトにレプリケートされます。
- アクティブ・データ・センターで障害が発生した場合、最新のバックアップにより、スタンバイ・センターでワークロードを迅速に起動できます。
- DNSトラフィック・ステアリングは、ユーザー・リクエストをアクティブなデータ・センターに転送します。アプリケーション層で実行されたDNSヘルス・チェック・プローブが繰り返し失敗した場合、DNSは、スタンバイ・データ・センターのワークロードにトラフィックをルーティングするように再構成されます。
- ロード・バランサは、受信リクエストを複数のバックエンド層の仮想マシンに分散するため、単一障害点を防ぎます。
- 顧客管理Oracle REST Data Servicesは、バックエンド層の仮想マシンにデプロイおよび構成されます。VMが追加されるたびに、アプリケーション・サーバーとOracle REST Data Servicesの両方が適切にスケーリングされます。
- リカバリ時間目標(RTO)は、最後にレプリケートされたバックアップからデータベースをリストアするなど、スタンバイ・データ・センター内のすべてのワークロード・コンポーネントのデプロイメントに依存します。
- リカバリ・ポイント目標(RPO)は、最新のレプリケートされたバックアップによって異なります。
ネットワーキング
- インターネットからの受信ユーザー・リクエストを受信するパブリック・サブネットがあります。
- Oracle Database Applianceパブリック・ネットワーク・インタフェース・カード(NIC)は、ワークロードのプライベート・サブネットに接続されます。
- ロード・バランサ・リクエストは、ユーザー・リクエストを処理するOracle Database Applianceバックエンド層の仮想マシンにルーティングされます。
データベース
- Oracle Database 23aiは、Oracle Database Applianceにデプロイされます。
- データは、データの自己回復性を高めるために、二重または三重のミラーリングを使用して冗長的に格納されます。
- 自動データベース・バックアップはNFSにバックアップするように構成され、これらのバックアップは既存のNFSレプリケーション機能を使用してスタンバイ・データ・センターNFSにレプリケートされます。
セキュリティ
- データベース・ロールベースのアクセス制御(RBAC)機能は、ワークロードを保護するために使用されます。
- Oracle Database Enterprise Edition Advanced Securityオプションが使用されている場合、データベースに保存されているデータは、透過的データ暗号化(TDE)を使用して暗号化できます。
簡潔さのために、このデプロイメントに示されていない潜在的な設計改善には、次のものがあります。
- 2つのコンピュート・ノードで構成されるOracle Database Appliance高可用性(HA)システムを活用して、バックエンド・ワークロードの高可用性を確保します。両方のノードにまたがって、自動再起動およびフェイルオーバーによって仮想マシンをデプロイします。
- Oracle Database Appliance HAとOracle Database Enterprise EditionおよびOracle Real Application Clusters (Oracle RAC)を使用して、データベース層の高可用性を実現します。
レコメンデーション
- アプリケーションのデプロイ
複数のバックエンド層のVMを活用して回復力を高めます。CPUリソースのOracle Database Appliance管理を有効にして、適切な量のVMsコンピュートを割り当て、アプリケーションに必要なサービス品質を保証します。
- セキュリティ
Oracle Database Advanced Securityオプション機能を使用して、保存データを暗号化し、動的データ・リダクションを有効にすることを検討してください。Oracle Database Advanced Securityオプションを使用するには、Oracle Database Enterprise Editionライセンスが必要です。
- 可観測性
Oracle Data Safeを使用してワークロードのセキュリティ体制をさらに高め、データベース監査を実行できるようにすることを検討してください。
- 業務効率
Infrastructureをコード(Terraform)としてOracle Database Appliance SDKとともに使用して、仮想マシンおよびデータベースのデプロイメントを自動化することを検討してください。
- アプリケーションの進化
- SQLとOracle APEXのようなフロントエンドを使用してOracle Database 23aiに運用分析とリアルタイム・レポートをデプロイし、信頼できるリアルタイム分析のためにデータをデータベース内に保持することを検討してください。
- Oracle Machine Learning for SQLを使用した機械学習にOracle Database 23aiを使用すること、データ移動を必要とせずにJSONデータを使用してモデルを構築およびトレーニングすること、および効率的な推論のために既存のワークロードとともにモデルをデプロイすることを検討してください。
- ワークロードの機能性と柔軟性を高めるために、データベースを使用して追加のデータ型(リレーショナル、ベクトル、空間またはグラフ)を格納することを検討してください。
- 運用分析を超えた分析にOracle Database ApplianceとOracle Database 23aiを使用することを検討してください。これは、データ分析用に調整された効率的な列形式であるハイブリッド・コラム圧縮の恩恵を受け、データの格納に必要な領域を削減しながら分析のパフォーマンスを向上させます。ハイブリッド・コラム圧縮は、Oracle Database Applianceでサポートされており、Oracle Database Enterprise Editionライセンスに含まれています。