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
NoCodeツールでWebHookからDWHへのデータの転送処理を爆速で実装した話
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Yusuke Tamura
December 26, 2022
Technology
400
0
Share
NoCodeツールでWebHookからDWHへのデータの転送処理を爆速で実装した話
2022/12/21に行われためぐろLT会での登壇資料になります
https://raksul.connpass.com/event/267974/
Yusuke Tamura
December 26, 2022
More Decks by Yusuke Tamura
See All by Yusuke Tamura
Developing UI Components Integrating Radix Primitives with Custom CSS
tamtam0423
0
94
Which should be designed first, the data model or the domain model
tamtam0423
0
240
みんなのPython勉強会#100 LT枠 参照カウントから見るPythonのメモリ管理
tamtam0423
5
1.6k
Understanding Metaclass from Type
tamtam0423
0
68
みんなのPython勉強会_LT枠_10_12__5分で理解するディスクリプタ.pdf
tamtam0423
2
1.2k
めぐろLT_ Pythonの弱参照(weakref)を使えば、世界はもっと良くなる
tamtam0423
0
830
みんなのPython勉強会#96 LT枠
tamtam0423
0
240
Other Decks in Technology
See All in Technology
layerx-fde-practices
cipepser
6
2.9k
TROCCOで始めるクラウドコストを民主化するためのFinOps
tk3fftk
1
280
Datadog 認定試験の概要と対策
uechishingo
0
190
人が担う「価値」とは?これからの「QA」とは / Human Value and the Future of Quality Assurance
bitkey
PRO
0
130
基礎から解説!Icebergで紐解くSnowflake×Databricks連携の現在地
cm_yasuhara
0
390
Dynamic Workersについて
yusukebe
1
430
oracle-to-databricks-migration-with-llm-and-dbt
casek
1
360
Spring AI × MCP 入門〜AIエージェントへのツール公開、境界設計から始める最小構成 〜
yuyamiyamoto
0
180
データ分析基盤の信頼を支える視点と設計
yuki_saito
2
760
【ハノーバーメッセ振り返りイベントat名古屋】データは集約からAI起点の収集に ~組織内・組織間でのデータ連携~
tanakaseiya
0
140
イベントストーミングとKiroの仕様駆動開発で実現する要件の認識合わせプロセス
syobochim
7
940
Javaコミュニティをもっと楽しむための9箇条
takasyou
0
470
Featured
See All Featured
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
The Pragmatic Product Professional
lauravandoore
37
7.3k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
200
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
140
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2k
The agentic SEO stack - context over prompts
schlessera
0
790
Navigating Team Friction
lara
192
16k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.2k
Six Lessons from altMBA
skipperchong
29
4.3k
A Tale of Four Properties
chriscoyier
163
24k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.3k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
310
Transcript
@ 2022 Novasell, Inc. All Rights Reserved. NoCodeツールで WebHookからDWHへのデータ転送処理 を爆速で実装した話
1
@ 2022 Novasell, Inc. All Rights Reserved. 自己紹介 GitHub: @tamtam-fitness,
Twitter: @TamtamFitness たむたむといいます! 今年新卒でラクスル /ノバセルに入りました 💪 社内部活のマッスル部で部長もしています!
@ 2022 Novasell, Inc. All Rights Reserved. ところでみなさん、 次の要件の場合どのように実装しますか?
@ 2022 Novasell, Inc. All Rights Reserved. 社内のエンジニアの生産性を分析するために、 - ClickUpのWebhookからステータスの更新情報を取得する
- 取得したデータを最終的にSnowflakeに転送させる 処理を実装することになりました。 Snowflakeへのデータ転送の即時性に関しては求められていないです。 Snowflake…SaaS型のデータウェアハウス ClickUp…タスク管理ツール、スプリント毎にチケットを切り進捗確認をするために使う。
@ 2022 Novasell, Inc. All Rights Reserved. 自前実装パターン - APIGatewayとDynamoDBはPutEventを統合して、
ClickUpWebhookのレスポンスをDynamoDBのレコードとして追加 - DynamoDBのDataExport機能でS3に転送 - SnowflakeのCOPY INTO コマンドでS3のデータを一括ロード
@ 2022 Novasell, Inc. All Rights Reserved. 自前実装パターン - APIGatewayとDynamoDBはPutEventを統合して、
ClickUpWebhookのレスポンスをDynamoDBのレコードとして追加 - DynamoDBのDataExport機能でS3に転送 - SnowflakeのCOPY INTO コマンドでS3のデータを一括ロード 設計から実装(CDK書いたりレビューしたり) までに1週間は少なくともかかりそう...?
@ 2022 Novasell, Inc. All Rights Reserved. NoCodeツール活用パターン - ZapierのZapワークフロー連携
- TriggerとしてWebhookを登録 - 取得したデータを GoogleSheetに転送 - troccoの転送設定 - 転送元をGoogleSheet - 転送先をSnowflake Google Sheet
@ 2022 Novasell, Inc. All Rights Reserved. NoCodeツール活用パターン - ZapierのZapワークフロー連携
- TriggerとしてWebhookを登録 - 取得したデータを GoogleSheetに転送 - troccoの転送設定 - 転送元をGoogleSheet - 転送先をSnowflake Google Sheet 約2日で実装が終わりました🎉
@ 2022 Novasell, Inc. All Rights Reserved. Zapier 様々なサービスを連携させ、業務効率化・自動化を支援するiPaaS (
Integration Platform as a Service ) ※ Zapierの使用画面をキャプチャしたもの
@ 2022 Novasell, Inc. All Rights Reserved. trocco ETL/データ転送・データマート生成・ジョブ管理・データガバナンスなどの データエンジニアリング領域をカバーした、分析基盤構築・運用の支援
SaaS ※ troccoの使用画面をキャプチャしたもの
@ 2022 Novasell, Inc. All Rights Reserved. NoCodeツール活用パターン実装時のQ&A - QWebHookのレスポンスのデータは
jsonのデータ構造のまま Snowflakeへ転送させているの ? A.その方が Snowflakeに raw dataが送られて良いかもですが、 Zapier→ GoogleSheetの際に json形式で1カラムで入れる際手間だったのと 将来的に使うであろうデータも限られていたため、 データを絞りZapierが加工する形でGoogleSheetへ転送し、最終的に Snowflakeへ転送させています。 - Q.GoogleSheet使っているけど、データが蓄積された時はどうするの ? ( 蓄積 or 定期でリフレッシュ ) A.蓄積させています。GoogleSheetのデータ上限1,000万セルですが、 1レコード 5セル程のため 200万レコードまで格納可能です。 月のレコード数が約 3000レコード程度なので、 蓄積自体は50年くらいは大丈夫そうです。
@ 2022 Novasell, Inc. All Rights Reserved. NoCodeツール活用パターン実装時のQ&A - Q.troccoを使った一括ロード処理の更新頻度は
? A.1日1回深夜に動かすように troccoで定義しています。データ反映に即時性が求められてない かつ分析時に昨日のデータが反映されている方が体験的に良いと判断しました。 - Q.GoogleSheet → Snowflakeへのデータの出力方法はどうしているの ? A.TRUNCATE INSERTで全件洗い替えています。月約 3000レコードほどのデータが蓄積しますが、 この程度のデータ量なら直近 5年くらいは少なくとも処理の負担等は意識しなくて問題なさそうです。
@ 2022 Novasell, Inc. All Rights Reserved. NoCodeツール活用パターン実装時のQ&A - Q.自前実装パターンとの料金比較は
? A.自前実装パターン...主コストのAPIGateway, DynamoDB共に最小単位で収まるので 月約 3000円位です。加えて開発工数分の費用がそこそこかかります。 NoCodeパターン...NoCodeツールの有料プランの料金ですがノバセルは全面的にこれらのツール を使っているため利用数で割ったら 5000円は下回りそうです。 - Q.コード管理できるの ? A.troccoは別途料金がかかりますが Git連携しymlファイルで管理できます。 Zapierは2022年 12月時点では存在を確認できていないです。 - Q.エラー通知できるの ? A.Zapierとtroccoどちらも可能です。troccoは簡単に通知設定ができます。 Zapierの場合、 エラー通知用のワークフローを定義し対象のワークフローを監視させる形になるので若干面倒です。
@ 2022 Novasell, Inc. All Rights Reserved. NoCodeツールを活用できそうな場合 - 自社で開発/運用するよりROIが良い
優れたエンジニアになればなるほど内製するためのコストが低くなるが、 属人性の観点などチーム全体の意思決定として長期的に良いかどうかを意識 - ビジネスロジックに依存しない汎用的な処理である 開発工数を下げられるが複雑性に対応できない性質を意識 NoCodeツールに依存しない設計/実装 → 通知やETLなどの処理はNoCode/LowCodeツールを事前に調査すると良いかも!