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');
親トピック: SDO_NETパッケージ・サブプログラム