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
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Yusuke Tamura
December 26, 2022
Technology
390
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
84
Which should be designed first, the data model or the domain model
tamtam0423
0
230
みんなのPython勉強会#100 LT枠 参照カウントから見るPythonのメモリ管理
tamtam0423
5
1.5k
Understanding Metaclass from Type
tamtam0423
0
60
みんなのPython勉強会_LT枠_10_12__5分で理解するディスクリプタ.pdf
tamtam0423
2
1.1k
めぐろLT_ Pythonの弱参照(weakref)を使えば、世界はもっと良くなる
tamtam0423
0
790
みんなのPython勉強会#96 LT枠
tamtam0423
0
230
Other Decks in Technology
See All in Technology
AWS DevOps Agent or Kiro の使いどころを考える_20260402
masakiokuda
0
150
【Oracle Cloud ウェビナー】データ主権はクラウドで守れるのか?NTTデータ様のOracle Alloyで実現するソブリン対応クラウドの最適解
oracle4engineer
PRO
3
130
Databricks Lakehouse Federationで 運用負荷ゼロのデータ連携
nek0128
0
110
Goビルドを理解し、 CI/CDの高速化に挑む
satoshin
0
100
Oracle Cloud Infrastructure:2026年3月度サービス・アップデート
oracle4engineer
PRO
0
330
制約を設計する - 非決定性との境界線 / Designing constraints
soudai
PRO
4
940
「活動」は激変する。「ベース」は変わらない ~ 4つの軸で捉える_AI時代ソフトウェア開発マネジメント
sentokun
0
140
OCI技術資料 : 証明書サービス概要
ocise
1
7.2k
Data Enabling Team立ち上げました
sansantech
PRO
0
230
やさしいとこから始めるGitHubリポジトリのセキュリティ
tsubakimoto_s
3
2.1k
Oracle Cloud Infrastructure(OCI):Onboarding Session(はじめてのOCI/Oracle Supportご利⽤ガイド)
oracle4engineer
PRO
2
17k
Kubernetesの「隠れメモリ消費」によるNode共倒れと、Request適正化という処方箋
g0xu
0
170
Featured
See All Featured
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.1k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
990
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
190
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
62
53k
エンジニアに許された特別な時間の終わり
watany
106
240k
Optimizing for Happiness
mojombo
378
71k
The browser strikes back
jonoalderson
0
870
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
210
How to build a perfect <img>
jonoalderson
1
5.3k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
199
73k
Leo the Paperboy
mayatellez
6
1.6k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
510
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ツールを事前に調査すると良いかも!