Snowflake データ ウェアハウスの概要
Snowflake データ クラウド プラットフォームとは何ですか?アーキテクチャと主要な概念
このチュートリアルでは、Snowflake Data Warehouse とは何か、Snowflake アーキテクチャ、テストドライブ用の無料のトレイル アカウントを作成する方法、最後に Snowflake WebUI にアクセスする方法について説明します。
1. Snowflake Data Cloud Warehouse とは何ですか?
Snowflake は、クラウド上に開発されたクラウドベースのデータ ウェアハウジング プラットフォームです。現時点では、アマゾン ウェブ サービス (AWS)、Microsoft Azure、Google Cloud などの人気のあるクラウド プロバイダーが Snowflake をサポートしています。
パブリック クラウド インフラストラクチャ上で完全に実行されるため、ハードウェア (仮想または現実) やソフトウェアをインストール、構成、保守する必要はありません。 Snowflake は正真正銘のSaaS製品です。
Snowflake は、一般的なデータ ウェアハウス システムよりも迅速かつ簡単にセットアップでき、適応性が大幅に高いデータ ウェアハウス モデルを提供します。
その独自の特性により、分析市場向けのデータ管理ソリューションのトップに急速に上り詰めました。
Snowflake - データ ウェアハウス
2. スノーフレークアーキテクチャ
Snowflake データベース設計は、共有ディスク データベース システムとシェアード ナッシング データベース システムを組み合わせたものです。 Snowflake は、共有ディスク システムと同様に、中央データ ストレージを使用してデータを保存し、プラットフォーム内のすべての計算ノードからアクセスできます。
Snowflake は、MPP (超並列処理) 計算クラスターを利用して計算を実行します。クラスター内の各ノードは、シェアードナッシング システムと同様に、完全なデータセットの一部をローカルに維持します。
この方法では、共有ディスク設計のデータ管理の容易さと、シェアードナッシング アーキテクチャの速度とスケールアウトの利点が組み合わされます。
スノーフレークアーキテクチャ
Snowflake Architecture には 3 つのレイヤーがあります。
- ストレージ層、
- 計算層、
- クラウドサービス層。
各層について詳しく説明します。
2.1.ストレージ層
Snowflake はデータを多数のマイクロ パーティションに分割し、それぞれが内部で最適化および圧縮されます。データを列形式で保存します。
データはクラウドに保存され、共有ディスクのアプローチを使用して管理されるため、データ管理が簡単になります。シェアードナッシング アーキテクチャでは、これによりユーザーは複数のノードにわたるデータ分散について心配する必要がなくなります。
クエリ処理用のデータをフェッチするには、コンピューティング ノードをストレージ レイヤーにリンクします。ストレージ層は独立しているため、月々の平均ストレージ使用量に対してのみ料金を支払います。
Snowflake のストレージはクラウドで提供されるため弾力性があり、TB あたりの使用量に基づいて毎月支払われます。
ストレージの料金は、月ごとのストレージ使用量に応じてクラウド プロバイダーによって請求されます。つまり、ストレージ コストは、圧縮後の月ごとに使用される平均ストレージ量を使用して決定されます。
2.2.計算層
この層は、スケーラブルな計算ユニットである仮想ウェアハウスで構成されます。
コンピューティング層はストレージ層からデータを取得し、それをローカルにキャッシュして、将来のクエリ結果を強化します。つまり、各仮想ウェアハウスには独自のキャッシュがあります。
複数の仮想ウェアハウスを同時に実行し、ACID を維持し、データに対して複数の同時処理を実行できます。
Snowflake では、ワークロードに基づいてさまざまな要件に合わせて複数の仮想ウェアハウスを構築できます。
これらのウェアハウスは本質的に MPP (超並列処理) です。各仮想ウェアハウスで単一のストレージ層を使用できます。
仮想ウェアハウスには独自のコンピューティング クラスターがあり、他の仮想ウェアハウスとのインターフェイスはありません。つまり、シェアード ナッシング アーキテクチャです。
このウェアハウスの価格設定は動的に行われます。つまり、料金は消費した計算ユニットの量に応じて計算され、クレジットとして計算されます。
したがって、データ ウェアハウスが計算を実行しているときは常に、充電クロックのみが実行されます。以下は、さまざまなデータ ウェアハウス サイズの課金測定です。
- Virtual Warehouse Size
時間あたりのクレジット
- X- Small
1
- Small
2
- Medium
4
- Large
8
- X-Large
16
- 2X-Large
32
- 3X-Large
64
- 4X-Large
128
- 5X-Large
256
- 6X-Large
512
データ ウェアハウス - クレジット
この充電は 1 秒ごとの使用量ごとに行われます。最小料金は 1 分間です。つまり、データ ウェアハウスが計算を開始するとすぐに、最小料金は 1 分間の使用量から計算されます。たとえば、30 秒だけ使用した場合、1 分間の料金がかかります。
2.3.クラウドサービス層
このレイヤーには、認証、セキュリティ、ロードされたデータのメタデータ管理、クエリ オプティマイザーなど、Snowflake 全体で調整されるすべての操作が含まれています。
サービス層は、DDL や DML などのデータ操作用の SQL クライアント インターフェイスを提供します。このクラウド サービスも、他のレイヤーと同様に拡張できます。
このクラウド サービスの料金は直接請求されません。これらのサービスの実行には計算能力も必要なため、デフォルトでは、クラウド サービスにある程度のクレジットが割り当てられます。
クラウド サービスは、1 日あたりの総使用量の 10% を超えると課金が開始されます。たとえば、運用計算で 100 クレジットが使用され、クラウド サービスで 15 クレジットが使用された場合、クラウド サービスの料金は 15 - (100 の 10%)=15 となります。
3. クレジットとは何ですか?
クレジットはスノーフレークの充電単位です。各クレジットの金額は、エディションとクラウド プロバイダーに応じて計算されます。このリンクで価格を確認および見積もることができます。
クラウドプロバイダー、地域、通貨を選択できます。クレジットごとの推定料金が表示されます。
スノーフレークの価格
4. Snowflakeアカウントの作成
Snowflake は、 試用用の無料トライアル アカウントを提供しています。 $400 相当の使用量です。以下のリンクから無料試用アカウントを作成できます。
- https://signup.snowflake.com/
[サインアップ] ページで、基本的な詳細を入力し、[続行] をクリックします。
スノーフレークのサインアップページ
Snowflake のエディション、クラウド プロバイダー、およびリージョンを選択します。 [使用許諾契約] ボックスにチェックが入っていることを確認し、[開始する] をクリックします。
Snowflake のエディションとクラウド プロバイダーを選択する
登録したメールアドレスに確認メールが送信されます。
スノーフレークのサインアップが完了しました
電子メールの受信箱に移動し、Snowflake サポートからのアクティベーション メールを開いて、[クリックしてアクティベート] リンクをクリックします。新しいページにリダイレクトされ、ユーザー名とパスワードを設定できます。
スノーフレークアクティベーションメール
ユーザー名とパスワードを設定します。 「始める」をクリックして次に進みます。
Snowflakeアカウントを設定する
開始すると、アカウントが有効化されたことを示す確認メールが届きます。 「Snowflakeにログイン」リンクをクリックします。
Snowflake アカウント確認メール
Snowflake WebUI のランディング ページにリダイレクトされます。
スノーフレーク WebUI
結論
この記事では、Snowflake の概念とそのアーキテクチャについて説明し、POC とテストの目的で無料トライアル アカウントを開設しました。 Snowflake の WebUl にアクセスする方法についても説明しました。
今後の記事では、SnowSQL をインストールする方法、SnowSQL (CLI) を使用して Snowflake にアクセスする方法、およびさまざまなデータベース管理アクティビティについて説明します。
- Snowflake を SnowSQL CLI クライアントに接続する方法
リソース:
- https://docs.snowflake.com/en/user-guide/intro-key-concepts.html
- https://www.snowflake.com/pricing/pricing-gui