Chapter 1 분석환경

빅데이터 분석 툴은 다양하지만, 크게 2가지 인터페이스로 나눌 수 있습니다. 명령 줄 인터페이스(CLI, Command line interface)그래픽 사용자 인터페이스(GUI, Graphical user interface) 입니다. 명령 줄 인터페이스는 (이하 CLI) 작업 명령을 컴퓨터 키보드를 통해 문자열의 형태로 입력하는 방식으로 과거 DOS 이용 시절을 떠올리면 이해하기 쉽습니다. 그래픽 사용자 인터페이스는 (이하 GUI) 사용자가 편리하게 사용할 수 있도록 아이콘과 같이 그래픽으로 표현하는 인터페이스로 우리가 지금 사용중인 Windows 운영체제 환경과 같습니다. 사용자 대부분은 CLI 보다 GUI가 훨씬 친숙하게 느껴질 것입니다. 빅데이터 분석 도구에서 CLI를 사용하는 툴은 R, Python 등이 있고, GUI를 사용하는 툴은 Qlik, Tableau, Q-Gis 등이 있습니다. 두 인터페이스 모두 장단점이 존재하며 빅데이터 분석에는 CLI가 효율적인 경우가 많은데, 왜 CLI가 더 효율적인지에 대해 설명하겠습니다.

1.1 왜 CLI 인가?

CLI의 가장 큰 장점은 재현성(Reproducibility) 입니다. 간단한 그래프를 그리는 것을 예로 들어 보겠습니다. GUI로 그래프 하나 그리는 것은 정말 쉽습니다. 마우스 더블클릭 두번이면 기본적인 그래프가 만들어지고, 다시 몇번의 클릭으로 그래프의 서식을 지정하고 제목과 레이블, 색상을 지정하면 하나 만드는데 2~3분이면 가능합니다. CLI로 그래프 하나 그린다고 가정하면, 그래프를 그리기 위한 명령어를 찾아야 합니다. 명령어는 함수화 되어 있어서 명령어를 올바르게 입력하지 않는다면 그래프를 그릴 수 없습니다. 기억하지 못하는 부분은 책과 인터넷을 찾아 그려야 하기 때문에 하나 만드는데 9~10분 정도 소요된다고 가정하겠습니다.

그래프 하나 만드는데 소요되는 시간은 GUI가 훨씬 효율적입니다. 하지만 같은 작업을 반복적으로 해야하는 상황이 오면 CLI가 훨씬 효율적입니다. GUI는 작업내용이 기록되지 않기 때문에 시간이 지나 똑같은 작업을 해야하는 상황이 오면 숙달된다 하여도 예전에 비해 작업속도의 향상을 크게 기대하기 어렵습니다. 반면 CLI는 모든 과정이 Code 로 남아있기 때문에 과거에 작업내용이 그대로 기록되어 있고 1~2가지 필요한 부분만 수정하면 되기 때문에 작업시간은 크게 단축될 수 있습니다. 특히 여러 인원이 함께 협업해야 하는 상황이면 결과물 뿐 아니라 작업 과정까지 기록되어 있는 CLI가 좋은 점이 많습니다.