アクティブ・スタンバイ・ペアのプロビジョニングについて
TimesTen Classicデータベースは、ほとんどの場合、アクティブ・スタンバイ・ペアで実行されます。図1-1に、アクティブ・スタンバイ・ペアのレプリケーション・スキームを示します。2つのデータベースがあります。1つはアクティブ・データベースで、もう1つのデータベースはスタンバイです。アプリケーションによって、アクティブ・データベースが更新されます。スタンバイ・データベースは読取り専用で、アクティブ・データベースからレプリケートされた更新を受信します。2つのデータベースのうち、一度に1つのみがアクティブ・データベースとして機能します。アクティブ・データベースで障害が発生すると、スタンバイ・データベースがアクティブ・データベースに昇格します。障害が発生した(アクティブ)データベースは、リカバリ後、スタンバイ・データベースになります。アクティブ・スタンバイ・ペアのレプリケーション・スキームの詳細は、『Oracle TimesTen In-Memory Databaseレプリケーション・ガイド』のレプリケーション・スキームのタイプを参照してください。
アクティブ・スタンバイ・ペアのレプリケーション・スキームは、Kubernetesに適しています。具体的には、TimesTenデータベースのアクティブ・スタンバイ・ペアを実行する、それぞれが永続記憶域を持つポッドのペアを考えてみます。アクティブ・データベースが格納されているポッドに障害が発生すると、Kubernetesによって別のポッドが自動的に生成され、これに適切な記憶域がアタッチされます。
ただし、KubernetesはTimesTenについて何も認識していないため、存続しているポッド上のスタンバイ・データベースをアクティブ・データベースにするために必要な処理を自動的に実行しません。ここでTimesTenオペレータが役立ちます。
TimesTenは、TimesTenClassicオブジェクト・タイプをKubernetesに追加するCRDとともに、TimesTenデータベースを管理するオペレータを提供します。オペレータは、設定および初期構成を自動化し、データベースおよびレプリケーションを管理し、フェイルオーバーおよびリカバリを自動化します。
TimesTenClassicオブジェクトを定義する際、Kubernetes機能を使用してTimesTenデプロイメントの構成を指定できます。KubernetesクラスタでTimesTenClassicオブジェクトを作成すると、それぞれTimesTenを実行するポッドのペアが作成されます。各ポッドにはTimesTenインスタンスが含まれています。各インスタンスは、1つのTimesTenデータベースを提供します。アクティブ・スタンバイ・ペアを介したデータベース・レプリケーションは、自動的に構成されます。つまり、TimesTenデータベースの可用性の高いレプリケート・ペアをデプロイし、少数のコマンドを発行することで管理できます。
Kubernetesオペレータは、特定のタイプのオブジェクトを管理します。TimesTenには、TimesTenClassicタイプのKubernetesオブジェクトを管理するオペレータが用意されています。そうすることで、TimesTenは、管理者操作を必要とせずに、自動化された方法でデプロイ、監視、管理および制御が可能になります。