요즘 데이터로 의사결정 해야 한다는 인식이 널리 퍼지면서 BI, 데이터 시각화 툴이 대세인데요,
이번 글에서는 Metabase라는 간단한 BI 툴로 손쉽게 데이터 시각화 하는 방법을 설명하려 합니다.
메타베이스를 활용하면 위 이미지 같은 통계 데이터 대시보드를 오직 클릭 몇번만으로 만들어 낼 수 있습니다.
며칠간 메타베이스를 살펴보면서 소개하고픈 장점이 몇 가지 있었는데요,
1. 강력하고 직관적인 기능으로 웬만한 요구사항은 모두 구현할 수 있습니다.
2. 오픈소스로 github에 공개 되어 있습니다.
3. UI가 깔끔합니다.
설치 방법
그럼 설치법부터 알아보겠습니다.
기본적으로 구현된 웹서버가 docker 위에 말려져 올라가 있기 때문에 설치 방법은 매우 간단합니다.
docker pull metabase/metabase:latest
이 한 줄이면 설치가 끝납니다.
docker run -d -p 3000:3000 --name metabase metabase/metabase
그 후 이 명령어로 메타베이스를 실행시켜줍니다.
그러면 localhost:3000에서 메타베이스 접근이 가능합니다.
간단한 사용 방법
Metabase 설치 방법
브라우저에서 localhost:3000으로 접속해보면, setup 할 수 있는 창이 뜹니다.
Let's get started를 누르면, 정보를 입력할 수 있는 창이 뜹니다.
우선 언어를 설정하실 수 있는데, 한국어로 설정해보니 너무나도 번역투라 무슨 의미인지 알아들을 수 없을 정도라 영어로 설정하시는 편을 추천드립니다.
그 후 시키는 정보를 입력해주시면 됩니다.
정보를 입력한 후에는 DB를 연결할 수 있는 창이 뜹니다.
데이터 분석을 하고 싶은 DB가 정해진 상태라면 정보를 입력해 연결을 해주면 되고,
그냥 메타베이스를 한 번 이용해보고 싶은 거라면, sample db를 제공하니 그냥 skip 하셔도 됩니다.
db 등록까지 마치고 나면, 데이터 수집 동의가 나오는데, 동의/비동의 체크해주시면 됩니다.
마지막으로 You're all set up! 문구와 함께 메타베이스 이메일 구독 버튼이 나오는데, 구독을 받고 싶다면 Subscribe를 누르고, 아니라면 바로 Take me to Metabase를 누르면 모든 세팅이 끝납니다.
Metabase 대시보드
세팅을 끝내고 나면 가장 먼저 마주칠 창은 대시보드입니다.
메타베이스에서의 용어는 크게 컬렉션(Collection), 대시보드(Dashboard), Question (or SQL query)로 나뉘는데, 컬렉션 안에 대시보드가 있고, 그 안에 퀘스천이 있다고 생각하면 이해하기 쉽습니다.
컬렉션에 여러 대시보드들을 만들어놓을 수 있고, 대시보드 안에 여러 퀘스천을 만들어 놓을 수 있습니다. 퀘스천은 대시보드에서 데이터 한 칸의 형태로 보여집니다.
메타베이스에 처음 접속하면, 메타베이스가 만들어 둔 몇 개의 샘플들을 볼 수 있습니다.
저기서 마음에 드는 아무거나 클릭해보면 대시보드가 생성되고, 그 안에 여러 퀘스천들이 생성되어 있는 걸 보실 수 있습니다.
아래에 보면 6개의 퀘스천이 생성되어 있는 대시보드를 확인할 수 있습니다.
Key metrics처럼 Text를 추가해 좀 더 가독성 있는 대시보드를 꾸밀 수도 있습니다.
Metabase Question(퀘스천)
메타베이스에서 통계 데이터를 추가하는 방법에는 크게 두 가지가 있습니다.
첫째는 Question으로 추가하는 방법, 둘째는 SQL query로 추가하는 방법입니다.
공식 문서를 보니 두 방법 모두로 생성된 데이터 분석 한 칸 자체를 Question으로 통칭하는 것 같습니다.
A question in Metabase is a query, the results of that query, and the visualization and formatting of those results (even if that visualization is just a table).
Question으로 생성하는 경우 GUI 버튼으로 쿼리를 생성하는 창이 먼저 뜨고, SQL query로 생성하는 경우 SQL로 생성하는 창이 먼저 뜨게 됩니다. (Question을 눌러 버튼으로 생성하는 도중 SQL으로 변환해 SQL로 마저 작성하는 방법도 가능합니다.)
Question을 생성하면 이렇게 버튼으로 쿼리를 작성할 수 있고,
중간에 우상단에 있는 View the SQL 버튼을 누르면,
지금껏 버튼으로 작성하던 쿼리가 SQL로 변환되어 보여지고,
Convert the question to SQL을 누르면 SQL로 convert 해서 마저 작성할 수 있습니다.
그럼 이렇게 SQL로 작성할 수 있는 창으로 넘어갑니다.
반면, 대시보드에서 +를 눌러 Question이 아닌 SQL query를 생성하게 되면 바로 SQL로 생성할 수 있는 위 화면으로 넘어갑니다.
모두 작성한 후 우상단의 save 버튼을 누르면 퀘스천의 이름과 저장할 컬렉션을 선택할 수 있습니다.
여기서 save를 클릭하면,
바로 대시보드에 추가하겠냐는 알림창이 뜨고, Yes please를 누르면 다시 추가할 대시보드와 대시보드 내 위치를 구성하는 창이 뜹니다.
거기서 대시보드 위에 방금 만든 퀘스천을 적절히 배치해주면 됩니다.
여기까지 따라왔다면, 나머지 과정은 SQL을 작성하는 기술이나 의미있는 데이터를 추출하는 기법만 알고 있다면, 웬만한 걸 모두 만들어낼 수 있습니다.
앞으로 메타베이스를 살펴보면서 몇 개의 글을 더 쓰려 합니다.
추가적인 사용법, 특정 표나 그래프 구현 방법, 배포 등의 글이 될 것 같습니다.
'개발 잡기술' 카테고리의 다른 글
[Udemy 강의 리뷰] 옆집 개발자와 같이 진짜 이해하며 만들어보는 첫 Spring Boot 프로젝트 (1) | 2024.02.18 |
---|---|
Metabase 필터 사용법 (날짜 필터 설정하기) (0) | 2024.01.20 |
사이드 프로젝트에 미친 사람이 서비스 20개 만들면서 느낀 것들 (8) | 2023.12.10 |
Wix에서 카카오 API 사용하기 (도메인 에러 해결) (3) | 2023.05.17 |
[Typescript] OpenAI의 ChatGPT API로 나만의 챗봇 만들어보기 Part. 2 (0) | 2023.04.11 |