logo
logo
데이터
Metabase
데이터를 쿼리하고 보고서용 시각화를 무료로 활용할 수 있는 오픈소스 BI (Business Intelligence)
StackOverflow 질문 수: 381
Github Stars : ★ 41405
사용 기업
기타
푸드테크
인공지능
교육
직장
techstack-logo
버즈빌
techstack-logo
위대한상상
techstack-logo
스노우
techstack-logo
에듀윌
techstack-logo
브레인커머스
기술 블로그 글
베이글코드
SQL을 몰라도 데이터 활용하기 - Metabase 도입기
안녕하세요. 이번에 Bagelcode에서 새로운 BI 툴로 Metabase를 도입했는데 그 과정에 대해서 소개해 드리려 합니다.목차Bagelcode의 Data Delivery- Bagelcode의 Data Delivery 현황- 추가적인 BI 툴 필요성 제기Metabase 배포 과정- EKS 환경 배포- 초기설정- 트러블 슈팅 과정메모리 점유sync, scan 병목schema 하나당 데이터베이스 하나로 등록이 되는 문제,driver 커스텀하기 (feat. clojure)쿼리 timeout 문제마무리Bagelcode의 Data DeliveryBagelcode의 Data Delivery 현황Redshift 제거 과도기Bagelcode에서는 데이터를 추출해서 S3에 저장 후 Databricks에서 가공해서 사용합니다. 기존에는 end-user에게 데이터를 제공하기 위한 툴로 Redshift, Tableau를 이용 중이었습니다.그런데 테이블이 점점 늘어나면서 lock에 걸려서 write, read 시간이 오래 걸리고 비용 문제 등의 이유로 Databricks SQL warehouse를 통해 Superset으로 쿼리할 수 있도록 변경했고 Redshift와 Superset을 동시에 이용하는 과도기를 지나 Superset만을 이용하는 방식으로 변경했습니다.Redshift를 제거하는 과정에 대해서 궁금하시다면 ‘Databricks SQL Serverless 도입기’를 참고해 주세요.Before Metabase과도기를 지난 후 데이터를 사용하는 end-user가 사용할 수 있는 툴은 Superset과 Tableau 두 가지가 되었습니다.직접 테이블에서 바로 쿼리를 해서 사용하고 싶을 때는 Superset으로, 시각화가 필요할 때는 Tableau를 이용하였습니다.추가적인 BI 툴 필요성 제기하지만 신작팀이 점점 늘어나면서 추가적인 BI 툴의 필요성을 느꼈습니다. 신작팀은 인원이 많지 않은 관계로 데이터를 직접적으로 다룰 수 있는 인원이 없는 경우가 많았습니다. 이 경우 데이터 팀에게 직접적으로 요청하는 방법이 존재하지만, 빠른 사이클이 필요한 신작팀에게는 일분일초가 소중합니다.After Metabase‘SQL 쿼리를 할 줄 모르는 사용자’도 ‘빠르게’ 데이터를 다룰 수 있는 BI 툴의 필요성을 느껴서 Metabase를 도입하게 되었습니다.Metabase에서는 question이라는 기능을 통해 template화된 GUI 쿼리 툴이 존재하기 때문에 SQL을 모르는 사용자도 쉽게 쿼리를 할 수 있도록 해주고 자체 시각화 기능 및 alert 설정 등 다양한 기능이 있기 때문에 도입을 결정하게 되었습니다.정리하자면 아래와 같습니다.Superset: SQL 쿼리를 다룰 줄 아는 사용자가 데이터를 추출하기 위해 사용.Tableau: SQL 쿼리를 다룰 줄 아는 사용자가 시각화를 위해 사용. 또는 SQL 쿼리를 모르는 사용자도 데이터 팀에 요청해 사용.Metabase: SQL 쿼리를 다룰 줄 모르는 사용자가 빠르게 데이터를 다루거나 시각화할 때 사용.Metabase 배
awsredshift
clojure
github
metabase
spark
superset
tableau
unity
위대한상상
요기요만의 Data BI Service [다윗]을 소개합니다.
안녕하세요, 15년 차 TA(Technical Architecture) & SRE 신은철입니다. 웹서비스 백엔드 개발부터 시작해서 최근에는 ML과 Data Engineering에 관심을 갖게 되었는데요. Data Engineer에 집중하고 싶은 마음에 요기요 R&D Center에 합류하게 되었습니다.오늘은 요기요의 자체 Data BI Tool인 다윗을 개발, 운영하고 있는 이야기를 전해드리려고 합니다. 다윗은 Redash라는 Open source 활용해서 개발했는데요. 기획 및 구현에 소요된 시간은 3개월이고, 3개월간의 베타 테스트를 진행해 2021년 5월, 요기요 전사 구성원이 사용할 수 있게 되었습니다.0. 다윗의 시작Data Analytics 업무 도구로 사용하던 메타베이스를 운영과 보안상의 이유로 사용하지 않기로 결정했는데요. DevOps 팀이 운영하던 메타베이스를 대체하여 데이터 쿼리 기능을 제공하는 새로운 도구가 필요해졌고, Data Platform Squad에서 만들어보자고 해서 프로젝트가 시작되었습니다.당시의 프로젝트명이 그대로 서비스의 이름이 되었는데요. 기존의 메타베이스를 사용하는 가장 큰 이유였던 쿼리 작업 없이도 간단한 UI 작업을 통해 원하는 데이터를 추출하고 다운로드 할 수 있는 기능을 중점으로 요기요 구성원들만 사용할 수 있는 데이터 플랫폼 개발을 목표로 했습니다.이미 사용하고 있던 서비스를 대체하는 것이었기 때문에 사용자들과 그동안 서비스의 문제점, 개선할 점에 대한 인터뷰를 진행했고 그 내용을 아래처럼 정리했습니다.Project David_Brain Storming마인드맵의 질문들을 통해 구분되는 영역별로, 레벨별로 정리해서 이슈 트리를 만들었습니다. 다양한 레벨의 질문들을 보안, 핵심 기능, 관리, 기본기능, 관리, 정책/업무 프로세스의 큰 카테고리로 나누어 정리했습니다.보안: 보안팀의 요구 사항 준수. 기본적인 보안 기능핵심 기능: 프로젝트를 통해 구축하는 서비스의 기능기본 기능: 핵심 기능이 아닌 일반적으로 제공하는 기능관리: 권한, 사용량 비용과 같은 계정 관리정책/ 업무 프로세스: 정책 대상, 업무 프로세스의 정의, 구축에 대한 상세사항1. 핵심 기능 도출위의 이슈들에서 구체적인 요구 사항을 추출했고, 추후 중요도와 구현 난이도 등을 함께 분석해서 우선순위를 정했습니다. 아무래도 전사의 모든 구성원이 함께 사용해야 하는 서비스이다 보니, 다양한 부서와 이해관계, 업무 요구 사항, 고려 사항 등을 정리해서 우선순위를 선정하는 작업이 쉽지 않았는데요.Phase1에서 집중했던 다윗의 핵심 기능은 Redash의 오픈소스를 최대한 활용하는 방식으로, 1. adhoc 쿼리 실행 기능 2. 쿼리 저장 3. 자동 UI Draw 4. 데이터 추출 5. 서비스의 중단 없는 안정적 운영 (무중단 서비스) 6. 데이터 시각화였습니다.2. 기능 구현기능을 실제로 구현하면서 가장 신경 썼던 부분은 바로 다윗의 사용자인 요기요 구성원들이었는데요.1) 쿼리 모니터링사용자가 실행한 쿼리들을 모니터링하여 사용량 및 처리시간 등을
metabase
redash
연관 기술 스택
techstack-logo
Redash
techstack-logo
Superset
techstack-logo
Tableau
Copyright © 2025. Codenary All Rights Reserved.