logo
logo
데이터
Redash
데이터 조회 / 시각화를 편하게 해주는 오픈 소스 BI (Business Intelligence)
StackOverflow 질문 수: 137
Github Stars : ★ 27135
사용 기업
금융/보험
패션
교육
여행
부동산/인테리어
기타
직장
소셜/컨텐츠
푸드테크
이커머스
모빌리티
techstack-logo
핀다
techstack-logo
딜리셔스
techstack-logo
뤼이드
techstack-logo
마이리얼트립
techstack-logo
버킷플레이스
techstack-logo
버즈빌
techstack-logo
레몬베이스
techstack-logo
야놀자
techstack-logo
하이퍼커넥트
techstack-logo
리디
techstack-logo
우아한형제들
techstack-logo
번개장터
techstack-logo
쿼타랩
techstack-logo
브랜디
techstack-logo
바로고
techstack-logo
라이너
techstack-logo
모두싸인
techstack-logo
팀스파르타
더 보기
기술 블로그 글
위대한상상
요기요만의 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
핀다
Ubuntu에서 ReDash 세팅 및 사용방법
Data Visualization Tool ReDash 에 대하여 세팅 및 사용방법을 스터디한다.ReDash는 Mysql, Elasticsearch 등 다양한 데이터베이스를 연동하여 직접 쿼리를 작성해 결과 값을 가져오고 그 결과 값을 토대로 다양한 모양의 그래프를 그릴 수 있는 기능을 제공한다.많은 회사들이 ReDash를 이용하여 데이터 시각화 대시보드를 구성하고 있다.참고 : Redash helps you make sense of your data이번 문서에서는 Ubuntu 인스턴스에 ReDash를 Docker Container로 띄워 데이터 시각화를 위한 환경을 구성 해보고 간단히 ReDash를 사용해 보는 내용을 다룬다.먼저 AWS(혹은 다른 Cloud도 가능)에서 Ubuntu 18.04 LTS 인스턴스를 생성한다.권장하는 인스턴스 사양은 아래와 같다.CPU(Core): 1개 이상Memory: 4GB 이상필자는 AWS에서 t3a.medium 사양의 인스턴스를 사용했다.정상적으로 ReDash의 Docker Container가 띄워지면 docker ps -a 명령어를 통해 현재 띄워져있는 ReDash의 컨테이너를 확인할 수 있다.기본적으로 ReDash 대시보드는 5000번 포트를 통해 라우팅된다.인스턴스(혹은 온프레미스 서버)의 <public ip>:5000 을 통해 브라우저로 대시보드에 접속할 수 있다.먼저 대시보드에 접속하면 아래 화면과 같이 Redash Initial Setup을 하도록 하고있다.알맞은 내용을 아래와 같이 입력하고 Setup 버튼을 클릭한다.입력한 계정 정보는 Admin 계정으로 활용된다.ReDash 초기 설정을 하고나면 아래의 화면과 같이 대시보드 화면으로 리다이렉트된다.자, 실제 사용방법을 핸즈온하기에 앞서 ReDash에 대한 간단한 정보와 추가적으로 ReDash에서 사용하는 용어와 내용을 간단하게 정리해보자.이제 ReDash에 대해 간단하게 알아봤으니 DB부터 연결해보자.상단의 메뉴바 중 아래 그림과 같은 모양의 버튼을 클릭한다.그럼 아래와 같은 Settings 화면으로 이동된다.여기에서 New Data Source 버튼을 클릭하여 ReDash에 연결할 DB를 등록한다.New Data Source 버튼을 클릭하면 굉장히 다양한 DB들이 목록에 있는 것을 확인할 수 있다.ReDash와 연결을 원하는 DB 종류를 검색한다.필자는 RDS(Mysql)을 선택했다.DB 종류를 선택하면 아래와 같이 정보를 입력할 수 있는 팝업이 나온다.해당 입력란에 자신의 DB 정보에 맞게 잘 입력한 후 Create 버튼을 클릭한다.이 때, 권장하는 DB 접근 계정은 조회 권한만 가진 계정으로 입력하도록 한다.왜냐하면 외부 서비스에서 DB에 접근할 때 보안상 필요한 권한만 부여하는 것이 가장 안전하므로 ReDash에서는 조회만 할 것이기 때문에 조회 권한만 가지고 있는 계정을 사용하는 것이 좋다.위 화면에서 Create 버튼을 클릭하면 아래 화면으로 리다이렉트 된다.이 곳에서 설정했던 Data Source 정보를 변경할 수도 있고,
redash
연관 기술 스택
techstack-logo
Metabase
techstack-logo
Redash
techstack-logo
Superset
Copyright © 2025. Codenary All Rights Reserved.