Tableau 설정 1일차

Tableau 설정 1일차
Tableau: Business Intelligence and Analytics Software
Tableau is visual analytics software for business intelligence. See and understand any data with Tableau.

회사에서 신규 서비스를 론칭했습니다. 기존에 사용하고 있던 Metabase에서는 Third Party 데이터와 서비스 데이터베이스를 연결해 지표를 발라 볼 수 없기에 새로운 BI 툴 세팅이 필요했습니다. 마지막에 선택한 BI 툴은 Tableau이고 Tableau를 설정하는 과정에서 Self-Host / Tableau Server (On-premises or Public cloud)에서 Tableau Online (Fully hosted by tableau)으로 바꾸게 된는 과정을 담았습니다.

서비스 초기 개발 단계에서는 지표 확인용 툴로 Metabase를 선택했습니다. Metabase를 선택한 이유는 필요한 핵심 기능들은 모두 제공하고 비 개발자가 다루기 쉬운 점이 장점이 있었기 때문입니다. 또한 모던한 디자인은 시각화한 자료를 보는데 즐거움을 주었습니다. 하지만 마케팅 사이드에서 사용하는 외부 데이터와 서비스 데이터를 조합하는 기능을 지원하지 않았습니다. 외부 데이터를 정제 후 서비스 데이터와 같은 데이터베이스에 저장하여 필요한 정보를 조합하여 조회할 수는 있었지만 이와 같은 작업을 하기에는 리소스가 부족하다고 판단하였고 다른 방법을 찾아보기로 했습니다.

BigQuery 또는 RedshiftData Warehouse에 정제된 데이터를 저장하여 Metabase로 시각화하는 것도 고려해보았습니다. 하지만 지식이 부족하여 비용을 예측할 수 없었고 도입에 이점을 찾을 수 없었습니다.

Don’t use Hadoop - your data isn’t that big
우리에 데이터는 아직 작다.. 😅

Tableau는 이미 서비스 초기 개발 단계에서 언급된 적 있었습니다. 처음부터 Tableau를 도입하지 않은 이유는 큰 비용이 들 것이라는 생각과 리드할 수 있는 사람의 부재였습니다. 비용을 알아보고 큰 비용이 들지 않는다는 것을 알게 되었고 팀원들을 통해 좋은 툴이라는 얘기를 들어 사용하기로 하였습니다. 다양한 라이선스가 있지만 크게 직접 운영하는 Self Host 방식과 Tableau에서 제공하는 서버를 사용하는 Online 방식이 있었습니다. 서비스 데이터베이스는 Private VPC 안에 속해 있어서 Self Host 방식으로  Private VPC 안에 Tableau 서버를 구성하기로 하였습니다.

Tableau Sever를 설치하기 위해 t3a.medium (2 vCPU / 8GB Memory) 인스턴스를 생성하였습니다. 생성된 인스턴스에 설치하는 과정에서 최소사양과 권장 사양이 있다는 것을 알게 되었습니다.

최소 최대
4 Core CPU / 16GB Memory 8 Core CPI / 32GB Memory
vCPU 경우 Core 2배 (8, 16 Core)

테스트를 위해 최소사양으로 인스턴스를 생성 후 설치하였습니다. 하지만 알 수 없이 느린 속도, 빈번히 발생하는 에러로 이번에는 권장 사양으로 인스턴스 생성 후 설치하였습니다. 그런데 권장 사양인 c5a.4xlarge 비용 0.688 * 16 * 20 = $220.16 은 자동 스케줄링으로 하루에 16시간씩 20일을 제한적으로 사용하더라도 부담스러운 금액이었습니다. 예상하는 Tableau 사용자는 1~2명 정도기로 해당 가격만큼 기능을 제공하는지 다시 알아볼 필요가 있었습니다.

하루 동안 설정 및 사용해본 결과 가격에 비해 부족한 기능으로 Self Host를 포기하기로 하였습니다. 이와 같은 결정을 내린 데에는 제공하는 기능들을 정확하게 알아보지 않고 막연하게 "이런 기능도 제공하겠지?"란 기대를 했기 때문입니다. 기대가 큰 만큼 실망도 컸습니다. Third Party 데이터 수집 및 정제할 수 있는 기능과 정제한 데이터를 저장할 수 있는 Data Warehouse 기능을 기대하였지만, Tableau Server는 그러한 기능들을 제공하지 않았습니다.

서비스 데이터를 사용하기 위해선 매번 데이터베이스 연결 정보를 입력해야 했습니다. 그렇지 않으려면 서비스 데이터 조회 Query를 Data Source로 저장하는 방법과 Data Management 라이선스를 추가 구매하는 방법밖에 없었습니다. 또한 서버에서 제공하는 웹에서 사용할 수 있는 기능과 데스크톱에서 사용할 수 있는 기능에 차이가 있는 것도 Self host 서버를 사용해 모든 기능을 웹에서 사용하려는 계획에 걸림돌이 되었습니다.

현재로선 월 30만 원에 비용을 추가로 지불하면서 까지,  Self Host를 선택할 이유가 없습니다. 그래서 Online으로 변경하기로 하였습니다. Tableau Online 대역에서만 접근할 수 있게 AWS 설정과 데이터베이스 유저 권한을 설정했지만 외부에서 접근 가능하다는 점에서 오는 찜찜함은 남아 있습니다. 혹시 제가 모르는 기능이나 30만 원 이상에 가치를 지닌 기능이 있다면 댓글로 알려주세요. 아직 블로그에 댓글 기능은 없지만요. 하하

Read more

높은 하늘

높은 하늘

요즘 밖을 나가면 매일 하늘이 푸르고 맑아 참 높다. 전 세계를 뒤덮은 질병이 이러한 맑고 높은 하늘을 만들었기에 아이러니하다. 질병은 전 세계를 뒤덮고 가족과 지인,  모두를 이간질하며 거리두게하였고 질병은 오프라인 기반 사업하던 우리 회사를 속되게 표현하여 쫄딱 망하게 하였다. 결국 우리 팀원도 20명에서 3명으로 줄었으며 큰 짐을 짊어지게 되었다. 아이러니하게

By Nine

탈고리즘 (1)

자는 시간을 제외한 하루의 대부분을 유튜브를 켜두고 지내왔다. 일어나서는 뉴스, 최신 소식을 듣고 보며 음악도 유튜브로 듣고 퇴근 후 저녁에는 구독한 채널들이 올리는 영상들을 시청하며 하루를 보냈다. 매달 유튜브를 시청하며 사용하는 60GB의 데이터는 훈장과 같았다. 가끔 습관적으로 유튜브를 켜는 것에 자괴감이 올때도 있었지만 넓고 다양한 주제의 정보를 자연스럽게 얻을 수

By Nine
어쩌면 당연한 것

어쩌면 당연한 것

전 회사에서 무엇을 해야 하는지 애매한 상황에 난 담담하게 내 할 일을 했다. 당연하다고 생각했던 react + webpack 도입이나 인프라 정리, 테스트 코드 기반 작업, 공통 모듈 라이브러리화, 레거지와 주석 코드 정리를 했다. 생각보다 오랜기간동안 진행했고 그때 스트레스를 많이 받았다. 다시 당연하다고 생각했던 것들을 해야 할 시간이다. 하지만 과거에 내가 했던

By Nine
IntelliJ .properties 파일 인코딩 오류

IntelliJ .properties 파일 인코딩 오류

어느 순간부터 IntelliJ에서 .properties 파일 인코딩이 깨지는 이슈가 생겼습니다. 원래는 하단 메뉴바에 인코딩 옵션을 선택해서 파일 인코딩을 수정할 수 있었지만 하단 메뉴바에서도 수정할 수 없게 되었습니다. 하단에 파일 인코딩 수정 메뉴message.properties 파일 인코딩은 utf-8 이지만 ISO-8859-1 으로 수정이 불가능 합니다. 이럴 경우 맥 OS 기준으로 ⌘ command + ⇧ shift + a (Find

By Nine