Rdb 버젼 7.0부터는 테이블 로드 동작을 병렬로 수행할 수 있어 수행 시간을 크게 단축시킬 수 있게 되었다. 또한 수행 스크립트를 생성할 수 있게 되어 원하는 경우에 원하는 옵션을 사용하여 로드 기능을 수행할 수 있는 융통성을 제공하게 되었다.
병렬로 수행되는 수행자(executor)의 수를 지정하는 옵션은 /EXECUTOR이며, 하나 의 테이블이 여러 저장 영역으로 분산된 경우에 저장 영역의 수와 수행자의 수를 일치하여야 병렬성의 효과를 볼 수 있다.
1. /NOEXEC 옵션과 /LIST 옵션을 이용하여 로드 플랜 화일을 생성하는 방법. $ RMU/LOAD/PARALLEL=(EXECUTOR=4)/NOEXECUTE/LIST=LOAD/BUFF=500 - _$ /COMMIT=10000/STATISTICS=(ON_COMMIT) - _$ mf_personnel salary_history sal_hist
2. /LIST 옵션으로 생성된 로드 플랜의 내용. $ TYPE load.plan ! Fields = <all> Transaction_Type = PROTECTED Buffers = 500 Commit_Every = 10000 Row_Count = 50 ! Skip = <none> NoLog_Commits NoCorresponding NoDefer_Index_Updates Constraints Parallel NoPlace ! Statistics = <none> NoTrigger_Relations End Plan Parameters
Executor Parameters: Executor Name = EXECUTOR_1 ! Place_Only = <none> ! Exception_File = <none> ! RUJ Directory = <default> Communication Buffers = 4 End Executor Parameters ... Executor Parameters: Executor Name = EXECUTOR_4 ! Place_Only = <none> ! Exception_File = <none> ! RUJ Directory = <default> Communication Buffers = 4 End Executor Parameters
3. 로드 플랜을 이용하여 로드 작업을 생성하는 방법. $ RMU/LOAD/PLAN load %RMU-I-EXECUTORMAP, Executor EXECUTOR_1 (pid: 00000684) will load storage area SH_1. %RMU-I-EXECUTORMAP, Executor EXECUTOR_2 (pid: 00000685) will load storage area SH_2. %RMU-I-EXECUTORMAP, Executor EXECUTOR_3 (pid: 00000686) will load storage area SH_3. %RMU-I-EXECUTORMAP, Executor EXECUTOR_4 (pid: 00000687) will load storage area SH_4. %RMU-I-EXECSTAT0, Statistics for EXECUTOR_1: %RMU-I-EXECSTAT1, Elapsed time: 00:20:27.93 CPU time: 189.11 %RMU-I-EXECSTAT2, Storing time: 00:07:42.03 Rows stored: 430080 %RMU-I-EXECSTAT3, Commit time: 00:10:13.42 Direct I/O: 28356 %RMU-I-EXECSTAT4, Idle time: 00:02:26.44 Early commits: 1643 %RMU-I-EXECSTAT0, Statistics for EXECUTOR_2: %RMU-I-EXECSTAT1, Elapsed time: 00:20:28.52 CPU time: 237.80 %RMU-I-EXECSTAT2, Storing time: 00:06:48.01 Rows stored: 532992 %RMU-I-EXECSTAT3, Commit time: 00:13:14.10 Direct I/O: 34358 %RMU-I-EXECSTAT4, Idle time: 00:00:20.53 Early commits: 1774 %RMU-I-EXECSTAT0, Statistics for EXECUTOR_3: %RMU-I-EXECSTAT1, Elapsed time: 00:20:28.40 CPU time: 39.4 %RMU-I-EXECSTAT2, Storing time: 00:01:19.81 Rows stored: 67584 %RMU-I-EXECSTAT3, Commit time: 00:07:03.49 Direct I/O: 9986 %RMU-I-EXECSTAT4, Idle time: 00:11:59.77 Early commits: 1349 %RMU-I-EXECSTAT0, Statistics for EXECUTOR_4: %RMU-I-EXECSTAT1, Elapsed time: 00:20:28.24 CPU time: 50.8 %RMU-I-EXECSTAT2, Storing time: 00:01:50.52 Rows stored: 89088 %RMU-I-EXECSTAT3, Commit time: 00:08:00.87 Direct I/O: 11901 %RMU-I-EXECSTAT4, Idle time: 00:10:30.82 Early commits: 1534 %RMU-I-EXECSTAT5, Main process idle time: 00:19:38.57 %RMU-I-DATRECREAD, 1119744 data records read from input file. %RMU-I-DATRECSTO, 1119744 data records stored.
출처:http://211.106.111.2:8880/bulletin/list.jsp?seq=10988&pg=1&sort_by=last_updated&keyfield=subject&keyword=PARALLEL |