brunch

You can make anything
by writing

C.S.Lewis

by 김유환 Sep 06. 2019

1. 스프레드시트 기반 업무의 문제점

왜 제대로된 데이터분석은 데이터베이스를 기반으로 해야하는가? (1/2)

배경

행과 열로 구성된 테이블 형태로 데이터를 관리하는 프로그램을 스프레드시트(Spreadsheet) 라고 부릅니다. 가장 대표적인 프로그램으로 마이크로소프트 엑셀과 구글 시트가 있습니다. 스프레드시트가 가지고 있는 간편하고 강력한 기능들로 인해 대부분 회사에서 스프레드시트를 이용하고 있습니다. 하지만, 여러명이 같이 다뤄야하는 데이터를 스프레드시트를 기반으로 관리하는 것은 여러가지 문제를 야기합니다. 이 글은 스프레드시트가 가지고 있는 한계와 이를 해결할 수 있는 새로운 프로그램(즉, 데이터베이스)의 필요성에 대해 알아봅니다.



문제점

스프레드시트 기반 업무의 문제점들을 명확히 알아보기 위해 조금 극단적인 시나리오를 상상해봅시다.

스프레드시트 기반으로 데이터를 관리하는 은행이 있습니다. 높은 이율을 앞세워 홍보 했더니, 매일 수백명의 사람들이 몰려들었습니다. 이 은행은 10개의 창구를 가지고 있고, 각 직원들은 하나의 구글 시트에 접속해서 정보를 입력하고 있습니다. 아래와 같이 사용자 정보 시트와 입출금 시트 2가지로 구성해 데이터를 관리한다고 가정합시다. 어떤 문제가 발생할까요?



1. 동시 수정 문제

데이터가 많지 않을때는 다른 창구 직원이 어디를 수정하고 있는지 조심해서 다음 칸에 입력해 문제가 없이 데이터가 쌓일 것입니다. 하지만, 어떤 순간에는 동시에 여러명의 직원들이 같은 셀을 수정해버리면서, 데이터 일관성이 무너져 버릴 수 있습니다.

예를 들어, 한 직원이 입출금 정보 시트 4번째 행에 데이터를 입력했는데, 인터넷 연결이 조금 늦어져 다른 직원의 화면에는 아직 그 정보가 보이지 않을 수 있습니다. 그 순간 다른 직원이 해당 4번째 행에 다른 입출금 정보를 입력해버리면 2개중 하나의 정보는 사라지게 됩니다. 일관성이 무너진 것입니다. 데이터가 많아지고 직원이 많아지면 많아질 수록 이러한 실수는 자주 일어날 것입니다. 결국, 자신의 잔고가 이상하다고 깨닫는 고객이 늘어나면서 결국 은행은 문을 닫을 수 밖에 없을 것입니다.


2. 오타 문제

위의 시트에서 입출금 금액과 잔액은 반드시 숫자로 입력해야합니다. 그래야 나중에 전체 은행에서 보관하고 있는 금액을 스프레드시트 함수를 통해 계산할 수 있을 것입니다. 하지만, 바쁜 직원들이 데이터를 입력하다보면 오타로 하이픈(-)이나 점(.)과 같은 문자들이 섞여들어갈 수 있습니다. 이렇게 되면, 나중에 SUM 혹은 AVG 함수를 이용해서 통계값을 뽑을때 해당 정보는 무시하게 되면서 큰 오류를 발생 시킬 수 있습니다.


3. 처리 속도 문제

그럼에도 은행이 너무나 잘되어서 수만, 수십만의 데이터가 쌓였다고 가정해봅시다. 조금만 큰 데이터로 구성된 엑셀 파일을 다뤄본 사람이라면 누구나 알 수 있지만 프로그램 하나를 실행하는데만 해도 엄청나게 많은 시간이 소요됩니다. 거기에 통계값을 뽑거나 그래프를 그리려고 한다면, 프로그램 응답 없음 다이얼로그를 아주 자주 보게 됩니다. 점점 프로그램이 느려지면서 은행 직원들은 맨 밑에 행으로 내려가는데만해도 오랜 시간을 기다려야 하고, 고객은 창구에서 기다리는 시간이 점점 늘어날 것입니다.


4. 데이터 탐구의 어려움

어느 정도 데이터가 쌓여 데이터 분석을 시작했다고 가정해봅시다. 가장 먼저 어제 가입한 사용자 정보만을 뽑고자 합니다. 아마 날짜 정보에 필터를 걸어 어제 날짜를 선택해 해당 정보만을 뽑을 것입니다. 문제는 이렇게 데이터 탐구를 하는 과정이 실제 쌓여있는 데이터 저장소의 모습을 변경한다는 것입니다. 곧바로 다른 목적의 데이터 분석을 하고자 하면, 이 필터를 제거하고 진행해야할 것입니다. 계속해서 머릿속에 생각나는대로 데이터 탐구를 이어서 하기 어려운 것입니다. 이런 방식이라면 정말 의미있는 정보를 뽑기전에 지쳐버리고 말 것입니다.



마치며

스프레드시트는 개인 업무를 위해서나 단발성으로 데이터를 정리하기 위해서는 매우 효율적인 도구입니다. 데이터 저장과 테이블 형태의 시각화가 동시에 진행되는 방식으로 직관적이고 사용하기도 쉽습니다. 하지만, 여러 명이 동시에 접속해서 살펴봐야하는 데이터, 정확하고 깊은 분석이 필요한 데이터의 경우 스프레드시트로 관리하는것은 큰 문제점을 가지고 있습니다. 다음 글 데이터베이스 이해하기에서는 데이터베이스가 어떻게 이 문제들을 해결하는지 다루도록 하겠습니다.

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari