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
Snowflakeはじめの一歩
Search
tama-chang
March 27, 2020
Technology
2
2.9k
Snowflakeはじめの一歩
tama-chang
March 27, 2020
Tweet
Share
More Decks by tama-chang
See All by tama-chang
データ分析の世界で今後必要とされる役割 「Purple People」とは
cmtamai
3
3.1k
Transform〜メトリクスレイヤーとは何か? データ分析に必要な「指標」を管理する
cmtamai
0
2.6k
アナリティクスエンジニアとは(What is Analytics Engineer)
cmtamai
1
9.4k
DWH御三家の各特徴と選び方〜SnowflakeとBigQueryとRedshiftと〜
cmtamai
0
10k
禁忌解放~TableauとLookerを連携して究極のBI環境を召喚する
cmtamai
0
3.8k
Lookerはじめの一歩
cmtamai
0
2.5k
スティーブン・セガール出演作品の邦題に「沈黙」がつくかどうか判別する機械学習モデルを作ろうとしてみた
cmtamai
0
1.3k
osaka_tamai.pdf
cmtamai
0
2k
スティーブン・セガール出演作品の邦題に「沈黙」がつくかどうか判別する機械学習モデルを作ろうとしてみた
cmtamai
0
1.6k
Other Decks in Technology
See All in Technology
OWASP Top 10:2025 リリースと 少しの日本語化にまつわる裏話
okdt
PRO
3
800
日本の85%が使う公共SaaSは、どう育ったのか
taketakekaho
1
230
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
1k
外部キー制約の知っておいて欲しいこと - RDBMSを正しく使うために必要なこと / FOREIGN KEY Night
soudai
PRO
12
5.5k
GitHub Issue Templates + Coding Agentで簡単みんなでIaC/Easy IaC for Everyone with GitHub Issue Templates + Coding Agent
aeonpeople
1
240
Context Engineeringの取り組み
nutslove
0
360
What happened to RubyGems and what can we learn?
mikemcquaid
0
300
変化するコーディングエージェントとの現実的な付き合い方 〜Cursor安定択説と、ツールに依存しない「資産」〜
empitsu
4
1.4k
OpenShiftでllm-dを動かそう!
jpishikawa
0
110
SRE Enabling戦記 - 急成長する組織にSREを浸透させる戦いの歴史
markie1009
0
130
10Xにおける品質保証活動の全体像と改善 #no_more_wait_for_test
nihonbuson
PRO
2
300
顧客の言葉を、そのまま信じない勇気
yamatai1212
1
360
Featured
See All Featured
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.7k
Statistics for Hackers
jakevdp
799
230k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
3.6k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Building AI with AI
inesmontani
PRO
1
700
The Curse of the Amulet
leimatthew05
1
8.6k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Navigating Team Friction
lara
192
16k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
55
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
120
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
61
52k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Transcript
Snowflake はじめの一歩 データアナリティクス事業本部 2020/3/27 玉井励 1
2 自己紹介 玉井 励(タマイ レイ) • データアナリティクス事業本部 • 大阪オフィス勤務 •
本日は奈良県の自宅から放送 • コロナウイルス騒動前からリモート ワークがメイン(2年くらい)
3 本日お話すること
4 本日お話すること • Snowflakeとは何か? • Snowflakeの実際の画面(デモ) • Snowflakeの特徴 • 他のDWHにはないところを中心に
5 本日お話しないこと
6 本日お話しないこと • 詳細な料金体系 • ※従量課金ということだけ知っていただければ • セキュリティの解説 • 権限管理
• エディションの内容 • ※5つのエディションから選択可能ということだけ知っていただけ れば • その他細かい仕様
7 Snowflakeって何?
8 Snowflakeとは データウェアハウス ANSI準拠のSQLが使用可能 クラウド上で稼働 AWS、Azure、GCP オンプレミスは非対応 SaaS ハードウェア無し(管理不要) クラウド上に
構築 SQL使用可能 SaaSとして 提供
9 とりあえず画面を見てもらいます(デモ)
10 デモでやること 1. テーブルを作る 2. データを入れる 3. テーブルに対してSELECT文を実行する 極めて普通のことをSnowflakeでやります →イメージを掴んでもらえれば嬉しいです。
11 画面を変えます
12 3層アーキテクチャ
© 2020 Snowflake Inc. All Rights Reserved Snowflakeのアーキテクチャ マルチクラウド対応 Query
Processing Layer Cloud Service Layer Data Storage Layer
© 2020 Snowflake Inc. All Rights Reserved Snowflakeのアーキテクチャ マルチクラウド対応 Query
Processing Layer Cloud Service Layer Data Storage Layer
15 Data Storage Layer • データの保存場所 • 全てのデータはここに置かれる • 内部の最適化された形式(マイクロパーティション)と
して保存 • データに直接触れることはできない • マイクロパーティションとは? • テーブルデータを保持する連続したストレージユニット • テーブル毎に複数のマイクロパーティションを作成 • イミュータブル(不変)
© 2020 Snowflake Inc. All Rights Reserved Snowflakeのアーキテクチャ マルチクラウド対応 Query
Processing Layer Cloud Service Layer Data Storage Layer
17 Query Processing Layer • クエリを処理するところ • 仮想ウェアハウスが稼働する • 仮想ウェアハウスとは?
• MPPタイプのコンピューティングクラスタ • 各クラスタは独立 • 後で詳細説明します • ストレージ(データ)と分離している
© 2020 Snowflake Inc. All Rights Reserved Snowflakeのアーキテクチャ マルチクラウド対応 Query
Processing Layer Cloud Service Layer Data Storage Layer
19 Cloud Service Layer • Snowflakeの各種管理を司る • セキュリティ • 認証
• アクセス制御 • データ暗号化 • メタデータ管理 • クエリの処理等、色々なことに利用 • SQLオプティマイザ • クエリの最適化 • プルーニング • トランザクション • 完全なCRUD機能 • 完全なACIDトランザクション • 同時実行の管理
20 その他アーキテクチャについて • ユーザー側がインフラを操作することはできない • 自分でインフラ側のスペックを増強する等は不可 • Snowflake社が管理 • インフラリソースは他ユーザーと共有
• 例外は最上位エディション(VPS)
21 仮想ウェアハウス
22 仮想ウェアハウスとは データに対してクエリを 実行するマシン それぞれにCPU、メモリ、SSD が備わっている データ(ストレージ)と分離 して存在
23 従来のDB(DWH)のアーキテクチャ 共有ストレージ シングルクラスタ 共有ディスク 分散型のローカルストレージ シングルクラスタ 共有なし(Shared Nothing)
XL 営業 機械学習 Structured & semi-structured ETL/ELT S M M
M M M M M M
25 もう少し細かい特徴 • いくつでも作成できる • SELECT等の各種DMLの実行時に稼働する • 自動レジュームも可能 • いつでも停止できる
• 自動サスペンドも可能 • いつでもスペック(サイズ)を変更できる • 稼働している間だけ費用が発生する
26 仮想ウェアハウスのサイズ(スケールアップ) 仮想ウェアハウスのサイ ズ(スペック)はTシャ ツのサイズと同じ表記 XS~4XL S XL
Doubling the number of servers halves the run-time... サーバスペックを2 倍にすると実行時間
が1/2になる サーバの請求単位は 秒単位 そのため、同じコス トで8倍速く処理す ることができる スケーリングアップ(10億件のアップロード)
28 マルチクラスター化(スケールアウト) 最大10個までクラスター を増やせる 最小時と最大時のクラス タの数を指定することで、 自動スケールが可能 ※Enterpriseエディション以上の み S
S S S
XL 営業 機械学習 Structured & semi-structured ETL/ELT S M M
M M M M M M
30 データのロード
31 Snowflakeにおけるデータロードの大まかな流れ データを用意する (ファイルとして出力する) データをステージに配置する ステージからテーブルに データをロードする
32 ステージとは Snowflake用のファイル のリポジトリ Snowflakeにとって都合良くデー タをロード/アンロードできる場 所
33 2種類のステージ • Internal Stage(内部ステージ) • Snowflake内部に作成するステージ • 任意のテーブルにデータをロードできる •
External Stage(外部ステージ) • Snowflakeの外に存在するステージ • 下記のストレージサービスをSnowflakeのステージとし て扱うことができる • Amazon S3 • Azure Blob • Google Cloud Storage
34 Snowflakeにおけるデータロードの流れ
35 Snowflakeにおけるデータロードの流れ
36 Continuous(連続)ロード Snowflake側に用意され たサーバーレスなサービ ス 指定したステージから継 続的にデータをロードし 続ける 「テーブルにデータをストリー ミングする」というイメージ
Snowpipe
37 半構造化データ
38 Snowflakeは半構造化データをネイティブサポート 半構造化データをそのまま テーブルに入れることが可 能 (VARIANT型というカラムにロー ド可能) 入れた半構造化データに対 して直接SQLを実行可能 半構造化データ専用の関数もあり
39 対応ファイル形式 • JSON • XML • Avro • ORC
• Parquet
40 半構造化データを扱う例 Salesforceのデータを 分析したい!
41 半構造化データを扱う例 Salesforceのデータを 分析したい! REST APIから データをGET
42 半構造化データを扱う例 Salesforceのデータを 分析したい! REST APIから データをGET 出てくるのは JSON形式のファイル
43 従来の方法だとETL(Extract→Transform→Load) 抽出してきた Salesforceのデータ
44 従来の方法だとETL(Extract→Transform→Load) 抽出してきた Salesforceのデータ テーブル形式(RDBMS)に 変換
45 従来の方法だとETL(Extract→Transform→Load) 抽出してきた Salesforceのデータ テーブル形式(RDBMS)に 変換 DB(DWH)にロード
46 SnowflakeはELT(Extract→Load→Transform) 抽出してきた Salesforceのデータ Snowflakeにロード Snowflake上で データ変換
47 タイムトラベル(とフェールセーフ)
48 システムを運用する上でアクシデントは不可避 ヒューマンエラー システムのエラー 時間のかかるバックアップ ミスを防ぐためのスキルと管 理コスト
49 タイムトラベル機能で解決 • 各種過去データに対するクエリ、複製、リストアが 可能 • データベース • テーブル •
スキーマ • 遡れる日数はエディションによる • StandardとPremiumは最大1日 • Enterprise以上だと最大90日 • (Transientテーブル、Temporaryテーブルは最大1日)
50 さらにフェールセーフまで • タイムトラベルの有効期限を過ぎたデータを7日間保 持する • Snowflake社の担当者のみがアクセスできる • 復元するためには特殊な手続きが必要 •
全エディションで使用可能
51 本日のまとめ(とその他諸々)
52 Snowflakeの特徴 • クラウドベース&SaaS型のデータウェアハウス • データストレージとコンピュート(仮想ウェアハウ ス)が分離したアーキテクチャ • 好きな時だけ稼働する仮想ウェアハウス •
ステージを使ったデータロード • 半構造化データをネイティブサポート • タイムトラベルで過去データにアクセス
S M Sales Data Science S Structured & semi-structured クラウドサービス
トランザクション管理 セキュリティ クエリ計画・最適化 メタデータ管理 L M ETL/ELT Snowpipe XS タスク&ストリーム 論理モデル
54 他にも色々… • 強固なセキュリティ • Snowflake上のデータは全部暗号化される等 • 強力なキャッシュ • 3種類のキャッシュで仮想ウェアハウス動作無しでデータ
取得 • データシェアリング • 簡単に別アカウント等へデータ共有 • ロールベースの権限管理 • …etc
55 ご案内 Snowflake無料トライアル(30日間) https://classmethod.jp/partner/snowflake/ Snowflakeに関する弊社の技術ブログ https://dev.classmethod.jp/referencecat/business- analytics-tools-snowflake/
56