ほとんどのサイトでは、SPD Engineは非常に大容量のデータの管理に使用されます。データには何千もの変数を含められ、その一部にはインデックスを付けられます。それらのサイトでは通常、各種コンポーネントに対して別々の記憶域パスが定義されます。さらに、ディスクストライピングおよびRAID
(Redundant Array of Independent Disks)を使用すると、非常に効率的になる可能性があります。詳細については、Scalability
and Performanceの“SPD Engine Disk
I/O Setup” (
http://support.sas.com/rnd/scalability/spde/setup.html)を参照してください。
ライブラリのすべてのデータセットに対するメタデータコンポーネントファイルは、プライマリパスに存在する必要があります。
さらに、データコンポーネントファイルとインデックスコンポーネントファイルに別々のパスを指定すると、パフォーマンスが向上します。別々のパスを指定するのは、読み取り負荷を複数のディスクドライブに分散するためです。データコンポーネントファイルとインデックスコンポーネントファイルを分けておくと、複雑なWHERE評価では特に、ディスクの競合を防ぎ、達成可能な
並列処理のレベルを上げるのに役立ちます。次のコード例では、メタデータコンポーネントファイルのプライマリパスが指定されます。このコードでは、
DATAPATH=オプションおよび
INDEXPATH=オプションを使用して、データコンポーネントファイルとインデックスコンポーネントファイルに対して別々のパスが追加指定されます。
libname all_users spde '/disk1/metadata'
datapath= ('/disk2/userdata' '/disk3/userdata')
indexpath= ('/disk4/userindexes' '/disk5/userindexes');
メタデータコンポーネントファイルは、プライマリパスのdisk1に格納されます。データコンポーネントファイルはdisk2およびdisk3、インデックスコンポーネントファイルはdisk4およびdisk5です。すべてのパス指定において、完全パス名を指定する必要があります。
注意:
プライマリパスはライブラリごとに一意であることが必要です。
プライマリパスが同じで、その他のパスに相違があるライブラリ参照名を2つ作成した場合、データが失われる可能性があります。NFSはプライマリパス以外のパスでは使用できません。
注: ローカルでマウントされたドライブにデータを格納し、リモートコンピュータからデータにアクセスする場合は、LIBNAMEの指定時にリモートパス名を使用します。/data01
および/data02
がlocalAコンピュータにローカルでマウントされたドライブである場合は、LIBNAMEステートメントでパス名/nfs/localA/data01
および/nfs/localA/data02
を使用します。