D3ブロードキャストは、データスペースまたはスナップショットレベルで発生します。データスペースブロードキャストの場合、D3は最初にスナップショットを作成して現在の状態をキャプチャし、次にこの新しく作成されたスナップショットをブロードキャストします。
ブロードキャストは、状況に応じて次のいずれかの手順を実行します。
新しいブロードキャストスナップショットとレプリカノード上の現在の「コミット」スナップショットの間で計算された差異の更新。
すべてのデータセット、テーブル、レコード、および権限を含む完全同期。これは、前のレプリカノードのコミットがプライマリノードに認識されていない場合、特定のレプリカノードへの最初のブロードキャストで、または「[D3]プライマリノード構成」のユーザーサービスを使用してオンデマンドで実行されます。
ブロードキャストは、次のように実行できます。
エンドユーザーが、データスペースまたはスナップショットで使用可能なBroadcastアクションを使用する(このアクションは、データスペースが配信データスペースとして登録されている場合にのみ使用可能)。
D3NodeAsMaster
を使用するカスタムJavaコードを使用する。
ブロードキャストできるようにするには、次の条件を満たす必要があります。
認証されたユーザープロファイルには、ブロードキャストする権限があります。
ブロードキャストされるデータスペースまたはスナップショットに検証エラーはありません。
注:推奨されていませんが、検証エラーを含む配信データスペースのブロードキャストを強制することは可能です。これを行うには、「管理」領域の「[D3]プライマリノード構成」の下にある配信データスペース検証レポートで許可される最大重大度しきい値を設定します。
D3プライマリノード構成には、関連する配信データスペースとそのすべての依存関係(依存する配信マッピング、配信プロファイル、および登録されたレプリカノード)の技術レコードの検証エラーはありません。
関連する配信プロファイルがあります。
データスペースをブロードキャストする場合、データスペースはロックされません。
スナップショットをブロードキャストする場合、スナップショットは配信データスペースとして宣言されたデータスペースに属し、現在のブロードキャストスナップショットではありません(ただし、以前にブロードキャストされたスナップショットへのロールバックは可能です)。
データスペースまたはスナップショットには、最後のブロードキャストスナップショットとの違いが含まれています。
プライマリノードがシャットダウンすると、待機中または進行中のすべてのブロードキャストリクエストが中止され、一時ファイルに保持されます。起動時に、中止されたすべてのブロードキャストが再開されます。
ターゲットレプリカまたはハブノード側:
ebx-d3-reference
データスペース識別子は、すべての配信データスペースの共通の親です。
配信データスペースは、プライマリノード、レプリカノード、またはハブノードで同じ識別子を持っています。
配信データスペースが欠落している場合は、最初の同期ブロードキャストまたは完全同期ブロードキャストで作成されます。
配信データスペースが最初のブロードキャストまたは完全同期ですでに存在する場合、それはオーバーライドされます。
配信データと同じ識別子を持つ既存のデータスペースがebx-d3-reference
の外部で検出された場合、エラーが発生します。
ブロードキャストは非同期で実行されます。したがって、ブロードキャストの成功または失敗に関する情報はユーザーインターフェイスに表示されません。それでも、「[D3]プライマリノード構成」内のブロードキャスト操作を監視することは可能です。 監督を参照してください。
初期化は、レプリカノードのTIBCO EBX®メイン構成ファイルに登録されている配信プロファイルに従って、レプリカノードレベルで行われます。プライマリノードは、その初期化要求を受信すると、レプリカノードエントリを作成または更新してから、登録されているすべての配信データスペースの最後のブロードキャストスナップショットを送信します。
登録済みレプリカノードリポジトリIDまたは通信レイヤがすでに存在する場合は、「登録済みレプリカノード」テクニカルテーブルのレプリカノードエントリが更新されます。存在しない場合は、新しいエントリが作成されます。
初期化は次のように実行できます。
レプリカノードサーバーの起動時に自動的に。
レプリカノードサービス「レプリカノードの登録」を呼び出すときに手動で。
登録するには、次の条件を満たす必要があります。
D3モードは「ハブ」または「スレーブ」である必要があります。
プライマリノードとレプリカノードの認証パラメーターは、それぞれのディレクトリで定義されているプライマリノード管理者とレプリカノード管理者に対応している必要があります。
レプリカノードで定義された配信プロファイルは、プライマリノード構成に存在する必要があります。
登録されたデータスペースに含まれるすべてのデータモデルは、レプリカノードに存在する必要があります。埋め込まれている場合、データモデル名は同じである必要があります。パッケージ化されている場合、それらは同じモジュール名に配置されている必要があり、モジュール内のスキーマパスはプライマリノードとレプリカノードの両方で同じである必要があります。
D3プライマリノード構成には、登録されたレプリカノードの技術レコードとそのすべての依存関係(依存する配信プロファイル、配信マッピング、および配信データスペース)の検証エラーはありません。
パラメーターを設定するには、プライマリ、ハブ、およびレプリカノードの構成のレプリカまたはハブのEBX®プロパティを参照してください。
デフォルトでは、データサービスが配信データスペースにアクセスすると、最後にブロードキャストされたスナップショットである現在のスナップショットにリダイレクトされます。ただし、このデフォルトの動作は、要求レベルまたはグローバル構成のいずれかで変更できます。
プライマリノードでは、配信データスペースをマージしたり閉じたりすることはできません。権限に応じて、他の操作を利用できます。たとえば、配信データスペースを直接変更したり、ブロードキャストから独立したスナップショットを作成したり、子データスペースを作成してマージしたりします。
レプリカノードでは、ブロードキャストプロセスを除いて、エンドユーザー、データサービス、またはJavaプログラムのいずれによっても、配信データスペースにいかなる種類の変更も加えることができません。さらに、レプリカノードでは、マージ、クローズなどのデータスペース関連の操作は禁止されています。
その間にブロードキャストが行われた場合、最後のブロードキャストスナップショットは2つの呼び出し間で変更される可能性があります。連続する複数の呼び出しで完全に安定したビューが必要な場合、これらの呼び出しは同じスナップショットを具体的に参照する必要があります。
最後のブロードキャストスナップショットを取得するには、D3Node.getBroadcastVersion
を参照してください。