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 patche at dmm
Search
tannai
September 03, 2019
Technology
760
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
redash patche at dmm
tannai
September 03, 2019
More Decks by tannai
See All by tannai
akibago-2018-10-30
yuukigoodman
0
84
serverless-design-and-streaming-date-processing-service
yuukigoodman
0
1k
alexa-changes-development-process
yuukigoodman
0
1.6k
VUIとAlexaによるちょっと未来の体験の話2
yuukigoodman
0
900
regrowth2016alexa
yuukigoodman
0
1.3k
Rails App Deployment with CodeDeploy
yuukigoodman
0
1.6k
cognito-userpools-in-production
yuukigoodman
4
8.8k
aws-lambda-in-practice
yuukigoodman
2
2.1k
serverless-from-today
yuukigoodman
2
2.2k
Other Decks in Technology
See All in Technology
On-behalf-of Token exchange with AgentCore Identity
hironobuiga
2
140
ルールやカスタム機能、どう活かす?ハンズオンで体感するIBM Bobの出力コントロール
muehara
1
130
Oracle AI Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
6
1.5k
実装は速くなった、レビューはどうする? ― 自身のレビューをAIで再現させるサーヴァントエンジニアリングのすゝめ / Implementation got faster. So what about reviews? — An invitation to Servant Engineering: Recreating your own code reviews with AI
nrslib
8
4.6k
手塩にかけりゃいいってもんじゃない
ming_ayami
0
240
日本 Fintech 未来予測レポート 2027〜2028年(手動編集版)
8maki
0
1.5k
2026TECHFRESH畢業分享會 - Lightning Talk - 打造精準高效的 MCP 設計模式與測試實務
line_developers_tw
PRO
0
720
Claude Code の Sandbox 機能を Anthropic Sandbox Runtime(srt) で試そう!/lets-play-anthropic-sandbox-runtime
tomoki10
1
530
[モダンアプリ勉強会]今更聞けないGit/GitHub入門
tsukuboshi
0
360
AmazonRoute 53ではじめてのドメイン取得!HTTPS化までの道のりを整理してみた
usanchuu
3
130
AWSシリコン最前線 〜AI時代のチップ選択を読み解く〜
htokoyo
2
410
フロンティアAIのゲート化と地政学リスク
nagatsu
0
110
Featured
See All Featured
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.5k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
580
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Google's AI Overviews - The New Search
badams
0
1k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.9k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
65
56k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
230
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
The Language of Interfaces
destraynor
162
27k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
570
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.7k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Transcript
© DMM.com DMM.comにおける Redashパッチ事情 プラットフォーム事業本部ビッグデータ部DREチーム 丹内優紀 1
© DMM.com • 丹内優紀 • 2018年11月 中途入社 • ビッグデータ部DREチーム所属 • データ分析基盤の運用をしてます
• Redashの運用もやってます! 2 自己紹介
None
© DMM.com DMM.comのRedash運用状況 • 社員1527人中、アカウント保有者547人 • クエリ実行者 266人 4
© DMM.com DMM.comのRedash運用状況 • ダッシュボード数 884 • クエリ数 12370 5
© DMM.com DMM.comのRedash運用状況 • ホスト情報 • CPU 8コア • メモリ
64GB • disk 60GB • Docker/Portainerを使用 • Redash v4 6
© DMM.com 7 _人人人人人人_ > Redash v4 <  ̄YYYYYY ̄
© DMM.com アップデートを阻むもの、それは・・・ パッチ! 8
© DMM.com 本日の発表の趣旨 Redashの利用が活発になると、新しい要求が出てきます。 環境が急激に変化するDMM.comでは、パッチを当てることで幾つかの要 求に応えてきました。 パッチは必ずしも良いと言えるものではありません。 パッチの裏にある要求を持ち帰って頂けると幸いです。 9
© DMM.com データソースの名前やIDを コメント出力するパッチ 10
None
その数だけ事業部が!!
© DMM.com 背景 • Redashで事業部ごとのクエリ実行状況を把握したい。 • 事業部ごとの消費リソース(特にAthena代)を知りたい。 => 分析環境の管理業務を容易に! 13
© DMM.com パッチの内容(バックエンド) コメント出力部分に追加 14
© DMM.com パッチの結果 クエリにコメントが出力された! 15
© DMM.com パッチの結果 部署ごとの利用金額ダッシュボードができた! 16
© DMM.com クエリ実行時に partition keyを強制するパッチ 17
© DMM.com 背景 データ増えるけどリソース増えないので パーティション指定してほしい! 18
© DMM.com パッチの内容 クエリをパースして正規表現で探す 19
© DMM.com パッチの結果 where句で Partition Key 必須になった! (ついでにlimit句も必須にした) 20
© DMM.com パラメータ付きクエリを viewerも閲覧できるパッチ 21
© DMM.com 背景 • 閲覧権限では、「クエリを編集して実行・保存」ができない。 • 「Fork」もできない • 「パラメータ付きクエリ」はダッシュボードの閲覧すらできない。 =>
閲覧したい! 22
© DMM.com パッチの内容(フロントエンド) 23 閲覧権限でもクエリ実行ボタンを押せるようにする
© DMM.com パッチの内容(フロントエンド) 閲覧権限ではforkボタンを表示しない 24
© DMM.com パッチの内容(バックエンド) バックエンドで弾かない 25
© DMM.com パッチの結果 26
© DMM.com 人によってテーブルを 出し分けるパッチ 27
© DMM.com 背景 おかねのデータは限られた人だけ見れるようにしたい! 28
© DMM.com 背景補足 今回は横断部署の分析環境についてお話しています。 分析環境から触れられるDBには個人情報が入っていません。 従って、全ての分析者にデータを公開する方針で運営しています。 一方で事業部が独立していて、お金に関わるデータを公開しにくい 場合もあります。 できるだけ横断の分析環境を使って欲しいので、 必要なセキュリティを実装することでデータを入れてもらいます。
29
© DMM.com パッチの前に • データ基盤のセキュリティは次のような観点で考えられる。 • 認証:アクセスする人物の確認 • 認可:アクセスする権限の確認 •
監査:アクセスした事実の記録 • RedashのGoogleログイン機能で認証を実現する • データソース毎の機能で認可を実現する 30
© DMM.com パッチの内容 31 Prestoへの認可
© DMM.com パッチの内容(オンプレPresto) • Prestoにテーブルセキュリティ設定を追加 • Redashにスキーマ閲覧制限設定を追加 これらを hive-security.json ファイルで実現する
32
© DMM.com パッチの内容(オンプレPresto) • Prestoはhiveテーブルを参照する設定にしている。 • その設定は hive-security.json ファイルで行っている。 •
同じファイルをRedashのpyhiveにもパッチ。 33
© DMM.com 34 これがずっと続く パッチの内容(オンプレPresto)
© DMM.com パッチの内容 35 Athenaへの認可
© DMM.com パッチの内容(Athena) IAMでアクセス可能なテーブルを制御する ※AWS Glueを併用しています 36
© DMM.com パッチの内容(Athena) 部署ごとにできるIAM UserとPolicyの管理が必要 37
© DMM.com パッチを外すには 38
© DMM.com 対応方針 • PRを送る • 諦める(特にUIが関わるもの) • Redash以外で実現する 39
© DMM.com Redash以外でアクセス制御を実現する方法 http://pivotalhd.docs.pivotal.io/docs/knox-gateway-administration-guide.html 40 Hadoopにセキュリティ設定を寄せる
© DMM.com 教訓とまとめ 41
© DMM.com 教訓 • パッチは最後の手段にする。 • 要求を見つけて長期的な計画のもと利用環境を整備する。 • 運用コストをかけてまで実現したいことなのかを考える。 42
© DMM.com まとめ • 様々な立場の人がRedashを使うと、新しい要求が出てきます。 • Redashに限らず、パッチを含め状況の変化に対応しつつ、 システムを運用しやすいものにしていきましょう! 43
© DMM.com 最後に そんなDMMでは一緒に基盤を良くし てくれる人を探しています! https://dmm-corp.com/recruit/359 もちろん分析してくれる人も、 他の職種も募集中です! 44
© DMM.com おしまい