2.4. カスケード連鎖の設定
データベースリンクは、別のデータベースリンクに指定するように設定でき、カスケード連鎖操作を作成します。ディレクトリーツリー内の全データにアクセスするのに、複数のホップが必要になるとカスケード連鎖がいつでも発生します。
2.4.1. カスケード連鎖の概要
ディレクトリーがクライアントアプリケーションの要求を処理するために必要なホップが複数使用されると、カスケード連鎖が発生します。
クライアントアプリケーションは変更要求を Server 1 に送信します。Server 1 には、別のデータベースリンクが含まれる Server 2 に操作を転送するデータベースリンクが含まれています。Server 2 のデータベースリンクは、クライアントがデータベースに変更するデータが含まれる Server 3 に転送します。クライアントが変更するデータの一部にアクセスするには、2 つのホップが必要になります。
通常の操作要求時に、クライアントはサーバーにバインドし、そのクライアントに適用された ACI が評価されます。カスケード連鎖では、クライアントバインド要求は Server 1 で評価されますが、上の例の Server 2 クライアントに適用される ACI は、要求が宛先サーバーへチェーンされた後にのみ評価されます。
たとえば、サーバー A では、ディレクトリーツリーが分割されます。
ルート接尾辞 dc=example,dc=comおよび ou=people と ou=groups サブサフィックスは、サーバー A に保存されます。l=europe,dc=example,dc=com および ou=groups 接尾辞は Server B に保存され、l =europe,dc=example,dc=com 接尾辞の ou= people ブランチはサーバー C に保存されます。
サーバー A、B、および C に設定されたカスケードでは、以下のように ou=people,l=europe,dc=example,dc=com エントリーでターゲットとなるクライアント要求が以下のようにルーティングされます。
まず、クライアントは、Database Link 1 を使用して Server A にバインドし、Server B に連鎖します。その後、Server B は、Database Link 2 を使用して ou=people,l=europe,dc=example,dc=com ブランチのデータにアクセスする Server C のターゲットデータベースに連鎖されます。ディレクトリーがクライアント要求を処理するには少なくとも 2 つのホップが必要であるため、これはカスケード連鎖とみなされます。