Snowflakeレビュー:クラウドで改善されたデータウェアハウス

エンタープライズデータウェアハウス(EDW)とも呼ばれるデータウェアハウスは、分析用に設計された高度に並列化されたSQLまたはNoSQLデータベースです。複数のソースからデータをインポートし、ペタバイトのデータから複雑なレポートをすばやく生成できます。

データウェアハウスとデータマートの違いは、通常、データマートは単一のトピックと単一の部門に制限されていることです。データウェアハウスとデータレイクの違いは、データレイクはデータを自然な形式(多くの場合、blobまたはファイル)で格納するのに対し、データウェアハウスはデータをデータベースとして格納することです。

スノーフレークの概要

Snowflakeは、クラウド用にゼロから構築された完全なリレーショナルANSISQLデータウェアハウスです。そのアーキテクチャは、コンピューティングをストレージから分離しているため、クエリの実行中でも、遅延や中断なしに、オンザフライでスケールアップおよびスケールダウンできます。必要なときに必要なパフォーマンスを正確に得ることができ、使用したコンピューティングに対してのみ料金を支払います。Snowflakeは現在、Amazon WebServicesとMicrosoftAzureで実行されています。

     Snowflakeは、ベクトル化された実行を備えた完全な列型データベースであり、最も要求の厳しい分析ワークロードにも対応できます。Snowflakeの適応最適化により、インデックス、配布キー、または管理するチューニングパラメータがなくても、クエリが自動的に可能な限り最高のパフォーマンスを得ることができます。

     Snowflakeは、独自のマルチクラスター共有データアーキテクチャにより、無制限の同時実行をサポートできます。これにより、パフォーマンスを低下させることなく、複数の計算クラスターを同じデータで同時に動作させることができます。Snowflakeは、マルチクラスター仮想ウェアハウス機能を使用して、さまざまな同時実行要求を処理するために自動的にスケーリングすることもでき、負荷のピーク時にコンピューティングリソースを透過的に追加し、負荷が落ち着くとスケールダウンします。

スノーフレークの競合他社

クラウドでのSnowflakeの競合相手には、Amazon Redshift、Google BigQuery、およびMicrosoft AzureSQLデータウェアハウスが含まれます。Teradata、Oracle Exadata、MarkLogic、SAP BW / 4HANAなどの他の主要な競合他社は、クラウド、オンプレミス、およびアプライアンスにインストールされる可能性があります。

AmazonRedshift

Amazon Redshiftは、高速でスケーラブルなデータウェアハウスであり、データウェアハウスとAmazonS3データレイク全体のすべてのデータを分析できます。SQLを使用してRedshiftにクエリを実行します。Redshiftデータウェアハウスは、クエリの同時ロードで容量を自動的にデプロイおよび削除できるクラスターです。ただし、すべてのクラスターノードは同じアベイラビリティーゾーンでプロビジョニングされます。

Microsoft AzureSQLデータウェアハウス

Microsoft Azure SQLデータウェアハウスは、Microsoft SQLエンジンとMPP(超並列処理)を使用して、ペタバイト単位のデータにわたって複雑なクエリをすばやく実行するクラウドベースのデータウェアハウスです。シンプルなPolyBaseT-SQLクエリを使用してビッグデータをSQLデータウェアハウスにインポートし、MPPの機能を使用して高性能分析を実行することにより、ビッグデータソリューションの主要コンポーネントとしてAzureSQLデータウェアハウスを使用できます。

Azure SQL Data Warehouseは、世界中の40のAzureリージョンで利用できますが、特定のウェアハウスサーバーは単一のリージョンにのみ存在します。データウェアハウスのパフォーマンスはオンデマンドでスケーリングできますが、実行中のクエリはキャンセルされ、ロールバックされます。

Google BigQuery

Google BigQueryは、GISクエリ、インメモリBIエンジン、機械学習が組み込まれたサーバーレスで高度にスケーラブルで費用対効果の高いクラウドデータウェアハウスです。BigQueryはギガバイトからペタバイトのデータで高速SQLクエリを実行し、一般公開に簡単に参加できるようにしますまたはデータを含む商用データセット。

BigQueryデータセットの地理的位置は、作成時にのみ設定できます。クエリで参照されるすべてのテーブルは、同じ場所のデータセットに格納する必要があります。これは、外部データセットとストレージバケットにも当てはまります。外部のGoogleCloudBigtableデータの場所には追加の制限があります。デフォルトでは、クエリはデータと同じリージョンで実行されます。

場所は、バージニア州北部などの特定の場所、またはEUや米国などの広い地理的領域である可能性があります。BigQueryデータセットをあるリージョンから別のリージョンに移動するには、データセットと同じ場所にあるGoogle Cloud Storageバケットにエクスポートし、バケットを新しい場所にコピーして、新しい場所のBigQueryに読み込む必要があります。

スノーフレークアーキテクチャ

Snowflakeは、コンピューティングのニーズに仮想コンピューティングインスタンスを使用し、データの永続的なストレージにストレージサービスを使用します。Snowflakeは、プライベートクラウドインフラストラクチャ(オンプレミスまたはホスト型)では実行できません。

実行するインストールや構成はありません。すべてのメンテナンスとチューニングはスノーフレークによって処理されます。

Snowflakeは、データウェアハウス内のすべての計算ノードからアクセスできる永続データ用の中央データリポジトリを使用します。同時に、Snowflakeは、MPP(超並列処理)計算クラスターを使用してクエリを処理します。クラスター内の各ノードは、データセット全体の一部をローカルに格納します。

データがSnowflakeにロードされると、Snowflakeはそのデータを内部の圧縮された列形式に再編成します。内部データオブジェクトには、SQLクエリを介してのみアクセスできます。Snowflakeには、Web UI、CLI(SnowSQL)、TableauなどのアプリケーションからのODBCおよびJDBCドライバー、プログラミング言語用のネイティブコネクター、およびBIおよびETLツール用のサードパーティコネクターを介して接続できます。

スノーフレーク

スノーフレークの機能

セキュリティとデータ保護。Snowflakeで提供されるセキュリティ機能は、エディションによって異なります。Standard Editionでも、すべてのデータの自動暗号化と、多要素認証およびシングルサインオンのサポートを提供します。Enterpriseの追加により、暗号化されたデータの定期的な再入力が追加され、Enterprise for Sensitive Dataエディションでは、HIPAAおよびPCIDSSのサポートが追加されます。データの保存場所を選択できるため、EUGDPR規制に準拠できます。

標準および拡張SQLサポート。Snowflakeは、SQL:1999で定義されているほとんどのDDLおよびDMLに加えて、トランザクション、一部の高度なSQL機能、およびSQL:2003分析拡張機能の一部(ウィンドウ関数とグループ化セット)をサポートしています。また、ラテラルビューとマテリアライズドビュー、集計関数、ストアドプロシージャ、およびユーザー定義関数もサポートします。

ツールとインターフェース。特に、Snowflakeを使用すると、GUIまたはコマンドラインから仮想ウェアハウスを制御できます。これには、ウェアハウスの作成、サイズ変更(ダウンタイムなし)、一時停止、および削除が含まれます。クエリの実行中にウェアハウスのサイズを変更すると、特に時間がかかりすぎるクエリを高速化する必要がある場合に非常に便利です。私の知る限り、他のEDWソフトウェアには実装されていません。

接続性Snowflakeには、Python、Spark、Node.js、Go、.Net、JDBC、ODBC、およびGitHubで管理されているオープンソースのdplyrパッケージ拡張機能であるdplyr-snowflakedb用のコネクタやドライバーがあります。

データのインポートとエクスポート。Snowflakeは、さまざまなデータおよびファイル形式をロードできます。これには圧縮ファイルが含まれます。区切られたデータファイル。JSON、Avro、ORC、Parquet、およびXML形式。AmazonS3データソース。およびローカルファイル。テーブルへのバルクロードとテーブルからのアンロード、およびファイルからの継続的なバルクロードを実行できます。

データ共有。Snowflakeは、他のSnowflakeアカウントとデータを安全に共有することをサポートしています。これは、ゼロコピーテーブルクローンを使用することで合理化されます。

スノーフレーク

スノーフレークチュートリアル

Snowflakeは、かなりの数のチュートリアルとビデオを提供しています。始めるのに役立つもの、特定のトピックを探索するもの、機能を示すものがあります。

スノーフレーク無料トライアルのハンズオンラボガイドに記載されているハンズオンの概要を確認することをお勧めします。)1時間もかからず、5クレジット未満でした。これにより、無料トライアルにさらに195クレジットが残りました。これは、実際のデータをインポートしてクエリをテストするのに十分なはずです。

このチュートリアルでは、WebUI内でコマンドとSQLを実行する便利な方法であるSnowflakeワークシートを多用しています。特に、データの読み込みについて説明します。クエリ、結果のキャッシュ、およびクローン作成。半構造化データ; データベースオブジェクトを復元するためのタイムトラベル。

全体的に、スノーフレークは非常に印象的だと思います。不格好だと思っていましたが、そうではありませんでした。実際、データウェアハウスの操作の多くは予想よりもはるかに高速であり、クロールしているように見えるものがある場合は、何が起こっているのかを中断することなく、データウェアハウスに介入してサイズを大きくすることができます。

スケーリングの多くは自動化できます。データウェアハウスを作成する場合(上のスクリーンショットを参照)、複数のクラスターを許可するオプション、スケーリングポリシーを設定するオプション、自動一時停止するオプション、および自動再開するオプションがあります。デフォルトの自動一時停止期間は10分です。これにより、ウェアハウスがそれより長くアイドル状態のときにリソースを消費するのを防ぎます。自動再開はほぼ瞬時に行われ、ウェアハウスに対してクエリが発生するたびに発生します。

Snowflakeが$ 400クレジットで30日間の無料トライアルを提供し、何もインストールする必要がないことを考えると、Snowflakeが現金支出なしで目的に合うかどうかを判断できるはずです。試してみることをお勧めします。

費用: 2ドル/クレジットと23ドル/ TB /月のストレージ、標準プラン、プリペイドストレージ。1クレジットは1ノード*時間に相当し、秒単位で請求されます。より高いレベルの計画はより高価です。

プラットフォーム:アマゾンウェブサービス、Microsoft Azure