Autonomous AI Database上のアプリケーション・コンティニュイティについて
アプリケーション・コンティニュイティは、停止の後で影響を受けるデータベース・セッションの進行中の作業をリカバリすることで、エンド・ユーザーおよびアプリケーションから停止をマスクします。アプリケーション・コンティニュイティはこのリカバリをアプリケーションの下で実行するため、停止がアプリケーションの実行のわずかな遅れのように見えます。
アプリケーションの継続的可用性が実現できるのは、データベースの計画的メンテナンス、計画外停止および負荷のリバランスがアプリケーションからわっていない場合です。アプリケーション・コーディングのベストプラクティス、アプリケーション継続性の構成、およびAutonomous AI Databaseを組み合せることで、アプリケーションを継続的に使用できるようになります。
ノート
ノート:アプリケーション・コンティニュイティは、Autonomous AI Databaseではデフォルトで無効になっています。
アプリケーションから計画メンテナンス・アクティビティを非表示にするための最良のアプローチは、アプリケーションを透過的にドレインまたはフェイルオーバーすることです。Oracleの接続プールおよび中間層(WebLogicサーバー、Oracle Universal Connection Pool (UCP)、OCIのセッション・プール、ODP.NET管理対象外プロバイダを含む)は、高速アプリケーション通知(FAN)に対応しているため、メンテナンスの前に作業が正常にドレインされるようAutonomous AI Databaseでメンテナンスが進行すると通知されます。アプリケーション・コンティニュイティは、計画メンテナンス中に実行され、事前定義されたドレイン間隔(Autonomous AI Databaseでは5分)で排出されないセッションをフェイルオーバーします。
コンポーネントや通信の障害によって引き起こされる計画外停止を認識させないようにするために、Oracleは次のものを提供しています:
-
通知 FANは、停止を認識させないようにするための最初のステップです。FANにより、停止が発生した際には、クライアントは通知を受けて、現在のネットワーク待機から抜け出すことができます。このため、アプリケーションが長時間ネットワークの待機で停止することがなくなります。Autonomous AI Databaseの場合、FANはドライバおよびAutonomous AI Databaseクラウド接続マネージャによって処理されます。
FANの通知によって、自動的にアイドル状態の接続がクローズされ、新しい接続が新しいサービスの場所でオープンされます。さらに、間もなくシャットダウンされるサービスの場所で、アクティブな作業を完了できる構成可能な時間が確保されます。IBM WebSphereなどの大手サードパーティのJDBC中間層は、UCPを使用して構成した場合、同様の動作を実現できます。UCPを使用できないJDBCベース・アプリケーションに対しては、Oracleドライバを使用したソリューションと接続テストが用意されています。自律型AIデータベースFANでは、計画メンテナンスが帯域内で送信されます。
-
回復。 クライアントに通知されると、透過的アプリケーション・コンティニュイティ(TAC)またはアプリケーション・コンティニュイティ(AC)を使用したフェイルオーバー処理によって、Autonomous AI Databaseへの接続が再確立され、処理中、コミットされていないリプレイが可能なかぎり機能します。進行中の作業を新しい環境でリプレイすることで、通常、アプリケーションは障害が発生したことを認識せずに実行を続行できます。
アプリケーションに応じて、2つの構成のいずれかでAutonomous AI Databaseでアプリケーション・コンティニュイティを有効にします:
-
アプリケーション・コンティニュイティ(AC)
Application Continuityは、シンJavaベースのアプリケーション、およびNode.jsやPythonなどのオープンソース・ドライバをサポートするOracle AI Database Oracle Call InterfaceおよびODP.NETベースのアプリケーションの停止を隠します。アプリケーション・コンティニュイティは、セッション状態およびトランザクション状態を含む既知のポイントからセッションをリカバリすることによって、セッションを再作成します。アプリケーション・コンティニュイティは、処理中のすべての作業を再作成します。フェイルオーバーが発生した場合、アプリケーションは実行時間がわずかに遅延しますがそのまま続行されます。
-
透過的アプリケーション・コンティニュイティ(TAC)
透過的アプリケーション・コンティニュイティ(TAC)は、セッションおよびトランザクションの状態の透過的な追跡と記録を行って、リカバリ可能な停止後にデータベース・セッションを回復できるようにします。アプリケーションの知識やアプリケーション・コードの変更を必要とせずにこれが実行され、透過的アプリケーション・コンティニュイティがアプリケーションで有効になります。アプリケーションの透過性とフェイルオーバーは、アプリケーションがユーザー・コールを発行するときのセッション状態の使用状況を取得して分類する状態追跡情報を使用することによって実現されます。
アプリケーション・コンティニュイティの詳細は、「アプリケーション・コンティニュイティの概要」を参照してください。