R 빠른 데이터 저장 및 불러오기 fst package
- Eric Kim
- 2021년 10월 16일
- 1분 분량

R에서 주로 데이터를 저장할때는 save를 이용하여 object를 저장한다. 데이터를 DBMS에서 가져올때 RODBC를 이용하여 sqlQuery를 이용하면 편하지만 늘 필요한 데이터를 DBMS에서 가져온다는건 DBMS에 부하가 크고, 처리속도가 길어질 수 있다. 치명적이지는 않지만 만약 반복적으로 대용량을 가져오거나 다수가 이러한 작업을 수행하면 CPU 부하가 증가할 수도 있다.
그래서 보다 빠르게 batch성으로 또는 1시간 주기로 DBMS에서 데이터를 가져와서 R에서 작업을 하거나 RConnect(Shiny)에서 처리속도를 증가시키기 위한 방법으로 fst package를 이용하면 base R의 save보다 4배 이상의 엄청단 처리속도 개선이 가능하다고한다.
다양한 기능을 떠나서 설치는 아래와 같고
install.packages(“fst")
데이터를 저장할때 object가 result이면
fst.write(result,”result.fst”)
result로 불러들이고 싶으면
result <- fst.read(“result.fst”)
이런 식으로 할수 있다. 당연히 작은 용량에서는 성능차이가 크게 보이지 않지만 읽어들이는데 30초 이상 걸리는 경우 사용해보면 한순간에 읽어 드리는 것을 확인할 수 있다.
실제 sqlQuery로 52.6초 걸리는 내용을 저장하는데 1.6초, 다시 읽어들이는데 2.5초 밖에 걸리지 않는다. 미리 저장해 놓은 결과를 읽는다고 생각하면 DBMS에서 읽는것보다 25배 빠른것이다.
Comentários