Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Redash運用に付きまとう課題とその解決方法
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
orkShinnosuke
July 09, 2018
Technology
9.1k
4
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Redash運用に付きまとう課題とその解決方法
orkShinnosuke
July 09, 2018
More Decks by orkShinnosuke
See All by orkShinnosuke
brainpad_meetup_20181115_for_upload.pdf
orkshinnosuke
0
630
redash_meetup_20181017_for_upload.pdf
orkshinnosuke
1
650
ニッチ?だけど使った方がいいSpreadsheet芸3選
orkshinnosuke
0
260
Other Decks in Technology
See All in Technology
Disciplined Vibes: Scaling AI-Assisted Engineering
sheharyar
0
120
非エンジニアがClaudeと挑んだ「1ヶ月間プロダクト30本ノック」
askokc
0
210
2026TECHFRESH畢業分享會 - Lightning Talk - 資料也要 CI/CD? 用 Airbyte 自動化資料同步
line_developers_tw
PRO
0
600
NAB Show 2026 動画技術関連レポート / NAB Show 2026 Report
cyberagentdevelopers
PRO
0
150
2026TECHFRESH畢業分享會 - AI 時代的人生存檔點
line_developers_tw
PRO
0
610
小さくはじめるSLI/SLO ~育てながら組織に定着させる実践知~ / Starting Small with SLI/SLOs: Building Adoption Through Continuous Growth
nari_ex
2
1.2k
Microsoft Build Keynoteふりかえり
tomokusaba
0
120
Kubernetesにおける学習基盤とLLMOpsの概要
ry
1
220
JSAI2026 オーガナイズドセッションOS-27「不動産とAI」趣旨説明 / JSAI2026 Organized Session OS-27 “Real Estate and AI”: Statement of Purpose
ykiyota
0
140
製造業のクラウド活用最適解〜AI,DXを加速するデータ基盤の作り方〜
hamadakoji
0
430
Amazon Bedrock AgentCore ワークショップ JAWS UG TOHOKU / amazon-bedrock-agentcore-workshop-jawsug-tohoku-2026
gawa
9
590
DevOps Agentで始めるAWS運用 〜フロンティアエージェントが変える運用の現場〜
nyankotaro
1
360
Featured
See All Featured
Producing Creativity
orderedlist
PRO
348
40k
Six Lessons from altMBA
skipperchong
29
4.3k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
270
Technical Leadership for Architectural Decision Making
baasie
3
400
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
200
Deep Space Network (abreviated)
tonyrice
0
170
Abbi's Birthday
coloredviolet
2
8k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
140
So, you think you're a good person
axbom
PRO
2
2.1k
Transcript
Copyright © 2018 eureka, Inc. All rights reserved. Redash運用に付きまとう課題と その解決方法
#redashmeetup
Copyright © 2018 eureka, Inc. All rights reserved. 2 •
大久保 晋之介 • 株式会社エウレカ BIチーム所属 ◦ 社内屈指のRedashヘビーユーザー。 気がついたら運用を任されることに • 好きなツール ◦ Redash, Tableau, Jira • Redashのversion ◦ 3.0.0+b3134 自己紹介
Copyright © 2018 eureka, Inc. All rights reserved. 3 •
従業員数 ◦ 130名 (平均年齢28.5歳) • 事業内容 ◦ 自社サービス企画・開発・運営 ▪ Pairs ▪ Couples 株式会社エウレカ
Copyright © 2018 eureka, Inc. All rights reserved. 4 •
最も選ばれている恋愛サポートアプリ • 展開国 ◦ 日本 ◦ 台湾 ◦ 韓国 • プラットフォーム ◦ PC, SP, iOS, Android • 累計会員数700万人突破 Pairsについて 会員数の推移
Copyright © 2018 eureka, Inc. All rights reserved. 5 •
Redashの導入背景 • Redashの使い方 / 運用上の課題 / 解決方法 ◦ クエリ増殖期: 1年2ヶ月 (2015/10~) ◦ API多用期: 1年1ヶ月 (2017/01~) ◦ Tableau併用期: 4ヶ月目 (2018/03~) 目次
Copyright © 2018 eureka, Inc. All rights reserved. 6 •
Redashの導入背景 • Redashの使い方 / 運用上の課題 / 解決方法 ◦ クエリ増殖期: 1年2ヶ月 (2015/10~) ◦ API多用期: 1年1ヶ月 (2017/01~) ◦ Tableau併用期: 4ヶ月目 (2018/03~) 目次
Copyright © 2018 eureka, Inc. All rights reserved. 7 •
Pairs管理画面の代わりを探していた ◦ Pairsフルスクラッチのタイミングに、それまでの管理画面に変わるものを検討 ▪ 管理画面 → 売上やDAU等のサービス指標を確認していた ◦ 管理画面を作り込む工数の確保が難しかった Redashの導入背景 (2015/10頃)
Copyright © 2018 eureka, Inc. All rights reserved. 8 Redashの導入背景
(2015/10頃) • Redashに白羽の矢が立った理由 ◦ 様々なデータソース (MySQL, BigQuery...etc)につなげる ◦ 簡単にクエリ / グラフ / ダッシュボードの作成が可能 ◦ SQLの保存でノウハウのストックが可能 ◦ SQLの定期実行が可能 ◦ APIが備わっている ◦ CSVで結果をDLできる ◦ 無償(OSS版)
Copyright © 2018 eureka, Inc. All rights reserved. 9 •
Redashの導入背景 • Redashの使い方 / 運用上の課題 / 解決方法 ◦ クエリ増殖期: 1年2ヶ月 (2015/10~) ◦ API多用期: 1年1ヶ月 (2017/01~) ◦ Tableau併用期: 4ヶ月目 (2018/03~) 目次
Copyright © 2018 eureka, Inc. All rights reserved. 10 •
グラフ/ダッシュボード作成 ◦ 管理画面で確認していた指標 (売上 / 登録者数...etc) のダッシュボード化 ◦ 施策の効果測定時にグラフ作成 Redashの主な使い方 (クエリ増殖期: 15/10~16/12) • APIを使ってデータをSlackへ ◦ Pairsの特に重要な指標 (売上etc) はAPIで取得したデータを Slackに流す ※Redashは希望者全員が使用可 社内の希望者全員がクエリ /グラフ等の作成/編集可能としていた オーソドックスな使い方が主流 • クエリの保存/フォーク ◦ 効果測定等で使ったクエリを保存。似たような分析実施の際はフォーク
Copyright © 2018 eureka, Inc. All rights reserved. 11 •
課題1: 不正確 / 不要なクエリの乱立 ◦ 正しくないクエリによる誤った意思決定の誘発 ◦ 検索が困難に • 解決方法1-1: Redashアカウント作成と権限変更フローの確立 ◦ スキルに応じた権限に変更 • 解決方法1-2: クエリに命名ルールを定める ◦ 公式 / 非公式クエリに分けるため命名ルールを制定。非公式クエリはアーカイブ ▪ [公式]サービス+国名: 粒度+内容(グルーピング) • BIチームのLGTMがあれば[公式]マーク • 例: [公式]Pairs日本: Daily売上(男女*デバイス) Redashの課題/解決方法 (クエリ増殖期: 15/10~16/12)
Copyright © 2018 eureka, Inc. All rights reserved. 12 •
解決方法1-2: クエリに命名ルールを定める ◦ 命名ルールは暫くは運用に乗った。が 途中から廃れた。厳密に運用するならメタデータを使 い、自動的に命名をチェックする仕組みと併用した方がよい ◦ 公式/非公式クエリに分けるだけなら、最近の versionで対応するならPublish/Unpublishを使 い分けるのはあり ▪ ※Unpublishクエリはdashboard等から参照できない Redashの課題/解決方法 (クエリ増殖期: 15/10~16/12)
Copyright © 2018 eureka, Inc. All rights reserved. 13 Redashの課題/解決方法
(クエリ増殖期: 15/10~16/12) • 課題2: 使いづらいグラフ / ダッシュボードの乱立 ◦ グラフ毎に違う配色によるミスリードが発生 • 解決方法2-1: 配色ルールを制定 ◦ 例:male/female, pc/sp/ios/android ◦ 制定した結果グラフ / ダッシュボードの見やすさが改善 ◦ こちらのルールは守られている (メリットの大きさ故? )
Copyright © 2018 eureka, Inc. All rights reserved. 14 Redashの課題/解決方法
(クエリ増殖期: 15/10~16/12) • 課題3: BigQuery課金額の上昇 ◦ 多くのエンジニア、ディレクターに開放したことでたまに怪しいクエリが ... • 解決方法3-1: Scanned Data Limit (MB)を指定 ◦ RedashのDataSource設定画面でScanするDataの上限を決められる • 解決方法3-2: 課金額の可視化と定期的なチェック ◦ GCPの費用という枠組みで、これは社内の SREチームが主にやってくれている • 解決方法3-3: BigQueryデータソースに対するクエリ実行時のルール制定 ◦ 例: “SELECT *”の禁止 • 解決方法3-4: 課金が発生する旨の可視化
Copyright © 2018 eureka, Inc. All rights reserved. 15 運用を通しての学び
(クエリ増殖期: 15/10~16/12) • 権限整備は真っ先に対応するのが吉 • 運用ルールは監視し続ける人(または仕組み)がいないと廃れる • BigQuery使いすぎ問題を防ぐには制約と可視化が大事 • 守るメリットが大きいルールほど守られやすい • 運用の辛みを解消してくれる機能(Publish機能など)が続々リリースされてい るので、辛みを感じたらversion upすれば解消しないか確認
Copyright © 2018 eureka, Inc. All rights reserved. 16 •
Redashの導入背景 • Redashの使い方 / 運用上の課題 / 解決方法 ◦ クエリ増殖期: 1年2ヶ月 (2015/10~) ◦ API多用期: 1年1ヶ月 (2017/01~) ◦ Tableau併用期: 4ヶ月目 (2018/03~) 目次
Copyright © 2018 eureka, Inc. All rights reserved. 17 •
VisualizeはGoogle Spreadsheetへアウトソーシング ◦ RedashでのVisualizeに限界を感じる ▪ グラフをコピーしづらい etc ◦ 有意差を判定するためにも Spreadsheetの方が都合がよかった Redashの主な使い方 (API多用期: 17/01~18/02) • 定期実行クエリの多用 ◦ 定期実行したクエリの実行結果を APIで取得して対応する分析が増加 事業成長に伴い、使い方のバリエーションが増える • データ欠損検知でアラートを使用 ◦ データ件数等をチェックし、異常値であれば Slackにアラートを流す
Copyright © 2018 eureka, Inc. All rights reserved. 18 •
課題1: キューにクエリが詰まる ◦ 定期実行クエリが増えた結果、クエリが詰まる事例が増えた ◦ 前提としてこの場合の原因は色々考えられる。原因によって解決方法は変わる Redashの課題/解決方法 (API多用期: 17/01~18/02) 引用: 一歩踏み込むRedash https://speakerdeck.com/ariarijp/bu-ta-miip-mu-redash
Copyright © 2018 eureka, Inc. All rights reserved. 19 •
解決方法1-1: 重い定期実行クエリを停止 ◦ メタデータを使い実行に時間がかかっているクエリを検知 & 必要に応じて停止 原因: クエリが重い • 解決方法1-2: クエリをチューニング ◦ MySQLクエリをBQクエリに置き換えて数十分レベルで軽量化した事例も • 解決方法1-3: 遅いクエリをタイムアウトさせる ◦ REDASH_ADHOC_QUERY_TIME_LIMITを使う。定期実行クエリには効かない • 解決方法1-4: クエリが詰る前のログを確認し実行者に注意喚起 ◦ アナログだが地味に効果あり
Copyright © 2018 eureka, Inc. All rights reserved. 20 •
解決方法1-5: キューの数を増やす ◦ supervisord.confの設定で増やせる • 解決方法1-6: クエリの定期実行時間が重ならないように可視化 ◦ 同時実行数を減らすことで、キューがつまらないようにする • 解決方法1-7: 後回しで良いクエリは”キャンセル” ◦ v3.0の話ですがキャンセルボタンがうまく効かない .. 原因: クエリの同時実行数に対しキュー数が少ない
Copyright © 2018 eureka, Inc. All rights reserved. 21 •
解決方法1-8: サーバー性能アップ ◦ 要件に合わせてRedashサーバーをスケールアップ or スケールアウト 原因: クエリの実行結果が大きい
Copyright © 2018 eureka, Inc. All rights reserved. 22 運用を通しての学び
(API多用期: 17/01~18/02) • クエリがキューに詰まる件に関しては特効薬がない • キューの数を増やす、サーバーをスケールアップするなどで一時的には負荷 が減ることはあるが、クエリが増えればまた同じ問題にぶつかる • 重い定期実行クエリの停止、クエリが詰る前のログを確認し実行者に注意喚 起など、地道な改善作業を続けていくことが大事
Copyright © 2018 eureka, Inc. All rights reserved. 23 •
Redashの導入背景 • Redashの使い方 / 運用上の課題 / 解決方法 ◦ クエリ増殖期: 1年2ヶ月 (2015/10~) ◦ API多用期: 1年1ヶ月 (2017/01~) ◦ Tableau併用期: 4ヶ月目 (2018/03~) 目次
Copyright © 2018 eureka, Inc. All rights reserved. 24 •
Tableau導入の背景 ◦ 膨大な量のデータ (数百~千万レコード) をVisualizeしたいという依頼の増加 ◦ 主要KPI(売上やPairs内アクションetc)を様々な切り口から深掘りをしたいという依頼の増加 ▪ 切り口が多岐に渡るので、 1個1個クエリをRedashで作っているとキリがない ◦ →膨大なデータを扱えかつ Pivot機能とVisualize機能が充実したTableauで対応 Redashの主な使い方 (Tableau併用期: 18/03~現在) 多様化する分析ニーズに対応するためRedashとTableauを併用
Copyright © 2018 eureka, Inc. All rights reserved. 25 •
RedashとTableauの棲み分け ◦ Tableau: 主要KPIを様々な切り口から見て深掘りする分析で使用 ◦ Redash: Tableauに用意されている切り口でカバーできないアドホックな分析や、即時性が求め られる分析で使用(Tableauにデータを上げる前にはデータの中間集計・整形が必要 ) Redashの主な使い方 (Tableau併用期: 18/03~現在) 多様化する分析ニーズに対応するためRedashとTableauを併用
Copyright © 2018 eureka, Inc. All rights reserved. 26 RedashとTableau併用の結果(Tableau併用期:
18/03~現在) • 併用してからまだ日が浅いけど... • 分析依頼の増加に比べてRedashで 作られたクエリは増えていない • うまくTableauで分析依頼の増加を受 け止めることができている
Copyright © 2018 eureka, Inc. All rights reserved. 27 運用を通しての学び
(Tableau併用期: 18/03~現在) • BIツールを使い分けることで、分析ニーズの多様化に対応できる • 様々な切り口から見て深掘りする分析ではTableauは良い • とはいえRedashも欠かせないので、引き続き併用していきたい
Copyright © 2018 eureka, Inc. All rights reserved. 28 参考文献
• re:dash + BigQueryでクエリのコスト上限が指定できるようになった ◦ http://ryotarai.hatenablog.com/entry/2015/12/17/104600 • Redashの長期運用を見据えてクエリの名前付けについて考える ◦ http://ariarijp.hatenablog.com/entry/redash-advent-calendar-day-24 • 一歩踏み込む Redash ◦ https://speakerdeck.com/ariarijp/bu-ta-miip-mu-redash • Changing the Number of Workers ◦ https://redash.io/help/open-source/admin-guide/maintenance
Copyright © 2018 eureka, Inc. All rights reserved.