6.91 SDO_NET.LOGICAL_POWERLAW_PARTITION

構文

SDO_NET.LOGICAL_POWERLAW_PARTITION(      
  network              IN VARCHAR2,      
  partition_table_name IN VARCHAR2,      
  max_num_nodes        IN NUMBER,      
  log_loc              IN VARCHAR2,      
  log_file             IN VARCHAR2,      
  open_mode            IN VARCHAR2 DEFAULT 'A',      
  link_level           IN NUMBER DEFAULT 1,      
  part_size_tolerance  IN NUMBER DEFAULT 0);

説明

べき乗則(スケールフリーとも呼ばれる)の論理ネットワークをパーティション化し、情報をパーティション表に格納します。(べき乗則ネットワークでは、ノードの度数の値に、べき乗則情報が含まれます。)

パラメータ

network

ネットワーク名を指定します。

partition_table_name

このプロシージャで作成されるパーティション表の名前を指定します。(指定した名前の表がすでに存在する場合は、指定したリンク・レベルのパーティション情報で更新されます。)パーティション表については、「パーティション表」を参照してください。

max_num_nodes

各パーティションに含まれるノードの最大数を指定します。たとえば、5000を指定した場合にネットワークに50,000個のノードが含まれていると、各パーティションには5000以下のノードが含まれることになり、パーティションの合計数は10以上になります。

part_size_tolerance値が0より大きい場合は、各パーティションに含まれるノードの最大数が増えます(このパラメータの説明を参照)。

log_loc

ログ・ファイルのパスを特定するディレクトリ・オブジェクトを指定します。ディレクトリ・オブジェクトを作成するには、SQL*PlusコマンドのCREATE DIRECTORYを使用します。

log_file

発生する可能性があるエラーや問題など、べき乗則の論理ネットワークでの操作に関する情報を格納するログ・ファイルを指定します。

open_mode

ログ・ファイルを開く際のモードを示す1文字のコードを指定します。Wは上書き(指定した場所および名前の既存のログ・ファイルをすべて削除し、新規ファイルを作成)、A (デフォルト)は追加(指定した既存のログ・ファイルに情報を追加)を表します。Aを指定し、そのログ・ファイルが存在しない場合は、新規ログ・ファイルが作成されます。

link_level

パーティション化を実行するネットワーク・リンク・レベル(デフォルトは1)を指定します。リンク・レベルは、リンクの優先順位であり、ネットワーク分析に使用すると、パスの計算時に優先順位の高いリンクが最初に考慮されます。

part_size_tolerance

パーティション・サイズの許可された許容差(max_num_nodesの割合として表される)を指定します。0 (デフォルト)から100の範囲である必要があります。

part_size_tolerance値が0より大きい場合は、事実上、max_num_nodes値が高くなります。たとえば、max_num_nodesが5000で、part_size_toleranceを10として指定した場合、各パーティションに含まれるノードの実際の最大数は5500(5000の10パーセントは500であるため、5000 + 500で算出)です。part_size_toleranceを使用するかどうかの決定および指定する値の決定を行う場合は、キャッシュ・サイズと、関連するノードが異なるパーティションに配置される確率を考慮してください。

使用上のノート

このプロシージャを使用してパーティションを作成した後、特に大規模なネットワークの場合は、多くのネットワーク分析操作のパフォーマンスを向上させるためにSDO_NET.GENERATE_PARTITION_BLOBSプロシージャの使用を検討してください。

論理ネットワークがべき乗則ネットワークではない場合は、このプロシージャを使用せずに、かわりにSDO_NET.LOGICAL_PARTITIONプロシージャを使用します。

次の例では、MY_LOGICAL_PLAW_NETネットワーク内にリンク・レベル1のパーティションを作成して、MY_LOGICAL_PLAW_PART_TAB表を作成します。各パーティションに配置するノードの最大数は5000です。操作に関する情報は、LOG_DIRという名前のディレクトリ・オブジェクトに関連付けられた場所にあるmy_logical_plaw_part.logファイルに追加されます(open_mode => 'a')。

EXECUTE SDO_NET.LOGICAL_POWERLAW_PARTITION(network => 'MY_LOGICAL_PLAW_NET', -
  partition_table_name => 'my_logical_plaw_part_tab',-
  max_num_nodes => 5000,-
  log_loc => 'LOG_DIR', log_file=> 'my_logical_plaw_part.log',-
  link_level => 1, open_mode => 'a');