SlideShare a Scribd company logo
1 of 36
Download to read offline
Snowflake
Elastic Data Warehouse as a Service
本橋 峰明
Mineaki Motohashi
1 Nov. 2017
Agenda
1. 自己紹介
2. Elastic Data Warehouse as a Service
 最近の大量データ処理基盤
 従来型DWHの限界とSnowflake
 Snowflake Computing
 DWHに求められる機能
 Snowflakeの特徴
3. Snowflakeの使い方
 アカウント登録
 Webコンソール/CLIツール
 Database/Table/Warehouse/File Format/Stage
 データロード、検索実行
 頻繁に実行するSQL
4. 参考情報
5. まとめ
(Appendix) Snowflake Webコンソール詳細
1
1. 自己紹介
• Name
₋ 本橋 峰明(Mineaki Motohashi)
• Contact
₋ mineaki.motohashi@gmail.com
• Job
₋ 某データベースベンダにて、データベース、アプリケーションサー
バのコンサルティング、プリセールス、新入社員のトレーニング
₋ 某コンサルティングファームにて、セキュリティ関連のコンサル
ティング、ERP基盤関連の構想立案から提案、構築、運用
₋ 現職にて、ID-POSシステムの設計、開発、運用、ベンダマネジメ
ント、技術検証など
• Database Experience
₋ Oracle Database、Microsoft SQL Server、Postgres、MySQL、
Pivotal Greenplum、Google BigQuery/Cloud Spanner、HPE
Vertica、AWS Redshift、MemSQL、Snowflake
• Residence
₋ 厚木
• Hobby
₋ ボウリング
₋ バドミントン
2
2. Elastic Data Warehouse ~最近の大量データ処理基盤~
• 大量処理にはHadoop/Sparkベースのソリューションが向いていると
分類されることが多いが、本当にそうなのか?
• AWS Redshift、Google BigQuery、HPE Vertica、Pivotal
Greenplumを始め、様々な分散データベースが存在するが、良し悪
しや向き不向きは?
• 様々な大量データ処理基盤が存在するが、性能と使いやすさを両立す
る基盤はないのか?
3
2. Elastic Data Warehouse ~従来型DWHの限界とSnowflake ~
• 従来型DWHはダイナミックな弾力性(Elasticity)を提供できる設計がされて
いない。
• アプライアンス製品は、ベストプラクティスに基づいて決められた構成
• ソフトウェア製品は、かなりの運用作業を伴うため、真に弾力性を持つとは言いがたい
• クラウドサービスは、ソフトウェア製品をクラウド環境に移植しただけのものが多い
• 共有ディスクアーキテクチャ vs 非共有アーキテクチャ(昔話の再掲)
• 共有ディスクアーキテクチャは、ノード数が増えると、ストレージとネットワークがボト
ルネックとなりうる
• 非共有ディスクアーキテクチャは、複数ノードへの最適なデータ配分や、データ再分散が
ボトルネックとなりうる
4
• Snowflakeでは、ストレージとコンピュート
リソースを物理的に分離しつつ、論理的に統
合した新しいアーキテクチャ「マルチクラス
タ、共有データアーキテクチャ」を実現
• 以下の独立したコンポーネントから構成
• Database storage:Snowflake DWHサービス内の
データ永続化ストレージレイヤ
• Processing:クエリに必要なデータ処理を実行するコ
ンピュートリソース
• Cloud services:メタデータ、インフラ管理、セキュ
リティ、アクセス制御などを管理する共通サービス
2. Elastic Data Warehouse ~Snowflake Computing~
5
• 2012年に創業、翌年から毎年資金調達し調達総額$215M(約258億円)
• BIツールが次々と対応(直近では、10/3にGAとなったMSTR10.9が対応)
• CEOは元MicrosoftのAzureも含むServer/Toolsビジネスを牽引していた
Bob Muglia
• CTOは元OracleのRACのLead ArchitectのBenoit Dagevilleで、並列デー
タベースの研究で博士号を取得、80以上の特許を保有
• Founder Architectは元Oracleでオプティマイザ/並列実行のグループの
LeadのThierry Cruanesで、データベースの研究で博士号を取得、40以
上の特許を保有
• VP of Engeneeringは元MicrosoftのGM、Facebookのデータインフラ
チームのLeadのSameet Agarwalで、世界最大規模のHadoop環境を構築
し、Hive、Presto、Scubaなどのテクノロジーをインキュベート
• 数多くの調査会社のレポートで高評価
• ForresterWave「BigDataWarehouse Q2 2017」にて、低コスト、ハイパフォーマンス、
スケーラブルなDWHとしてStrong Performerと評価
• Gartner「Critical Capabilities for Data Management Solutions for Analytics」の
Vendors’ Product Scores for the Traditional Data Warehouse Use Caseにて
BigQueryよりも高評価
• Gartner「Magic Quadrant for Data Management Solution for Analytics」にてNiche
Playersと評価
• オフィシャルには日本での利用をサポートをしておらず実績なし
2. Elastic Data Warehouse ~DWHに求められる機能~
6
• すぐに簡単に始められる(Evaluating Time to Value)
• 使用した分だけ支払う(Usage-based pricing)
• 標準SQL(Standard SQL)
• スケーラビリティ(Scalability)、弾力性(Elasticity)
• データ共有(Data Sharing)
• 高可用性(High availability)
• バックアップ/リカバリ(Backup/Recovery)、クローン(Clone)
• セキュリティ(Security)
• 運用管理作業の低減(Self-managing services)
2. Elastic Data Warehouse ~Snowflakeの特徴(1/2)~
7
• すぐに簡単に始められる(Evaluating Time to Value)
• ETLなしでも簡単にデータをロード可能
• 半構造化データも扱えて1つのデータベースに統合可能
• 使用した分だけ支払う(Usage-based pricing)
• 最大ワークロードに合わせたキャパシティ不要
• アクセスがない時は自動でサスペンドさせることができ、その間は費用がかからない
• コンピューティング/ストレージリソースを自由に変更可能でき、費用を最適化可能
• 標準SQL(Standard SQL)
• SQL-99の大部分、およびSQL-2003の分析拡張部分をサポート
• スケーラビリティ(Scalability)、弾力性(Elasticity)
• リアルタイムに処理性能と同時実行性能を変更可能
• 処理量に応じて自動スケールアウト/ダウン
• ワークロードを分離することによる競合の回避、ボトルネックが発生しないアーキテク
チャ
2. Elastic Data Warehouse ~Snowflakeの特徴(2/2)~
8
• データ共有(Data Sharing)
• データ/API連携ではなく、データベースの一部をアクセス制御をかけて、他組織に共有
• 他組織はコンピュートリソースを用意し、データベースアクセス(費用は他組織で負担)
• 高可用性(High availability)
• 複数データセンタにまたがって環境が構築されていて、障害発生時にも迅速な復旧が可能
• バックアップ/リカバリ(Backup/Recovery)、クローン(Clone)
• Table/Schema/Database単位でPoint-in-time Recovery
• 削除してしまったTable/Schema/Databaseの復元も可能
• 過去時点のデータに対してもクエリを実行可能
• 過去時点のTable/Schema/Databaseをクローン可能
• セキュリティ(Security)
• 全ての通信経路、およびデータを暗号化
• 多要素認証
• SAML2.0によるフェデレーションサービス
• SIEMによる監視および通知
• SOC2 Type II、PCI DSS、HIPAAといった第三者によるセキュリティ認証/認定
• 運用管理作業の低減(Self-managing services)
3. Snowflakeの使い方 ~アカウント登録(1/5)~
9
• https://www.snowflake.netから「Start for Free」をクリック
3. Snowflakeの使い方 ~アカウント登録(2/5)~
10
• 必要な情報を入力
<製品情報>
• エディション
Standard、Premier、Enterprise、
Enterprise for sensitive dataから選択
• リージョン
us-east(n.virginia)、us-west(oregon)、
eu(frankfurt)、asia pacific(sydney)か
ら選択
※レイテンシを考慮すると、日本では
asia pacificよりもus-westの方がおす
すめ
<連絡先>
• Email
• 姓、名
3. Snowflakeの使い方 ~アカウント登録(3/5)~
11
• 必要な情報を入力し、Term of Service、Privacy Policyを確認後、
「Snowflake On Demand Customer Agreement」にチェックをした上
で「CREATE ACCOUNT AND CONTINUE」ボタンを押下
<連絡先> (続き)
• 企業名、役職
• 電話番号
• 国、郵便番号、都市、住所
※ビル名を入れたらエラーとなり登録で
きなかったので、ビル名は入れない方
が無難
※それでもアカウント登録がエラーとな
る場合は、support@snowflake.netに
問合せて、アカウントごとに日本での
利用を設定してもらう必要があるかも
3. Snowflakeの使い方 ~アカウント登録(4/5)~
12
• 必要な情報を入力し、「Use Contact Address From Previous Page」に
チェックした上で「CONFIRM PAYMENT AND CONTINUE」ボタンを押
下
<支払情報>
• クレジットカード番号
• 有効期限、CVV
• カード所有者氏名
3. Snowflakeの使い方 ~アカウント登録(5/5)~
13
• しばらくすると「Snowflake On Demand Registration Confirmation」
というタイトルのメールが届く
• その後「Activate Your Snowflake On Demand Account」というタイト
ルのメールが届くので、メールの指示に従って「CLICK TO ACTIVATE」
ボタンを押下
• ユーザ名、およびパスワードを設定して、アカウント登録完了
• アクセスしているサイトのURLをブックマーク
https://<account_name>.snowflakecomputing.com
30日間限定ですが、無償で$400
ドル分使えます。ぜひいろいろと
試してみて下さい!
3. Snowflakeの使い方 ~Webコンソール/CLIツール(1/4)~
14
<Webコンソール>
• https://<account_name>.snowflakecomputing.comにアクセスし、
先に登録したユーザ名、パスワードでログイン
3. Snowflakeの使い方 ~Webコンソール/CLIツール(2/4)~
15
1. Databasesページ
2. Warehousesページ
3. Worksheetページ
4. Historyページ
5. Accountページ(アカウント管理者でのみ表示)
6. Helpページ
7. User Preferencesページ
⇒ 具体的な内容は、「Appendix. Snowflake Webコンソール詳細」にて説明
Account Name
3. Snowflakeの使い方 ~Webコンソール/CLIツール(3/4)~
16
<CLIツール>
• 「Help」-「Download...」をクリックすることで、CLI Clientダウンロード
用ダイアログが表示されるので、プラットフォームに合わせてダウンロード
Account Name
3. Snowflakeの使い方 ~Webコンソール/CLIツール(4/4)~
17
• snowsqlはSQLを実行するCLIツールで、コマンド補完や履歴など、インテ
リジェントな機能を持ち、Webコンソールで可能な作業の多くをコマンド
ラインで実行可能
※ 接続するアカウント名、ユーザ名、パスワード、データベース名、スキーマ名、
ウェアハウス名をconfigファイルに設定しておけばsnowsqlコマンドを起動する
だけで環境に接続できるはずだが、うまく読み込まなかったため、代わりに環境
変数を設定している。
https://docs.snowflake.net/manuals/user-guide/snowsql-install-config.html#configuring-snowsql
Account Name
Account Name
3. Snowflakeの使い方 ~Database/Table/Warehouse/File Format/Stage(1/3)~
18
• Database作成
Account Name#(no warehouse)@(no database).(no schema)> CREATE DATABASE testdb;
+--------------------------------------------+
| status |
|----------------------------------------------|
| Database TESTDB successfully created. |
+--------------------------------------------+
1 Row(s) produced. Time Elapsed: 0.411s
• Table作成
Account Name#(no warehouse)@TESTDB.PUBLIC> CREATE OR REPLACE TABLE testemp
(name STRING, city STRING, salary NUMBER);
+-----------------------------------------+
| status |
|------------------------------------------|
| Table TESTEMP successfully created. |
+-----------------------------------------+
1 Row(s) produced. Time Elapsed: 0.456s
3. Snowflakeの使い方 ~Database/Table/Warehouse/File Format/Stage(2/3)~
19
• Warehouse作成/設定
Account Name#(no warehouse)@TESTDB.PUBLIC> CREATE WAREHOUSE testwarehouse
WITH WAREHOUSE_SIZE = xsmall;
+---------------------------------------------------------+
| status |
|-----------------------------------------------------------|
| Warehouse TESTWAREHOUSE successfully created. |
+---------------------------------------------------------+
1 Row(s) produced. Time Elapsed: 1.815s
Account Name#(no warehouse)@TESTDB.PUBLIC> use warehouse testwarehouse;
+-------------------------------------+
| status |
|--------------------------------------|
| Statement executed successfully. |
+-------------------------------------+
1 Row(s) produced. Time Elapsed: 0.339s
3. Snowflakeの使い方 ~Database/Table/Warehouse/File Format/Stage(3/3)~
20
• File Format作成
Account Name#TESTWAREHOUSE@TESTDB.PUBLIC>CREATE OR REPLACE FILE FORMAT testtsvformat
TYPE = 'CSV'
COMPRESSION = AUTO
FIELD_DELIMITER = ‘¥t'
DATE_FORMAT = 'YYYY-MM-DD'
SKIP_HEADER = 1;
+---------------------------------------------------------+
| status |
|----------------------------------------------------------|
| File format TESTTSVFORMAT successfully created. |
+---------------------------------------------------------+
1 Row(s) produced. Time Elapsed: 1.781s
• Stage作成
Account Name#TESTWAREHOUSE@TESTDB.PUBLIC>CREATE OR REPLACE STAGE teststage
URL = 's3://XXXX/'
CREDENTIALS = (aws_key_id=‘XXXX‘
aws_secret_key=‘XXXX’
);
+-------------------------------------------------+
| status |
|---------------------------------------------------|
| Stage area TESTSTAGE successfully created. |
+-------------------------------------------------+
1 Row(s) produced. Time Elapsed: 2.373s
3. Snowflakeの使い方 ~データロード、検索実行(1/2)~
21
• データロード(Insert)
Account Name#TESTWAREHOUSE@TESTDB.PUBLIC> INSERT INTO testemp VALUES('Scott',
'Tokyo', '10000000');
+----------------------------+
| number of rows inserted |
|-----------------------------|
| 1 |
+----------------------------+
1 Row(s) produced. Time Elapsed: 2.198s
• 検索実行
Account Name#TESTWAREHOUSE@TESTDB.PUBLIC> SELECT * FROM testemp;
+--------+-------+-----------+
| NAME | CITY | SALARY |
|--------+-------+------------|
| Scott | Tokyo | 10000000 |
+-------+-------+------------+
1 Row(s) produced. Time Elapsed: 0.759s
3. Snowflakeの使い方 ~データロード、検索実行(2/2)~
22
• データロード(Copy)
Account Name#TESTWAREHOUSE@TESTDB.PUBLIC>COPY INTO m_member
FROM @teststage/MTR/
PATTERN = '.*M_MEMBER_.*'
FILE_FORMAT = ( FORMAT_NAME = 'testtsvformat')
ON_ERROR = 'ABORT_STATEMENT'
PURGE = FALSE;
+------------------------------------------+--------+-------------+-------------+-------------+-------------
+-------------+------------------+-----------------------+-------------------------+
| file | status | rows_parsed | rows_loaded | error_limit | errors_seen |
first_error | first_error_line | first_error_character | first_error_column_name |
|------------------------------------------+--------+-------------+-------------+-------------+-------------
+-------------+------------------+-----------------------+-------------------------|
| s3://XXXX/MTR/M_MEMBER_00004.tsv | LOADED | 175203 | 175203 | 175203 |
0 | NULL | NULL | NULL | NULL |
| s3://XXXX/MTR/M_MEMBER_00543.tsv.gz | LOADED | 4507447 | 4507447 | 4507447 |
0 | NULL | NULL | NULL | NULL |
2 Row(s) produced. Time Elapsed: 2.373s
3. Snowflakeの使い方 ~頻繁に実行するSQL~
23
• 各種設定確認
show warehouses;
show tables [ like ‘%<key_word>%’];
show parameters [ like ‘%<key_work>%’];
• Warehouseの設定変更
ALTER WAREHOUSE <warehouse_name>
SET WAREHOUSE_SIZE = <warehouse_size>
MIN_CLUSTER_COUNT = <number>
MAX_CLUSTER_COUNT = <number>
AUTO_SUSPEND = NULL | <number>
AUTO_RESUME = TRUE | FALSE;
• Warehouseの一時停止/再開
ALTER WAREHOUSE <warehouse_name> suspend;
ALTER WAREHOUSE <warehouse_name> resume;
• キャッシュの無効化
ALTER SESSION SET USE_CACHED_RESULT = false;
4. 参考情報
24
• ドキュメント
https://docs.snowflake.net
• ブログ
https://www.snowflake.net/blog
https://www.snowflake.net/engineering-blog
• オンラインコミュニティ/サポートポータル
https://support.snowflake.net
• 価格
https://www.snowflake.net/product/pricing
https://docs.snowflake.net/manuals/user-guide/credits.html
https://docs.snowflake.net/manuals/user-guide/warehouses-
multicluster.html
• 各種リソース
https://resources.snowflake.net
5. まとめ
25
• すぐに簡単に始められる(Evaluating Time to Value)
• 使用した分だけ支払う(Usage-based pricing)
• 標準SQL(Standard SQL)
• スケーラビリティ(Scalability)、弾力性(Elasticity)
• データ共有(Data Sharing)
• 高可用性(High availability)
• バックアップ/リカバリ(Backup/Recovery)、クローン(Clone)
• セキュリティ(Security)
• 運用管理作業の低減(Self-managing services)
(Appendix) Snowflake Webコンソール詳細(1/10)
30
1. Databasesページ
2. Warehousesページ
3. Worksheetページ
4. Historyページ
5. Accountページ(アカウント管理者でのみ表示)
6. Helpページ
7. User Preferencesページ
Account Name
(Appendix) Snowflake Webコンソール詳細(2/10)
31
作成 クローン 削除 変更 データロード オーナー変更
データベース ○ ○ ○ ○
テーブル ○ ○ ○ ○ ○
ビュー ○ ○ ○
スキーマ ○ ○ ○ ○
ステージ ○ ○ ○ ○ ○
ファイル
フォーマット
○ ○ ○ ○ ○
シーケンス ○ ○ ○ ○ ○
1. Databasesページ
各種データベースオブジェクトの作成、クローン、削除、変更、データロード、
オーナー変更を行うことが可能
(Appendix) Snowflake Webコンソール詳細(3/10)
32
• データベースの作成、クローン、削除、オーナー変更
• テーブル/ビュー/スキーマ/ステージ/ファイルフォーマット/シーケンス
の作成、クローン、削除、データロード、削除、オーナー変更
Account Name
(Appendix) Snowflake Webコンソール詳細(4/10)
33
2. Warehousesページ
ウェアハウスの作成/削除、停止/再開、構成変更(サイズ、最小/最大数、自動停
止/再開)、オーナー変更を行うことが可能
Account Name
(Appendix) Snowflake Webコンソール詳細(5/10)
34
3. Worksheetページ
SQLに関する強力なインタフェースを提供
• クエリおよびDDL/DMLをワークシートで実行、もしくはSQLスクリプトを実行
• 最大6つのワークシートで別セッションを作成可能
• ワークシートを保存
• Snowflakeからログアウトした場合、アクティブなクエリの実行を停止
• 実行したSQLの結果をエクスポート
Account Name
(Appendix) Snowflake Webコンソール詳細(6/10)
35
4. Historyページ
過去14日間で実行された全てのクエリの一覧および詳細を表示
• ページに表示されるクエリをフィルタリング
• 未完了していないクエリのキャンセル
• 列の並び替えやソート
Account Name
(Appendix) Snowflake Webコンソール詳細(7/10)
36
• クエリの結果を含む詳細表示
(Appendix) Snowflake Webコンソール詳細(8/10)
37
5. Accountページ
月/日/時間ごとのクレジット利用状況を表示したり、ユーザ/ロール/ポリシー/セッ
ション/リソースモニタ(ウェアハウス/アカウントごとの利用状況アラート)を設定
Account Name
(Appendix) Snowflake Webコンソール詳細(9/10)
38
6. Helpページ
Snowflakeドキュメントやサポートポータルにアクセスしたり、Snowflakeクラ
イアントのダウンロード/情報表示、表示している内容に応じたヘルプパネル表示
Account Name
(Appendix) Snowflake Webコンソール詳細(10/10)
39
7. User Preferencesページ
ユーザのパスワードやセキュリティロールを変更可能。また、通知のメールアド
レスも設定可能。
Account Name

More Related Content

What's hot

What's hot (20)

オラクルの運用管理ソリューションご紹介(2021/02 版)
オラクルの運用管理ソリューションご紹介(2021/02 版)オラクルの運用管理ソリューションご紹介(2021/02 版)
オラクルの運用管理ソリューションご紹介(2021/02 版)
 
次世代データ基盤としてのSnowflakeの可能性 SnowDay 20211208
次世代データ基盤としてのSnowflakeの可能性 SnowDay 20211208 次世代データ基盤としてのSnowflakeの可能性 SnowDay 20211208
次世代データ基盤としてのSnowflakeの可能性 SnowDay 20211208
 
Spark + S3 + R3를 이용한 데이터 분석 시스템 만들기
Spark + S3 + R3를 이용한 데이터 분석 시스템 만들기Spark + S3 + R3를 이용한 데이터 분석 시스템 만들기
Spark + S3 + R3를 이용한 데이터 분석 시스템 만들기
 
Apache Spark の紹介(前半:Sparkのキホン)
Apache Spark の紹介(前半:Sparkのキホン)Apache Spark の紹介(前半:Sparkのキホン)
Apache Spark の紹介(前半:Sparkのキホン)
 
Airflow 2.0 migration ガイド
Airflow 2.0 migration ガイドAirflow 2.0 migration ガイド
Airflow 2.0 migration ガイド
 
Apache Spark 2.4 and 3.0 What's Next?
Apache Spark 2.4 and 3.0  What's Next? Apache Spark 2.4 and 3.0  What's Next?
Apache Spark 2.4 and 3.0 What's Next?
 
[dbts-2014-tokyo] 目指せExadata!! Oracle DB高速化を目指した構成
[dbts-2014-tokyo] 目指せExadata!! Oracle DB高速化を目指した構成[dbts-2014-tokyo] 目指せExadata!! Oracle DB高速化を目指した構成
[dbts-2014-tokyo] 目指せExadata!! Oracle DB高速化を目指した構成
 
Snowflake on AWSのターゲットエンドポイントとしての利用
Snowflake on AWSのターゲットエンドポイントとしての利用Snowflake on AWSのターゲットエンドポイントとしての利用
Snowflake on AWSのターゲットエンドポイントとしての利用
 
Snowflake Overview
Snowflake OverviewSnowflake Overview
Snowflake Overview
 
Snowflake essentials
Snowflake essentialsSnowflake essentials
Snowflake essentials
 
Snowflake SnowPro Certification Exam Cheat Sheet
Snowflake SnowPro Certification Exam Cheat SheetSnowflake SnowPro Certification Exam Cheat Sheet
Snowflake SnowPro Certification Exam Cheat Sheet
 
2020.02.06 우리는 왜 glue를 버렸나?
2020.02.06 우리는 왜 glue를 버렸나?2020.02.06 우리는 왜 glue를 버렸나?
2020.02.06 우리는 왜 glue를 버렸나?
 
Modern-Data-Warehouses-In-The-Cloud-Use-Cases-Slim-Baltagi
Modern-Data-Warehouses-In-The-Cloud-Use-Cases-Slim-BaltagiModern-Data-Warehouses-In-The-Cloud-Use-Cases-Slim-Baltagi
Modern-Data-Warehouses-In-The-Cloud-Use-Cases-Slim-Baltagi
 
Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)
Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)
Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)
 
Snowflake SnowPro Core Cert CheatSheet.pdf
Snowflake SnowPro Core Cert CheatSheet.pdfSnowflake SnowPro Core Cert CheatSheet.pdf
Snowflake SnowPro Core Cert CheatSheet.pdf
 
London In-Memory Computing Meetup - A Change-Data-Capture use-case: designing...
London In-Memory Computing Meetup - A Change-Data-Capture use-case: designing...London In-Memory Computing Meetup - A Change-Data-Capture use-case: designing...
London In-Memory Computing Meetup - A Change-Data-Capture use-case: designing...
 
Let’s get to know Snowflake
Let’s get to know SnowflakeLet’s get to know Snowflake
Let’s get to know Snowflake
 
Introducing the Snowflake Computing Cloud Data Warehouse
Introducing the Snowflake Computing Cloud Data WarehouseIntroducing the Snowflake Computing Cloud Data Warehouse
Introducing the Snowflake Computing Cloud Data Warehouse
 
しばちょう先生が語る!オラクルデータベースの進化の歴史と最新技術動向#2
しばちょう先生が語る!オラクルデータベースの進化の歴史と最新技術動向#2しばちょう先生が語る!オラクルデータベースの進化の歴史と最新技術動向#2
しばちょう先生が語る!オラクルデータベースの進化の歴史と最新技術動向#2
 
A Thorough Comparison of Delta Lake, Iceberg and Hudi
A Thorough Comparison of Delta Lake, Iceberg and HudiA Thorough Comparison of Delta Lake, Iceberg and Hudi
A Thorough Comparison of Delta Lake, Iceberg and Hudi
 

Similar to Snowflake Elastic Data Warehouse as a Service

M20_Azure SQL Database 最新アップデートをまとめてキャッチアップ [Microsoft Japan Digital Days]
M20_Azure SQL Database 最新アップデートをまとめてキャッチアップ [Microsoft Japan Digital Days]M20_Azure SQL Database 最新アップデートをまとめてキャッチアップ [Microsoft Japan Digital Days]
M20_Azure SQL Database 最新アップデートをまとめてキャッチアップ [Microsoft Japan Digital Days]
日本マイクロソフト株式会社
 
MySQL 5.7 & 最新開発状況 @ オープンソースカンファレンス20
MySQL 5.7 & 最新開発状況 @ オープンソースカンファレンス20MySQL 5.7 & 最新開発状況 @ オープンソースカンファレンス20
MySQL 5.7 & 最新開発状況 @ オープンソースカンファレンス20
Ryusuke Kajiyama
 

Similar to Snowflake Elastic Data Warehouse as a Service (20)

BPStudy20121221
BPStudy20121221BPStudy20121221
BPStudy20121221
 
[中国地方DB勉強会] 第22回 Webアプリ開発をデータベース側から変革していく - MySQL 8.0新機能
[中国地方DB勉強会] 第22回 Webアプリ開発をデータベース側から変革していく - MySQL 8.0新機能[中国地方DB勉強会] 第22回 Webアプリ開発をデータベース側から変革していく - MySQL 8.0新機能
[中国地方DB勉強会] 第22回 Webアプリ開発をデータベース側から変革していく - MySQL 8.0新機能
 
LINEのMySQL運用について 修正版
LINEのMySQL運用について 修正版LINEのMySQL運用について 修正版
LINEのMySQL運用について 修正版
 
Dat004 開発者に捧ぐ「sql server_2016_
Dat004 開発者に捧ぐ「sql server_2016_Dat004 開発者に捧ぐ「sql server_2016_
Dat004 開発者に捧ぐ「sql server_2016_
 
M20_Azure SQL Database 最新アップデートをまとめてキャッチアップ [Microsoft Japan Digital Days]
M20_Azure SQL Database 最新アップデートをまとめてキャッチアップ [Microsoft Japan Digital Days]M20_Azure SQL Database 最新アップデートをまとめてキャッチアップ [Microsoft Japan Digital Days]
M20_Azure SQL Database 最新アップデートをまとめてキャッチアップ [Microsoft Japan Digital Days]
 
MySQL 5.7 & 最新開発状況 @ オープンソースカンファレンス20
MySQL 5.7 & 最新開発状況 @ オープンソースカンファレンス20MySQL 5.7 & 最新開発状況 @ オープンソースカンファレンス20
MySQL 5.7 & 最新開発状況 @ オープンソースカンファレンス20
 
SQL Server 2019 とともに知る Microsoft Data Platform
SQL Server 2019 とともに知る Microsoft Data PlatformSQL Server 2019 とともに知る Microsoft Data Platform
SQL Server 2019 とともに知る Microsoft Data Platform
 
シンプルでシステマチックな Oracle Database, Exadata 性能分析
シンプルでシステマチックな Oracle Database, Exadata 性能分析シンプルでシステマチックな Oracle Database, Exadata 性能分析
シンプルでシステマチックな Oracle Database, Exadata 性能分析
 
Oracle Database Appliance X5-2 アップデート内容のご紹介
Oracle Database Appliance X5-2 アップデート内容のご紹介Oracle Database Appliance X5-2 アップデート内容のご紹介
Oracle Database Appliance X5-2 アップデート内容のご紹介
 
オラクル・データベース・クラウド~さらなる進化のご紹介(Oracle Cloud Days Tokyo 2015)
オラクル・データベース・クラウド~さらなる進化のご紹介(Oracle Cloud Days Tokyo 2015)オラクル・データベース・クラウド~さらなる進化のご紹介(Oracle Cloud Days Tokyo 2015)
オラクル・データベース・クラウド~さらなる進化のご紹介(Oracle Cloud Days Tokyo 2015)
 
Oracle Database Applianceのご紹介(詳細)
Oracle Database Applianceのご紹介(詳細)Oracle Database Applianceのご紹介(詳細)
Oracle Database Applianceのご紹介(詳細)
 
20190530 osc hokkaido_public
20190530 osc hokkaido_public20190530 osc hokkaido_public
20190530 osc hokkaido_public
 
Windows環境でのMySQL
Windows環境でのMySQLWindows環境でのMySQL
Windows環境でのMySQL
 
Managed Instance チートシート
Managed Instance チートシートManaged Instance チートシート
Managed Instance チートシート
 
SQL Azure Management and Security
SQL Azure Management and SecuritySQL Azure Management and Security
SQL Azure Management and Security
 
Windows Server 2016 で作るシンプルなハイパーコンバージドインフラ (Microsoft TechSummit 2016)
Windows Server 2016 で作るシンプルなハイパーコンバージドインフラ (Microsoft TechSummit 2016)Windows Server 2016 で作るシンプルなハイパーコンバージドインフラ (Microsoft TechSummit 2016)
Windows Server 2016 で作るシンプルなハイパーコンバージドインフラ (Microsoft TechSummit 2016)
 
DBP-008_SQL Server on Azure VM 最新情報とベスト プラクティス
DBP-008_SQL Server on Azure VM 最新情報とベスト プラクティスDBP-008_SQL Server on Azure VM 最新情報とベスト プラクティス
DBP-008_SQL Server on Azure VM 最新情報とベスト プラクティス
 
[Japan Tech summit 2017] DAL 003
[Japan Tech summit 2017] DAL 003[Japan Tech summit 2017] DAL 003
[Japan Tech summit 2017] DAL 003
 
Web App for Containers + MySQLでコンテナ対応したRailsアプリを作ろう!
Web App for Containers + MySQLでコンテナ対応したRailsアプリを作ろう!Web App for Containers + MySQLでコンテナ対応したRailsアプリを作ろう!
Web App for Containers + MySQLでコンテナ対応したRailsアプリを作ろう!
 
クラウドDWHにおける観点とAzure Synapse Analyticsの対応
クラウドDWHにおける観点とAzure Synapse Analyticsの対応クラウドDWHにおける観点とAzure Synapse Analyticsの対応
クラウドDWHにおける観点とAzure Synapse Analyticsの対応
 

Recently uploaded

Recently uploaded (11)

論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 

Snowflake Elastic Data Warehouse as a Service

  • 1. Snowflake Elastic Data Warehouse as a Service 本橋 峰明 Mineaki Motohashi 1 Nov. 2017
  • 2. Agenda 1. 自己紹介 2. Elastic Data Warehouse as a Service  最近の大量データ処理基盤  従来型DWHの限界とSnowflake  Snowflake Computing  DWHに求められる機能  Snowflakeの特徴 3. Snowflakeの使い方  アカウント登録  Webコンソール/CLIツール  Database/Table/Warehouse/File Format/Stage  データロード、検索実行  頻繁に実行するSQL 4. 参考情報 5. まとめ (Appendix) Snowflake Webコンソール詳細 1
  • 3. 1. 自己紹介 • Name ₋ 本橋 峰明(Mineaki Motohashi) • Contact ₋ mineaki.motohashi@gmail.com • Job ₋ 某データベースベンダにて、データベース、アプリケーションサー バのコンサルティング、プリセールス、新入社員のトレーニング ₋ 某コンサルティングファームにて、セキュリティ関連のコンサル ティング、ERP基盤関連の構想立案から提案、構築、運用 ₋ 現職にて、ID-POSシステムの設計、開発、運用、ベンダマネジメ ント、技術検証など • Database Experience ₋ Oracle Database、Microsoft SQL Server、Postgres、MySQL、 Pivotal Greenplum、Google BigQuery/Cloud Spanner、HPE Vertica、AWS Redshift、MemSQL、Snowflake • Residence ₋ 厚木 • Hobby ₋ ボウリング ₋ バドミントン 2
  • 4. 2. Elastic Data Warehouse ~最近の大量データ処理基盤~ • 大量処理にはHadoop/Sparkベースのソリューションが向いていると 分類されることが多いが、本当にそうなのか? • AWS Redshift、Google BigQuery、HPE Vertica、Pivotal Greenplumを始め、様々な分散データベースが存在するが、良し悪 しや向き不向きは? • 様々な大量データ処理基盤が存在するが、性能と使いやすさを両立す る基盤はないのか? 3
  • 5. 2. Elastic Data Warehouse ~従来型DWHの限界とSnowflake ~ • 従来型DWHはダイナミックな弾力性(Elasticity)を提供できる設計がされて いない。 • アプライアンス製品は、ベストプラクティスに基づいて決められた構成 • ソフトウェア製品は、かなりの運用作業を伴うため、真に弾力性を持つとは言いがたい • クラウドサービスは、ソフトウェア製品をクラウド環境に移植しただけのものが多い • 共有ディスクアーキテクチャ vs 非共有アーキテクチャ(昔話の再掲) • 共有ディスクアーキテクチャは、ノード数が増えると、ストレージとネットワークがボト ルネックとなりうる • 非共有ディスクアーキテクチャは、複数ノードへの最適なデータ配分や、データ再分散が ボトルネックとなりうる 4 • Snowflakeでは、ストレージとコンピュート リソースを物理的に分離しつつ、論理的に統 合した新しいアーキテクチャ「マルチクラス タ、共有データアーキテクチャ」を実現 • 以下の独立したコンポーネントから構成 • Database storage:Snowflake DWHサービス内の データ永続化ストレージレイヤ • Processing:クエリに必要なデータ処理を実行するコ ンピュートリソース • Cloud services:メタデータ、インフラ管理、セキュ リティ、アクセス制御などを管理する共通サービス
  • 6. 2. Elastic Data Warehouse ~Snowflake Computing~ 5 • 2012年に創業、翌年から毎年資金調達し調達総額$215M(約258億円) • BIツールが次々と対応(直近では、10/3にGAとなったMSTR10.9が対応) • CEOは元MicrosoftのAzureも含むServer/Toolsビジネスを牽引していた Bob Muglia • CTOは元OracleのRACのLead ArchitectのBenoit Dagevilleで、並列デー タベースの研究で博士号を取得、80以上の特許を保有 • Founder Architectは元Oracleでオプティマイザ/並列実行のグループの LeadのThierry Cruanesで、データベースの研究で博士号を取得、40以 上の特許を保有 • VP of Engeneeringは元MicrosoftのGM、Facebookのデータインフラ チームのLeadのSameet Agarwalで、世界最大規模のHadoop環境を構築 し、Hive、Presto、Scubaなどのテクノロジーをインキュベート • 数多くの調査会社のレポートで高評価 • ForresterWave「BigDataWarehouse Q2 2017」にて、低コスト、ハイパフォーマンス、 スケーラブルなDWHとしてStrong Performerと評価 • Gartner「Critical Capabilities for Data Management Solutions for Analytics」の Vendors’ Product Scores for the Traditional Data Warehouse Use Caseにて BigQueryよりも高評価 • Gartner「Magic Quadrant for Data Management Solution for Analytics」にてNiche Playersと評価 • オフィシャルには日本での利用をサポートをしておらず実績なし
  • 7. 2. Elastic Data Warehouse ~DWHに求められる機能~ 6 • すぐに簡単に始められる(Evaluating Time to Value) • 使用した分だけ支払う(Usage-based pricing) • 標準SQL(Standard SQL) • スケーラビリティ(Scalability)、弾力性(Elasticity) • データ共有(Data Sharing) • 高可用性(High availability) • バックアップ/リカバリ(Backup/Recovery)、クローン(Clone) • セキュリティ(Security) • 運用管理作業の低減(Self-managing services)
  • 8. 2. Elastic Data Warehouse ~Snowflakeの特徴(1/2)~ 7 • すぐに簡単に始められる(Evaluating Time to Value) • ETLなしでも簡単にデータをロード可能 • 半構造化データも扱えて1つのデータベースに統合可能 • 使用した分だけ支払う(Usage-based pricing) • 最大ワークロードに合わせたキャパシティ不要 • アクセスがない時は自動でサスペンドさせることができ、その間は費用がかからない • コンピューティング/ストレージリソースを自由に変更可能でき、費用を最適化可能 • 標準SQL(Standard SQL) • SQL-99の大部分、およびSQL-2003の分析拡張部分をサポート • スケーラビリティ(Scalability)、弾力性(Elasticity) • リアルタイムに処理性能と同時実行性能を変更可能 • 処理量に応じて自動スケールアウト/ダウン • ワークロードを分離することによる競合の回避、ボトルネックが発生しないアーキテク チャ
  • 9. 2. Elastic Data Warehouse ~Snowflakeの特徴(2/2)~ 8 • データ共有(Data Sharing) • データ/API連携ではなく、データベースの一部をアクセス制御をかけて、他組織に共有 • 他組織はコンピュートリソースを用意し、データベースアクセス(費用は他組織で負担) • 高可用性(High availability) • 複数データセンタにまたがって環境が構築されていて、障害発生時にも迅速な復旧が可能 • バックアップ/リカバリ(Backup/Recovery)、クローン(Clone) • Table/Schema/Database単位でPoint-in-time Recovery • 削除してしまったTable/Schema/Databaseの復元も可能 • 過去時点のデータに対してもクエリを実行可能 • 過去時点のTable/Schema/Databaseをクローン可能 • セキュリティ(Security) • 全ての通信経路、およびデータを暗号化 • 多要素認証 • SAML2.0によるフェデレーションサービス • SIEMによる監視および通知 • SOC2 Type II、PCI DSS、HIPAAといった第三者によるセキュリティ認証/認定 • 運用管理作業の低減(Self-managing services)
  • 10. 3. Snowflakeの使い方 ~アカウント登録(1/5)~ 9 • https://www.snowflake.netから「Start for Free」をクリック
  • 11. 3. Snowflakeの使い方 ~アカウント登録(2/5)~ 10 • 必要な情報を入力 <製品情報> • エディション Standard、Premier、Enterprise、 Enterprise for sensitive dataから選択 • リージョン us-east(n.virginia)、us-west(oregon)、 eu(frankfurt)、asia pacific(sydney)か ら選択 ※レイテンシを考慮すると、日本では asia pacificよりもus-westの方がおす すめ <連絡先> • Email • 姓、名
  • 12. 3. Snowflakeの使い方 ~アカウント登録(3/5)~ 11 • 必要な情報を入力し、Term of Service、Privacy Policyを確認後、 「Snowflake On Demand Customer Agreement」にチェックをした上 で「CREATE ACCOUNT AND CONTINUE」ボタンを押下 <連絡先> (続き) • 企業名、役職 • 電話番号 • 国、郵便番号、都市、住所 ※ビル名を入れたらエラーとなり登録で きなかったので、ビル名は入れない方 が無難 ※それでもアカウント登録がエラーとな る場合は、support@snowflake.netに 問合せて、アカウントごとに日本での 利用を設定してもらう必要があるかも
  • 13. 3. Snowflakeの使い方 ~アカウント登録(4/5)~ 12 • 必要な情報を入力し、「Use Contact Address From Previous Page」に チェックした上で「CONFIRM PAYMENT AND CONTINUE」ボタンを押 下 <支払情報> • クレジットカード番号 • 有効期限、CVV • カード所有者氏名
  • 14. 3. Snowflakeの使い方 ~アカウント登録(5/5)~ 13 • しばらくすると「Snowflake On Demand Registration Confirmation」 というタイトルのメールが届く • その後「Activate Your Snowflake On Demand Account」というタイト ルのメールが届くので、メールの指示に従って「CLICK TO ACTIVATE」 ボタンを押下 • ユーザ名、およびパスワードを設定して、アカウント登録完了 • アクセスしているサイトのURLをブックマーク https://<account_name>.snowflakecomputing.com 30日間限定ですが、無償で$400 ドル分使えます。ぜひいろいろと 試してみて下さい!
  • 15. 3. Snowflakeの使い方 ~Webコンソール/CLIツール(1/4)~ 14 <Webコンソール> • https://<account_name>.snowflakecomputing.comにアクセスし、 先に登録したユーザ名、パスワードでログイン
  • 16. 3. Snowflakeの使い方 ~Webコンソール/CLIツール(2/4)~ 15 1. Databasesページ 2. Warehousesページ 3. Worksheetページ 4. Historyページ 5. Accountページ(アカウント管理者でのみ表示) 6. Helpページ 7. User Preferencesページ ⇒ 具体的な内容は、「Appendix. Snowflake Webコンソール詳細」にて説明 Account Name
  • 17. 3. Snowflakeの使い方 ~Webコンソール/CLIツール(3/4)~ 16 <CLIツール> • 「Help」-「Download...」をクリックすることで、CLI Clientダウンロード 用ダイアログが表示されるので、プラットフォームに合わせてダウンロード Account Name
  • 18. 3. Snowflakeの使い方 ~Webコンソール/CLIツール(4/4)~ 17 • snowsqlはSQLを実行するCLIツールで、コマンド補完や履歴など、インテ リジェントな機能を持ち、Webコンソールで可能な作業の多くをコマンド ラインで実行可能 ※ 接続するアカウント名、ユーザ名、パスワード、データベース名、スキーマ名、 ウェアハウス名をconfigファイルに設定しておけばsnowsqlコマンドを起動する だけで環境に接続できるはずだが、うまく読み込まなかったため、代わりに環境 変数を設定している。 https://docs.snowflake.net/manuals/user-guide/snowsql-install-config.html#configuring-snowsql Account Name Account Name
  • 19. 3. Snowflakeの使い方 ~Database/Table/Warehouse/File Format/Stage(1/3)~ 18 • Database作成 Account Name#(no warehouse)@(no database).(no schema)> CREATE DATABASE testdb; +--------------------------------------------+ | status | |----------------------------------------------| | Database TESTDB successfully created. | +--------------------------------------------+ 1 Row(s) produced. Time Elapsed: 0.411s • Table作成 Account Name#(no warehouse)@TESTDB.PUBLIC> CREATE OR REPLACE TABLE testemp (name STRING, city STRING, salary NUMBER); +-----------------------------------------+ | status | |------------------------------------------| | Table TESTEMP successfully created. | +-----------------------------------------+ 1 Row(s) produced. Time Elapsed: 0.456s
  • 20. 3. Snowflakeの使い方 ~Database/Table/Warehouse/File Format/Stage(2/3)~ 19 • Warehouse作成/設定 Account Name#(no warehouse)@TESTDB.PUBLIC> CREATE WAREHOUSE testwarehouse WITH WAREHOUSE_SIZE = xsmall; +---------------------------------------------------------+ | status | |-----------------------------------------------------------| | Warehouse TESTWAREHOUSE successfully created. | +---------------------------------------------------------+ 1 Row(s) produced. Time Elapsed: 1.815s Account Name#(no warehouse)@TESTDB.PUBLIC> use warehouse testwarehouse; +-------------------------------------+ | status | |--------------------------------------| | Statement executed successfully. | +-------------------------------------+ 1 Row(s) produced. Time Elapsed: 0.339s
  • 21. 3. Snowflakeの使い方 ~Database/Table/Warehouse/File Format/Stage(3/3)~ 20 • File Format作成 Account Name#TESTWAREHOUSE@TESTDB.PUBLIC>CREATE OR REPLACE FILE FORMAT testtsvformat TYPE = 'CSV' COMPRESSION = AUTO FIELD_DELIMITER = ‘¥t' DATE_FORMAT = 'YYYY-MM-DD' SKIP_HEADER = 1; +---------------------------------------------------------+ | status | |----------------------------------------------------------| | File format TESTTSVFORMAT successfully created. | +---------------------------------------------------------+ 1 Row(s) produced. Time Elapsed: 1.781s • Stage作成 Account Name#TESTWAREHOUSE@TESTDB.PUBLIC>CREATE OR REPLACE STAGE teststage URL = 's3://XXXX/' CREDENTIALS = (aws_key_id=‘XXXX‘ aws_secret_key=‘XXXX’ ); +-------------------------------------------------+ | status | |---------------------------------------------------| | Stage area TESTSTAGE successfully created. | +-------------------------------------------------+ 1 Row(s) produced. Time Elapsed: 2.373s
  • 22. 3. Snowflakeの使い方 ~データロード、検索実行(1/2)~ 21 • データロード(Insert) Account Name#TESTWAREHOUSE@TESTDB.PUBLIC> INSERT INTO testemp VALUES('Scott', 'Tokyo', '10000000'); +----------------------------+ | number of rows inserted | |-----------------------------| | 1 | +----------------------------+ 1 Row(s) produced. Time Elapsed: 2.198s • 検索実行 Account Name#TESTWAREHOUSE@TESTDB.PUBLIC> SELECT * FROM testemp; +--------+-------+-----------+ | NAME | CITY | SALARY | |--------+-------+------------| | Scott | Tokyo | 10000000 | +-------+-------+------------+ 1 Row(s) produced. Time Elapsed: 0.759s
  • 23. 3. Snowflakeの使い方 ~データロード、検索実行(2/2)~ 22 • データロード(Copy) Account Name#TESTWAREHOUSE@TESTDB.PUBLIC>COPY INTO m_member FROM @teststage/MTR/ PATTERN = '.*M_MEMBER_.*' FILE_FORMAT = ( FORMAT_NAME = 'testtsvformat') ON_ERROR = 'ABORT_STATEMENT' PURGE = FALSE; +------------------------------------------+--------+-------------+-------------+-------------+------------- +-------------+------------------+-----------------------+-------------------------+ | file | status | rows_parsed | rows_loaded | error_limit | errors_seen | first_error | first_error_line | first_error_character | first_error_column_name | |------------------------------------------+--------+-------------+-------------+-------------+------------- +-------------+------------------+-----------------------+-------------------------| | s3://XXXX/MTR/M_MEMBER_00004.tsv | LOADED | 175203 | 175203 | 175203 | 0 | NULL | NULL | NULL | NULL | | s3://XXXX/MTR/M_MEMBER_00543.tsv.gz | LOADED | 4507447 | 4507447 | 4507447 | 0 | NULL | NULL | NULL | NULL | 2 Row(s) produced. Time Elapsed: 2.373s
  • 24. 3. Snowflakeの使い方 ~頻繁に実行するSQL~ 23 • 各種設定確認 show warehouses; show tables [ like ‘%<key_word>%’]; show parameters [ like ‘%<key_work>%’]; • Warehouseの設定変更 ALTER WAREHOUSE <warehouse_name> SET WAREHOUSE_SIZE = <warehouse_size> MIN_CLUSTER_COUNT = <number> MAX_CLUSTER_COUNT = <number> AUTO_SUSPEND = NULL | <number> AUTO_RESUME = TRUE | FALSE; • Warehouseの一時停止/再開 ALTER WAREHOUSE <warehouse_name> suspend; ALTER WAREHOUSE <warehouse_name> resume; • キャッシュの無効化 ALTER SESSION SET USE_CACHED_RESULT = false;
  • 25. 4. 参考情報 24 • ドキュメント https://docs.snowflake.net • ブログ https://www.snowflake.net/blog https://www.snowflake.net/engineering-blog • オンラインコミュニティ/サポートポータル https://support.snowflake.net • 価格 https://www.snowflake.net/product/pricing https://docs.snowflake.net/manuals/user-guide/credits.html https://docs.snowflake.net/manuals/user-guide/warehouses- multicluster.html • 各種リソース https://resources.snowflake.net
  • 26. 5. まとめ 25 • すぐに簡単に始められる(Evaluating Time to Value) • 使用した分だけ支払う(Usage-based pricing) • 標準SQL(Standard SQL) • スケーラビリティ(Scalability)、弾力性(Elasticity) • データ共有(Data Sharing) • 高可用性(High availability) • バックアップ/リカバリ(Backup/Recovery)、クローン(Clone) • セキュリティ(Security) • 運用管理作業の低減(Self-managing services)
  • 27. (Appendix) Snowflake Webコンソール詳細(1/10) 30 1. Databasesページ 2. Warehousesページ 3. Worksheetページ 4. Historyページ 5. Accountページ(アカウント管理者でのみ表示) 6. Helpページ 7. User Preferencesページ Account Name
  • 28. (Appendix) Snowflake Webコンソール詳細(2/10) 31 作成 クローン 削除 変更 データロード オーナー変更 データベース ○ ○ ○ ○ テーブル ○ ○ ○ ○ ○ ビュー ○ ○ ○ スキーマ ○ ○ ○ ○ ステージ ○ ○ ○ ○ ○ ファイル フォーマット ○ ○ ○ ○ ○ シーケンス ○ ○ ○ ○ ○ 1. Databasesページ 各種データベースオブジェクトの作成、クローン、削除、変更、データロード、 オーナー変更を行うことが可能
  • 29. (Appendix) Snowflake Webコンソール詳細(3/10) 32 • データベースの作成、クローン、削除、オーナー変更 • テーブル/ビュー/スキーマ/ステージ/ファイルフォーマット/シーケンス の作成、クローン、削除、データロード、削除、オーナー変更 Account Name
  • 30. (Appendix) Snowflake Webコンソール詳細(4/10) 33 2. Warehousesページ ウェアハウスの作成/削除、停止/再開、構成変更(サイズ、最小/最大数、自動停 止/再開)、オーナー変更を行うことが可能 Account Name
  • 31. (Appendix) Snowflake Webコンソール詳細(5/10) 34 3. Worksheetページ SQLに関する強力なインタフェースを提供 • クエリおよびDDL/DMLをワークシートで実行、もしくはSQLスクリプトを実行 • 最大6つのワークシートで別セッションを作成可能 • ワークシートを保存 • Snowflakeからログアウトした場合、アクティブなクエリの実行を停止 • 実行したSQLの結果をエクスポート Account Name
  • 32. (Appendix) Snowflake Webコンソール詳細(6/10) 35 4. Historyページ 過去14日間で実行された全てのクエリの一覧および詳細を表示 • ページに表示されるクエリをフィルタリング • 未完了していないクエリのキャンセル • 列の並び替えやソート Account Name
  • 33. (Appendix) Snowflake Webコンソール詳細(7/10) 36 • クエリの結果を含む詳細表示
  • 34. (Appendix) Snowflake Webコンソール詳細(8/10) 37 5. Accountページ 月/日/時間ごとのクレジット利用状況を表示したり、ユーザ/ロール/ポリシー/セッ ション/リソースモニタ(ウェアハウス/アカウントごとの利用状況アラート)を設定 Account Name
  • 35. (Appendix) Snowflake Webコンソール詳細(9/10) 38 6. Helpページ Snowflakeドキュメントやサポートポータルにアクセスしたり、Snowflakeクラ イアントのダウンロード/情報表示、表示している内容に応じたヘルプパネル表示 Account Name
  • 36. (Appendix) Snowflake Webコンソール詳細(10/10) 39 7. User Preferencesページ ユーザのパスワードやセキュリティロールを変更可能。また、通知のメールアド レスも設定可能。 Account Name