Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
Snowflake はじめの一歩 データアナリティクス事業本部 2020/3/27 玉井励 1
Slide 2
Slide 2 text
2 自己紹介 玉井 励(タマイ レイ) • データアナリティクス事業本部 • 大阪オフィス勤務 • 本日は奈良県の自宅から放送 • コロナウイルス騒動前からリモート ワークがメイン(2年くらい)
Slide 3
Slide 3 text
3 本日お話すること
Slide 4
Slide 4 text
4 本日お話すること • Snowflakeとは何か? • Snowflakeの実際の画面(デモ) • Snowflakeの特徴 • 他のDWHにはないところを中心に
Slide 5
Slide 5 text
5 本日お話しないこと
Slide 6
Slide 6 text
6 本日お話しないこと • 詳細な料金体系 • ※従量課金ということだけ知っていただければ • セキュリティの解説 • 権限管理 • エディションの内容 • ※5つのエディションから選択可能ということだけ知っていただけ れば • その他細かい仕様
Slide 7
Slide 7 text
7 Snowflakeって何?
Slide 8
Slide 8 text
8 Snowflakeとは データウェアハウス ANSI準拠のSQLが使用可能 クラウド上で稼働 AWS、Azure、GCP オンプレミスは非対応 SaaS ハードウェア無し(管理不要) クラウド上に 構築 SQL使用可能 SaaSとして 提供
Slide 9
Slide 9 text
9 とりあえず画面を見てもらいます(デモ)
Slide 10
Slide 10 text
10 デモでやること 1. テーブルを作る 2. データを入れる 3. テーブルに対してSELECT文を実行する 極めて普通のことをSnowflakeでやります →イメージを掴んでもらえれば嬉しいです。
Slide 11
Slide 11 text
11 画面を変えます
Slide 12
Slide 12 text
12 3層アーキテクチャ
Slide 13
Slide 13 text
© 2020 Snowflake Inc. All Rights Reserved Snowflakeのアーキテクチャ マルチクラウド対応 Query Processing Layer Cloud Service Layer Data Storage Layer
Slide 14
Slide 14 text
© 2020 Snowflake Inc. All Rights Reserved Snowflakeのアーキテクチャ マルチクラウド対応 Query Processing Layer Cloud Service Layer Data Storage Layer
Slide 15
Slide 15 text
15 Data Storage Layer • データの保存場所 • 全てのデータはここに置かれる • 内部の最適化された形式(マイクロパーティション)と して保存 • データに直接触れることはできない • マイクロパーティションとは? • テーブルデータを保持する連続したストレージユニット • テーブル毎に複数のマイクロパーティションを作成 • イミュータブル(不変)
Slide 16
Slide 16 text
© 2020 Snowflake Inc. All Rights Reserved Snowflakeのアーキテクチャ マルチクラウド対応 Query Processing Layer Cloud Service Layer Data Storage Layer
Slide 17
Slide 17 text
17 Query Processing Layer • クエリを処理するところ • 仮想ウェアハウスが稼働する • 仮想ウェアハウスとは? • MPPタイプのコンピューティングクラスタ • 各クラスタは独立 • 後で詳細説明します • ストレージ(データ)と分離している
Slide 18
Slide 18 text
© 2020 Snowflake Inc. All Rights Reserved Snowflakeのアーキテクチャ マルチクラウド対応 Query Processing Layer Cloud Service Layer Data Storage Layer
Slide 19
Slide 19 text
19 Cloud Service Layer • Snowflakeの各種管理を司る • セキュリティ • 認証 • アクセス制御 • データ暗号化 • メタデータ管理 • クエリの処理等、色々なことに利用 • SQLオプティマイザ • クエリの最適化 • プルーニング • トランザクション • 完全なCRUD機能 • 完全なACIDトランザクション • 同時実行の管理
Slide 20
Slide 20 text
20 その他アーキテクチャについて • ユーザー側がインフラを操作することはできない • 自分でインフラ側のスペックを増強する等は不可 • Snowflake社が管理 • インフラリソースは他ユーザーと共有 • 例外は最上位エディション(VPS)
Slide 21
Slide 21 text
21 仮想ウェアハウス
Slide 22
Slide 22 text
22 仮想ウェアハウスとは データに対してクエリを 実行するマシン それぞれにCPU、メモリ、SSD が備わっている データ(ストレージ)と分離 して存在
Slide 23
Slide 23 text
23 従来のDB(DWH)のアーキテクチャ 共有ストレージ シングルクラスタ 共有ディスク 分散型のローカルストレージ シングルクラスタ 共有なし(Shared Nothing)
Slide 24
Slide 24 text
XL 営業 機械学習 Structured & semi-structured ETL/ELT S M M M M M M M M
Slide 25
Slide 25 text
25 もう少し細かい特徴 • いくつでも作成できる • SELECT等の各種DMLの実行時に稼働する • 自動レジュームも可能 • いつでも停止できる • 自動サスペンドも可能 • いつでもスペック(サイズ)を変更できる • 稼働している間だけ費用が発生する
Slide 26
Slide 26 text
26 仮想ウェアハウスのサイズ(スケールアップ) 仮想ウェアハウスのサイ ズ(スペック)はTシャ ツのサイズと同じ表記 XS~4XL S XL
Slide 27
Slide 27 text
Doubling the number of servers halves the run-time... サーバスペックを2 倍にすると実行時間 が1/2になる サーバの請求単位は 秒単位 そのため、同じコス トで8倍速く処理す ることができる スケーリングアップ(10億件のアップロード)
Slide 28
Slide 28 text
28 マルチクラスター化(スケールアウト) 最大10個までクラスター を増やせる 最小時と最大時のクラス タの数を指定することで、 自動スケールが可能 ※Enterpriseエディション以上の み S S S S
Slide 29
Slide 29 text
XL 営業 機械学習 Structured & semi-structured ETL/ELT S M M M M M M M M
Slide 30
Slide 30 text
30 データのロード
Slide 31
Slide 31 text
31 Snowflakeにおけるデータロードの大まかな流れ データを用意する (ファイルとして出力する) データをステージに配置する ステージからテーブルに データをロードする
Slide 32
Slide 32 text
32 ステージとは Snowflake用のファイル のリポジトリ Snowflakeにとって都合良くデー タをロード/アンロードできる場 所
Slide 33
Slide 33 text
33 2種類のステージ • Internal Stage(内部ステージ) • Snowflake内部に作成するステージ • 任意のテーブルにデータをロードできる • External Stage(外部ステージ) • Snowflakeの外に存在するステージ • 下記のストレージサービスをSnowflakeのステージとし て扱うことができる • Amazon S3 • Azure Blob • Google Cloud Storage
Slide 34
Slide 34 text
34 Snowflakeにおけるデータロードの流れ
Slide 35
Slide 35 text
35 Snowflakeにおけるデータロードの流れ
Slide 36
Slide 36 text
36 Continuous(連続)ロード Snowflake側に用意され たサーバーレスなサービ ス 指定したステージから継 続的にデータをロードし 続ける 「テーブルにデータをストリー ミングする」というイメージ Snowpipe
Slide 37
Slide 37 text
37 半構造化データ
Slide 38
Slide 38 text
38 Snowflakeは半構造化データをネイティブサポート 半構造化データをそのまま テーブルに入れることが可 能 (VARIANT型というカラムにロー ド可能) 入れた半構造化データに対 して直接SQLを実行可能 半構造化データ専用の関数もあり
Slide 39
Slide 39 text
39 対応ファイル形式 • JSON • XML • Avro • ORC • Parquet
Slide 40
Slide 40 text
40 半構造化データを扱う例 Salesforceのデータを 分析したい!
Slide 41
Slide 41 text
41 半構造化データを扱う例 Salesforceのデータを 分析したい! REST APIから データをGET
Slide 42
Slide 42 text
42 半構造化データを扱う例 Salesforceのデータを 分析したい! REST APIから データをGET 出てくるのは JSON形式のファイル
Slide 43
Slide 43 text
43 従来の方法だとETL(Extract→Transform→Load) 抽出してきた Salesforceのデータ
Slide 44
Slide 44 text
44 従来の方法だとETL(Extract→Transform→Load) 抽出してきた Salesforceのデータ テーブル形式(RDBMS)に 変換
Slide 45
Slide 45 text
45 従来の方法だとETL(Extract→Transform→Load) 抽出してきた Salesforceのデータ テーブル形式(RDBMS)に 変換 DB(DWH)にロード
Slide 46
Slide 46 text
46 SnowflakeはELT(Extract→Load→Transform) 抽出してきた Salesforceのデータ Snowflakeにロード Snowflake上で データ変換
Slide 47
Slide 47 text
47 タイムトラベル(とフェールセーフ)
Slide 48
Slide 48 text
48 システムを運用する上でアクシデントは不可避 ヒューマンエラー システムのエラー 時間のかかるバックアップ ミスを防ぐためのスキルと管 理コスト
Slide 49
Slide 49 text
49 タイムトラベル機能で解決 • 各種過去データに対するクエリ、複製、リストアが 可能 • データベース • テーブル • スキーマ • 遡れる日数はエディションによる • StandardとPremiumは最大1日 • Enterprise以上だと最大90日 • (Transientテーブル、Temporaryテーブルは最大1日)
Slide 50
Slide 50 text
50 さらにフェールセーフまで • タイムトラベルの有効期限を過ぎたデータを7日間保 持する • Snowflake社の担当者のみがアクセスできる • 復元するためには特殊な手続きが必要 • 全エディションで使用可能
Slide 51
Slide 51 text
51 本日のまとめ(とその他諸々)
Slide 52
Slide 52 text
52 Snowflakeの特徴 • クラウドベース&SaaS型のデータウェアハウス • データストレージとコンピュート(仮想ウェアハウ ス)が分離したアーキテクチャ • 好きな時だけ稼働する仮想ウェアハウス • ステージを使ったデータロード • 半構造化データをネイティブサポート • タイムトラベルで過去データにアクセス
Slide 53
Slide 53 text
S M Sales Data Science S Structured & semi-structured クラウドサービス トランザクション管理 セキュリティ クエリ計画・最適化 メタデータ管理 L M ETL/ELT Snowpipe XS タスク&ストリーム 論理モデル
Slide 54
Slide 54 text
54 他にも色々… • 強固なセキュリティ • Snowflake上のデータは全部暗号化される等 • 強力なキャッシュ • 3種類のキャッシュで仮想ウェアハウス動作無しでデータ 取得 • データシェアリング • 簡単に別アカウント等へデータ共有 • ロールベースの権限管理 • …etc
Slide 55
Slide 55 text
55 ご案内 Snowflake無料トライアル(30日間) https://classmethod.jp/partner/snowflake/ Snowflakeに関する弊社の技術ブログ https://dev.classmethod.jp/referencecat/business- analytics-tools-snowflake/
Slide 56
Slide 56 text
56