왜 알아보기 어렵게 시간을 소수점으로 표시하나요?

'1.25분'이 '1분 25초'냐는 질문을 받고 잠깐 멍해졌습니다. 왜 이런 모양으로 시간을 표기하는지 생각해 봤습니다.

왜 알아보기 어렵게 시간을 소수점으로 표시하나요?

지난 엑셀에 MATCHS 함수가 필요할지도 모릅니다에서 오픈서치에 적재된 로그를 쿼리 워크벤치를 통해 가져오면서 생긴 문제를 소개했습니다. 대략 쿼리 워크벤치에서는 베이직 쿼리만 지원하고 또 주요 집계 명령이 한 번에 결과를 200개 까지만 돌려주는데 한 쿼리에 집계 명령 여러 개를 사용하면 명령 각각이 결과를 200개만 돌려줘 결국 이상한 결과를 돌려주게 된다는 내용이었습니다.

그래서 쿼리 워크벤치는 데이터를 꺼내는 데만 사용하고 실제 집계는 엑셀에서 수행하기로 합니다. 그나마 쿼리 워크벤치는 집계 쿼리 없이도 한 번에 최대 1만건 까지만 데이터를 꺼낼 수 있어 한 번에 1만건이 넘는 데이터를 조회하려면 조건을 잘 나눠야 했는데 베이직 쿼리만 지원 하는 제한으로 LIMIT 명령을 온전히 지원하지 않아 페이지를 구분해 결과를 받을 수 없었기 때문입니다.

한편 그런 오픈서치에 기반한 시행착오와 엑셀에서 여러 조건을 동시에 만족하는 행의 특정 값을 한 번에 뽑기 위한 시행착오를 겪으며 비즈니스 부서에서 요구하는 통계와 기반 데이터를 전달했습니다. 비즈니스 부서의 감각은 대단했는데 사실 이번 시행착오를 겪으며 이것이 시행착오가 되어야 한다는 사실은 비즈니스 부서의 약간 동물적인 감각 덕분에 감지할 수 있었습니다. 그저 쿼리 워크벤치에 쿼리를 작성해 실행한 다음 나온 결과를 파일로 저장해 보내는 약간 기계적인 역할을 하다 보니 거기 나온 결과가 올바른지에 크게 신경 쓰지 않고 있었습니다.

하지만 비즈니스 부서에서는 숫저를 보고 최소한의 검토를 해 보고는 바로 이 결과에 뭔가 문제가 있다는 사실을 알아냈고 하마터면 엉뚱한 분들을 대상으로 이벤트 보상을 집행할 뻔 했습니다. 보상은 민감한 문제여서 이미 구축된 시스템을 통하는 대신 이런 방식으로 사람 손을 타는 것 자체가 위험한 일인데 거기에 실수 까지 했더라면 큰 문제가 될 수 있었습니다. 역시 능숙한 프로는 다르구나 싶습니다.

비즈니스 부서 역시 대부분은 통계 도구에 요구사항에 따라 예쁘게 정리된 보고서를 사용하시다가 매번 필요한 보고서 모양을 다른 부서에 전달해 그 결과를 받아 검토하는 식으로 작업하는 건 익숙하지 않아 이 의사소통과 결과 도출 자체에도 시행착오를 겪었는데 가령 ‘상위 10%’의 정의에 대해 서로 달리 생각했거나 ‘가장 많이 죽은 사람’과 ‘특정한 사유로 가장 많이 죽은 사람’을 서로 달리 생각하는 등의 자잘한 시행착오가 있었습니다. 그런데 이런 시행착오 중 기억에 남는 것은 ‘시간 표시’에 대한 질문이었습니다. 오늘은 한 행에 1.25라고 기록된 시간을 보고 ‘1분 25초라고 해석하면 되는가?’라는 질문을 받고 이 질문에 답한 다음 왜 시간을 이런 식으로 표시하는지 이유를 생각해보고 다음에 더 잘 하려면 어떻게 해야 할 지도 함께 고민해 두려고 합니다.