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
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
87
Which should be designed first, the data model or the domain model
tamtam0423
0
230
みんなのPython勉強会#100 LT枠 参照カウントから見るPythonのメモリ管理
tamtam0423
5
1.6k
Understanding Metaclass from Type
tamtam0423
0
63
みんなのPython勉強会_LT枠_10_12__5分で理解するディスクリプタ.pdf
tamtam0423
2
1.1k
めぐろLT_ Pythonの弱参照(weakref)を使えば、世界はもっと良くなる
tamtam0423
0
800
みんなのPython勉強会#96 LT枠
tamtam0423
0
230
Other Decks in Technology
See All in Technology
All About Sansan – for New Global Engineers
sansan33
PRO
1
1.4k
マルチエージェント × ハーネスエンジニアリング × GitLab Duo Agent Platformで実現する「AIエージェントに仕事をさせる時代へ。」 / 20260421 GitLab Duo Agent Platform
n11sh1
0
160
Do Vibe Coding ao LLM em Produção para Busca Agêntica - TDC 2026 - Summit IA - São Paulo
jpbonson
3
120
基盤を育てる 外部SaaS連携の運用
gamonges_dresscode
1
120
こんなアーキテクチャ図はいやだ / Anti-pattern in AWS Architecture Diagrams
naospon
1
450
20260423_執筆の工夫と裏側 技術書の企画から刊行まで / From the planning to the publication of technical book
nash_efp
3
400
Chasing Real-Time Observability for CRuby
whitegreen
0
120
自分のハンドルは自分で握れ! ― 自分のケイパビリティを増やし、メンバーのケイパビリティ獲得を支援する ― / Take the wheel yourself
takaking22
1
910
データを"持てない"環境でのアノテーション基盤設計
sansantech
PRO
1
120
AI時代のガードレールとしてのAPIガバナンス
nagix
0
280
Bill One 開発エンジニア 紹介資料
sansan33
PRO
6
18k
Oracle AI Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
4
2.4k
Featured
See All Featured
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.6k
Writing Fast Ruby
sferik
630
63k
Building Applications with DynamoDB
mza
96
7k
Code Reviewing Like a Champion
maltzj
528
40k
Music & Morning Musume
bryan
47
7.2k
A Soul's Torment
seathinner
6
2.7k
Ethics towards AI in product and experience design
skipperchong
2
260
Unsuck your backbone
ammeep
672
58k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
250
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
180
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.9k
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ツールを事前に調査すると良いかも!