[SAS 고급] I/O 제어 (Controlling I/O)
안녕하세요^^
오늘은 I/O를 보존하는 것의 것의 중요성과, I/O operations를 줄이는 techniques에 대해 알아보도록 하겠습니다.
크기가 큰 data files는 disc 공간을 많이 소비하고, 프로그램을 실행하기 위해 긴 시간을 소요하게 됩니다.
▶ 이러한 경우, 어떻게 이 performance를 향상시킬 수 있을까요?
▷ data 처리의 양을 줄입니다.
▷ 수치형 변수(numeric variables)의 길이를 줄입니다.
▷ data files을 압축합니다.
▷ SAS views를 사용합니다.
▶ 다음은 I/O를 줄이는 일반적인 techniques입니다.
Real time은 I/O와 높게 연관되어 있습니다. I/O를 줄이는 것은 SAS 프로그램을 얼마나 빠르게 실행시킬 수 있는지에 결정짓는 중요한 방법 중 하나입니다.
data의 양을 줄이거나, data가 처리되는 횟수를 줄이는 것으로 I/O를 줄일 수 있습니다.
▷ 변수와 관측값의 수를 최소화 합니다.
▷ data가 처리되는 횟수를 줄입니다.
▷ SASFILE 문장을 사용합니다.
▷ buffers의 크기와 사이즈를 증가시키기 위한 옵션을 사용합니다.
▶ Technique1: 변수와 관측값의 수를 최소화 합니다.
변수의 수를 최소화
관측값의 수를 최소화
▶ Technique2: data가 처리되는 횟수를 줄입니다.
global 문장 SASFILE은 전체 SAS data set을 다음 DATA step과 PROC step을 위해 memory로 가져옵니다. 따라서 file을 한번만 가져오는 방법이 I/O를 줄입니다.
두 개의 SASFILE 문장이 함께 사용되면, 첫 문장은 buffer을 할당하고 SAS data set을 memory로가져옵니다. 두 번째 문장은 data set을 닫고 SAS buffer을 풀어줍니다.
▶ buffers의 크기와 사이즈를 증가시키기 위한 옵션을 사용합니다.
Buffer의 크기를 증가시키는 것은 각각의 I/O operation에 더 많은 data를 처리시킬 수 있기 때문에, I/O를 줄일 수 있습니다.
Data set 옵션으로, BUFSIZE= 는 특정한 data set의 output buffer size를 제어합니다.
System 옵션으로, BUFSIZE= 는 모든 data set의 output buffer size를 제어합니다.
Data set 옵션으로, BUFNO= 는 특정한 data set의 buffers의 개수를 제어합니다.
System 옵션으로, BUFNO= 는 모든 data set의 buffers의 개수를 제어합니다.
이상으로 I/O operations를 줄이는 techniques에 대해 알아보았습니다.
Join us for SAS Innovate 2025, our biggest and most exciting global event of the year, in Orlando, FL, from May 6-9. Sign up by March 14 for just $795.