Slide 1

Slide 1 text

DATA CLOUD WORLD TOUR アドテクのビッグデータを 制するSnowflakeの力 株式会社CARTA HOLDINGS 近森 淳平 氏@pei0804

Slide 2

Slide 2 text

アドテクってどんな世界?

Slide 3

Slide 3 text

アドテクの世界は、猛烈な速度で変化を遂げ、 圧倒的なデータ量を生み出します。

Slide 4

Slide 4 text

右肩上がりに増える現場のデータ活用需要。 しかし、我々のデータ基盤はその需要に、 応えられませんでした。

Slide 5

Slide 5 text

気がつけば、データを見るだけで、 日々疲弊をしてしまっていた。

Slide 6

Slide 6 text

そこに現れたSnowflake。

Slide 7

Slide 7 text

Snowflakeを導入したことで、 データ業務を根本から変えてくれました。

Slide 8

Slide 8 text

そして、導入から1年が経ちました。 今日は、絵に描いた餅ではなく、 食べることのできる餅を紹介します。

Slide 9

Slide 9 text

アジェンダ ● 自己紹介 ● アドテクとデータの関係性 ● 現場のデータ課題 ● なぜSnowflakeなのか? ● 1年間の振り返りと得られた利点

Slide 10

Slide 10 text

アジェンダ ● 自己紹介 ● アドテクとデータの関係性 ● 現場のデータ課題 ● なぜSnowflakeなのか? ● 1年間の振り返りと得られた利点

Slide 11

Slide 11 text

自己紹介 ぺい @pei0804 近森淳平(チカモリ ジュンペイ) CARTA HOLDINGS (旧VOYAGE GROUP) Zucks システム局 エンジニア

Slide 12

Slide 12 text

techblog.cartaholdings.co.jp, The Zen of Zucks, 2022/06/10, https://techblog.cartaholdings.co.jp/entry/the-zen-of-zucks

Slide 13

Slide 13 text

アジェンダ ● 自己紹介 ● アドテクとデータの関係性 ● 現場のデータ課題 ● なぜSnowflakeなのか? ● 1年間の振り返りと得られた利点

Slide 14

Slide 14 text

アドテクにおけるデータとは?

Slide 15

Slide 15 text

アドテクは、多くの業務が、 ソフトウェア上で完結するため、 データはその中心的な役割を果たします。

Slide 16

Slide 16 text

業務活動 = データ アドテクにおけるデータは、業務活動のそのものです。 例えば、広告を表示した。広告がクリックされた。 広告からアクションが発生したなど、それら全てがデータです。 そして、実績データから、予算の消化ペースをコントロールしたり、 広告の適正価格を決定したり、意思決定の材料にも使われます。

Slide 17

Slide 17 text

アドテクのデータの特徴 アドテクのデータを一言で表すと、大量の半構造化データです。 まず、量に関しては、1つのログだけで、億record/dailyを超えます。 半構造化データには、色々な種類がありますが、 よく使われるデータの1つに、広告オークションログがあります。 簡単に説明すると、「広告枠のある場所に訪れたユーザー、 こんな人来たけど広告出したい?」的なやり取りをするログです。 中には色々な情報が入ってるのですが、要はでっかいJSONです。

Slide 18

Slide 18 text

でっかいJSONのスクリーンショットです。

Slide 19

Slide 19 text

データが中心なビジネスなので、 データをコントロールすることは、 必然的に重要になります。

Slide 20

Slide 20 text

アジェンダ ● 自己紹介 ● アドテクとデータの関係性 ● 現場のデータ課題 ● なぜSnowflakeなのか? ● 1年間の振り返りと得られた利点

Slide 21

Slide 21 text

Zucksって、そもそも何やっている?

Slide 22

Slide 22 text

Zucksのアドテク事業 ● アドネットワーク ● デマンドサイドプラットフォーム(以下DSP) ● アフィリエイト 大きく分けて、3つのプロダクトを構築・運用しています。 チームの体制的には、それぞれにプロダクトチームがついて、 日々事業開発をしています。

Slide 23

Slide 23 text

どんなデータ業務があるか?

Slide 24

Slide 24 text

データ業務と使われている技術 ● レポーティング ○ プロダクトごとに、Amazon Redshift, Amazon Auroraを 使った基盤がある。 ● 分析、機械学習 ○ プロダクトを横断して、BigQueryに統合されている。 ● プロダクト ○ Amazon Auroraを使ったトランザクションシステム。 ※他にも色々ありますが、代表的なものだけ。

Slide 25

Slide 25 text

No content

Slide 26

Slide 26 text

この現場で、何が起きていたのか?

Slide 27

Slide 27 text

データ利活用、大変すぎる。

Slide 28

Slide 28 text

データ利活用とは データを利用したサービスという狭義の意味はもちろん、 既存の製品・サービスの付加価値を向上させる、 新たな事業領域を模索したり、新たなイノベーションの創出 新たな市場の創造を進めたりする手段としても 検討・推進されるものである。 経済産業省「データ利活用のポイント集」 10ページ https://www.meti.go.jp/policy/economy/chizai/chiteki/pdf/datapoint.pdf

Slide 29

Slide 29 text

大変の根底にあったのは、 データのサイロ化。

Slide 30

Slide 30 text

データのサイロ化の何が悪いのか?

Slide 31

Slide 31 text

データのサイロ化は、 利活用のオーバーヘッドを高くする。

Slide 32

Slide 32 text

ケーススタディ。 色んなデータにクエリして、金脈探そう!

Slide 33

Slide 33 text

負荷Lv梅 分析基盤にあるデータにクエリする。

Slide 34

Slide 34 text

No content

Slide 35

Slide 35 text

負荷Lv竹 分析基盤にあるデータと、 特定プロダクトのレポーティングデータにクエリする。

Slide 36

Slide 36 text

No content

Slide 37

Slide 37 text

ここで何らかの方法で、手元で突合する。 とても面倒くさい。

Slide 38

Slide 38 text

負荷Lv松 分析基盤にあるデータと、 レポーティングとアプリDBのデータを見る。

Slide 39

Slide 39 text

No content

Slide 40

Slide 40 text

踏み台に入ってクエリする! 結果のCSVは、なんか頑張って持ってくる!

Slide 41

Slide 41 text

負荷Lv 鬼 プロダクトを横断して、データを見る。

Slide 42

Slide 42 text

No content

Slide 43

Slide 43 text

データを取ってくるだけで大変!

Slide 44

Slide 44 text

しかも、取ってきたデータもカオス!

Slide 45

Slide 45 text

データを揃えるところで9割。 本質的な仕事が1割程度。 そんな経験ありませんか?

Slide 46

Slide 46 text

そもそもデータ利活用は、ほぼうまくいかない データを使って何かしよう!をやったことある人なら、 身をもって理解してると思いますが、データで新たな価値創造するのは、 どれだけ頑張っても、ほとんどうまくいきません。 そういう世界感の仕事で、データにアクセスする部分に、 高いオーバーヘッドが存在すると、げんなりします。人間だもの。 やってみるのハードルを下げなければ、いつしか人々はやらなくなります。

Slide 47

Slide 47 text

データ利活用よりも手前の話 今回紹介した様な大変さがある場合、利活用に限らず、 データに関連する業務の全てが、大変なケースが多いです。 実際、弊社ではレポーティング業務や、 ちょっとした分析ですら大変な状況でした。

Slide 48

Slide 48 text

データのサイロ化は、 利活用業務のオーバーヘッドを高くする。

Slide 49

Slide 49 text

データがサイロ化していると、 構造的に、生産性向上が難しいと判断し、 まずは、データが一箇所にある状態を作る。

Slide 50

Slide 50 text

それをどこで実現するべきか? それが、今日のメインテーマです。

Slide 51

Slide 51 text

BigQuery?Redshift? Auroraは行指向で分析用途には、不向きだったので、 選択肢に入れませんでした。

Slide 52

Slide 52 text

No content

Slide 53

Slide 53 text

アジェンダ ● 自己紹介 ● アドテクとデータの関係性 ● 現場のデータ課題 ● なぜSnowflakeなのか? ● 1年間の振り返りと得られた利点

Slide 54

Slide 54 text

なぜSnowflakeなのか?

Slide 55

Slide 55 text

既存のデータ基盤の改善で、 うまくやれないんだっけ?

Slide 56

Slide 56 text

既存の基盤を置き換えてでも、 Snowflakeのが、優位性があった。

Slide 57

Slide 57 text

vs BigQuery

Slide 58

Slide 58 text

vs BigQuery 転送コスト 弊社のアプリはAWSに存在します。それらのログは、S3にありました。 これらのログをBigQueryで使用する場合、まずGCPにデータを転送する 必要があり、この過程でAWSからGCPへのデータ転送費用と、 コピーされたログのストレージコストが発生します。 これが、開発工数的にも、費用的にも無視できないコストでした。 一方、SnowflakeをAWSで運用すると、転送費用は一切かからない上、 S3にあるログをSnowflakeにロードするのは、非常に簡単です。 独自で新たな仕組みを用意する必要がありません。 結果として、ログを取り込むのにかかるコストを極限まで削減できます。

Slide 59

Slide 59 text

vs BigQuery チューニング余地 結果を高速に返すのを優先したい。コストを下げるのを優先したい。 そういったニーズに細かく応えれるのがSnowflakeです。 BigQueryの場合、どれもそれなりにやってくれます。 一方で、細かくチューニングはできません(≒せずに済むとも言える)。 全く同じワークロードであっても、Snowflakeのが安く実現できます。 なぜなら、コスト優先で速度落とす、テーブルの計算効率を上げるなど、 様々なコスト削減余地があるからです。 ※9割くらいのワークロードは、チューニングなしで十分です。

Slide 60

Slide 60 text

vs Redshift

Slide 61

Slide 61 text

vs Redshift コンピューティング管理 Redshiftはパフォーマンスの上限が、クラスターごとに決まります。 そのため、異なるクエリの性質(アプリ、分析、レポーティング)に 真面目に対応すると、複数のクラスターの運用が必須となります。 しかし、クラスターとデータの強く紐づいていて、手間がかかります。 この性質が、致命的で、全てのワークロードを集約できる イメージが湧きませんでした。 一方でSnowflakeでは、データへアクセスする権限を割り当てて、 用途に応じて、ウェアハウスサイズを調整するだけで対応可能です。

Slide 62

Slide 62 text

どうやって既存のワークロードを Snowflakeへ移行する? ※Auroraベースのレポーティング基盤は未着手なので割愛

Slide 63

Slide 63 text

一部だけ、Snowflakeとかやると、 新しいサイロができるだけなので、 当然やります。

Slide 64

Slide 64 text

Redshiftレポーティング基盤移行 dbtを使って、レポーティングを実現していたため、 クエリ資産を書き換えずに、Snowflakeに移行できる状態だったので、 Redshiftで提供してる全てを移行する方針で進めた。 切替日を決め、その日からはSnowflake上で作られたレポートを提供し、 過去のレポートに関しては、RedshiftからS3へUnloadし、 新しいレポートとUnionAllで混ぜる戦略で進めた。 既にRedshiftはシャットダウン済みで、Snowflakeのみで提供中。

Slide 65

Slide 65 text

No content

Slide 66

Slide 66 text

BigQuery分析基盤移行 まずは、すべての分析データをSnowflakeにロードし、 新規の分析業務は、Snowflakeで完結できる様になりました。 既存の機械学習ワークロードは、BigQueryで作られたデータに、 強く依存しているため、一切コードは書き換えない方針へ。 その代わり、高コストな訓練データは、Snowflakeで生成し、GCSへUnload。 BigQueryはクエリするだけにすることで、コストをカット。 現在も、事業クリティカルなワークロードから順番に置き換え中。

Slide 67

Slide 67 text

No content

Slide 68

Slide 68 text

あとは、Snowflakeベースで 基盤を作って、終わり。

Slide 69

Slide 69 text

そして、1年が経過した。

Slide 70

Slide 70 text

アジェンダ ● 自己紹介 ● アドテクとデータの関係性 ● データ管理の課題 ● Snowflake導入の決め手 ● 1年の運用を経てのSnowflakeの利点

Slide 71

Slide 71 text

導入してみて1年。 お世辞抜きに最高。

Slide 72

Slide 72 text

良い点はたくさんあるけど、 あえて、1つに絞るとしたら・・・。

Slide 73

Slide 73 text

運用が楽。

Slide 74

Slide 74 text

技術検証では、見えにくい運用体験。 安心してください。楽です。

Slide 75

Slide 75 text

少ない手間で、多くを成し遂げれる。

Slide 76

Slide 76 text

何故、運用が楽なのか?

Slide 77

Slide 77 text

Snowflakeは何故運用が楽なのか ● 高い安定性 ● ウェアハウスが、とにかく便利 ● 質の高いサポート体制 ● 日本のコミュニティが活発

Slide 78

Slide 78 text

Snowflakeは何故運用が楽なのか ● 高い安定性 ● ウェアハウスが、とにかく便利 ● 質の高いサポート体制 ● 日本のコミュニティが活発

Slide 79

Slide 79 text

安定していることは、素晴らしい 1年間の運用で、Snowflakeによる障害が一切ありませんでした。 弊社のチームは、私、新卒1名、業務委託1名(週3日)で、 複数のプロダクトのデータインフラを開発・運用しています。 まだ盤石な体制ではありませんが、高い安定性のおかげで、 Snowflakeベースの基盤構築も、想像よりも早く完了できました。

Slide 80

Slide 80 text

安定していることは、ビジネス価値 データ駆動のビジネスで継続的な価値を提供するには、 データ基盤の安定性が不可欠です。Snowflakeが安定して動くことで、 我々が提供しているビジネス価値の持続性に寄与しています。 仮にSnowflakeが派手に止まってしまうと、 我々のビジネスもそれなりに困ってしまうため、とても助かってます。

Slide 81

Slide 81 text

高い安定性に、驚きはない 実は、大きな障害がないことに、驚きはありません。 導入前に、Snowflakeについて色々調べた時の感想が、 「良い意味で、枯れた技術をうまく使っているので、安定してそう。」だったの で、多少は障害に遭遇することがあったとしても、 そんなに酷いことにはならないだろうと想定していました。 ※もちろん絶対に起きないとは考えていません。

Slide 82

Slide 82 text

Snowflakeは何故運用が楽なのか ● 高い安定性 ● ウェアハウスが、とにかく便利 ● 質の高いサポート体制 ● 日本のコミュニティが活発

Slide 83

Slide 83 text

ワークロードにフィットさせやすい ● レポーティング:定期的にクエリ実行。 ● 分析:アドホックなクエリの実行。 ● 機械学習:大量のコンピューティングリソース要求。 これらの異なる要件に、適切なウェアハウスを割り当てることで、 最適な性能を簡単に提供できます。 その操作性と効率性は、思っていた以上に便利で楽です。

Slide 84

Slide 84 text

けど、適切なサイズの割当大変でしょう?

Slide 85

Slide 85 text

簡単です。

Slide 86

Slide 86 text

ウェアハウスサイズの選択とその柔軟性 ● Large:10秒でのレスポンス。1日1万円。 ● Medium:30秒でのレスポンス。1日5千円。 適切なサイズ選びはワークロード次第ですが、 このようなシンプルな選択肢でコストをコントロールできます。 特筆すべきは、ダウンタイムなくサイズを変更できる点です。 これにより、非常に柔軟に運用が可能となります。

Slide 87

Slide 87 text

Snowflakeは何故運用が楽なのか ● 高い安定性 ● ウェアハウスが、とにかく便利 ● 質の高いサポート体制 ● 日本のコミュニティが活発

Slide 88

Slide 88 text

びっくりするくらい ほしい答えが返ってくる。

Slide 89

Slide 89 text

私が気に入ってる点のひとつを紹介すると、 使わせたいものを提案してくるんじゃなくて、 使ったほうがいいものを提案してくれる。

Slide 90

Slide 90 text

本質的な答えを返してくれる。

Slide 91

Slide 91 text

パートナーに近い存在。

Slide 92

Slide 92 text

そして、びっくりするくらい、 ドキュメントが分かりやすい。

Slide 93

Slide 93 text

読んでみてください。 ちゃんと読めるので驚きます。

Slide 94

Slide 94 text

Snowflakeは何故運用が楽なのか ● 高い安定性 ● ウェアハウスが、とにかく便利 ● 質の高いサポート体制 ● 日本のコミュニティが活発

Slide 95

Slide 95 text

日本コミュニティが活発 今日のイベントを含めて、日本コミュニティが活発です。 ユーザーグループ主導で、イベントや講座が作られたりしてます。 内容は初学者から上級者まで、みんな楽しめる工夫がされています。 興味があれば、是非ユーザーコミュニティに顔を出してみてください。 Snowflake User Groups Japan https://usergroups.snowflake.com/japan/

Slide 96

Slide 96 text

運用とコミュニティ関係ある?

Slide 97

Slide 97 text

活発なコミュニティ、多面的な価値 活発なコミュニティは、様々な価値をもたらします。 日本語で読める情報が増加し、新規ユーザーが参入しやすくなります。 多様な人々が増えると、多様な知見がコミュニティに共有されます。 ここからビジネスシナジーを生まれることもあるでしょう。 このような流れの結果として、日本がSnowflakeにとって、 重要な投資対象となり、ビジネス加速の源泉となる(はず)。 上記に書いた様々な利点が、日々の運用効率に、多面的に効いてきます。

Slide 98

Slide 98 text

まとめ

Slide 99

Slide 99 text

運用が楽なのは、本当にいいぞ

Slide 100

Slide 100 text

DATA CLOUD WORLD TOUR