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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
tama-chang
March 27, 2020
Technology
3.2k
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Snowflakeはじめの一歩
tama-chang
March 27, 2020
More Decks by tama-chang
See All by tama-chang
データ分析の世界で今後必要とされる役割 「Purple People」とは
cmtamai
3
3.2k
Transform〜メトリクスレイヤーとは何か? データ分析に必要な「指標」を管理する
cmtamai
0
2.8k
アナリティクスエンジニアとは(What is Analytics Engineer)
cmtamai
1
9.5k
DWH御三家の各特徴と選び方〜SnowflakeとBigQueryとRedshiftと〜
cmtamai
0
11k
禁忌解放~TableauとLookerを連携して究極のBI環境を召喚する
cmtamai
0
3.8k
Lookerはじめの一歩
cmtamai
0
2.6k
スティーブン・セガール出演作品の邦題に「沈黙」がつくかどうか判別する機械学習モデルを作ろうとしてみた
cmtamai
0
1.3k
osaka_tamai.pdf
cmtamai
0
2.1k
スティーブン・セガール出演作品の邦題に「沈黙」がつくかどうか判別する機械学習モデルを作ろうとしてみた
cmtamai
0
1.7k
Other Decks in Technology
See All in Technology
AI駆動開発を通して感じた、 AI時代のデザイナーの役割変化
whisaiyo
3
2.2k
入門!AWS Blocks
ysuzuki
1
130
AIっぽい文章を採点して人間らしく直すアプリを作ってみた
yama3133
2
200
日本 Fintech 未来予測レポート 2027〜2028年(オリジナル版)
8maki
0
2.2k
Disciplined Vibes: Scaling AI-Assisted Engineering
sheharyar
0
150
エラーバジェットのアラートのタイミングを考える.pdf
kairim0
0
150
小さく始める AI 活用推進 ― 日経電子版 Web チームの事例/nikkei-tech-talk47
nikkei_engineer_recruiting
0
270
MCP Appsを作ってみよう
iwamot
PRO
4
660
Oracle AI Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
6
1.5k
作って終わりにしない タイミーのセマンティックレイヤー育成の現在地
chanyou0311
4
2.4k
20260619 私の日常業務での生成 AI 活用
masaruogura
1
220
自宅LLMの話
jacopen
1
600
Featured
See All Featured
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
850
What's in a price? How to price your products and services
michaelherold
247
13k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.7k
Crafting Experiences
bethany
1
180
Marketing to machines
jonoalderson
1
5.4k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
340
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
420
Building Applications with DynamoDB
mza
96
7.1k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.3k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
430
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
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