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
0
720
redash patche at dmm
tannai
September 03, 2019
Tweet
Share
More Decks by tannai
See All by tannai
akibago-2018-10-30
yuukigoodman
0
71
serverless-design-and-streaming-date-processing-service
yuukigoodman
0
940
alexa-changes-development-process
yuukigoodman
0
1.5k
VUIとAlexaによるちょっと未来の体験の話2
yuukigoodman
0
840
regrowth2016alexa
yuukigoodman
0
1.2k
Rails App Deployment with CodeDeploy
yuukigoodman
0
1.4k
cognito-userpools-in-production
yuukigoodman
4
8.6k
aws-lambda-in-practice
yuukigoodman
2
2k
serverless-from-today
yuukigoodman
2
2.1k
Other Decks in Technology
See All in Technology
AIエージェントの開発に必須な「コンテキスト・エンジニアリング」とは何か──プロンプト・エンジニアリングとの違いを手がかりに考える
masayamoriofficial
0
440
実践データベース設計 ①データベース設計概論
recruitengineers
PRO
4
910
JOAI発表資料 @ 関東kaggler会
joai_committee
1
430
会社にデータエンジニアがいることでできるようになること
10xinc
9
1.6k
Android Studio の 新しいAI機能を試してみよう / Try out the new AI features in Android Studio
yanzm
0
280
Goでマークダウンの独自記法を実装する
lag129
0
230
7月のガバクラ利用料が高かったので調べてみた
techniczna
3
670
攻撃と防御で実践するプロダクトセキュリティ演習~導入パート~
recruitengineers
PRO
3
870
Evolution on AI Agent and Beyond - AGI への道のりと、シンギュラリティの3つのシナリオ
masayamoriofficial
0
220
Jaws-ug名古屋_LT資料_20250829
azoo2024
3
140
Preferred Networks (PFN) とLLM Post-Training チームの紹介 / 第4回 関東Kaggler会 スポンサーセッション
pfn
PRO
1
260
我々は雰囲気で仕事をしている / How can we do vibe coding as well
naospon
2
220
Featured
See All Featured
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
Documentation Writing (for coders)
carmenintech
73
5k
The Invisible Side of Design
smashingmag
301
51k
KATA
mclloyd
32
14k
How GitHub (no longer) Works
holman
315
140k
Navigating Team Friction
lara
189
15k
jQuery: Nuts, Bolts and Bling
dougneiner
64
7.9k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3k
4 Signs Your Business is Dying
shpigford
184
22k
Visualization
eitanlees
147
16k
Into the Great Unknown - MozCon
thekraken
40
2k
Building a Modern Day E-commerce SEO Strategy
aleyda
43
7.5k
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 おしまい