第2章. Snowflakeの概要
この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com
この章では、マルチレイヤーのSnowflakeアーキテクチャの説明やSnowflakeオブジェクトの簡単な導入部など、Snowflakeの概要を説明する。
Snowflakeアーキテクチャ
Snowflakeアーキテクチャは階層化されており、最適化ストレージレイヤー、エラスティック・マルチクラスター・コンピュートレイヤー、クラウドサービスレイヤーの3つのレイヤーを中核としている(図2-1)。
ストレージレイヤー
Snowflakeストレージレイヤーは、クラウド ストレージレイヤー またはデータベースストレージレイヤーとも呼ばれ、データへの高速かつシームレスなアクセスを可能にするハイブリッドカラムデータベースストレージである。 クラウドのパワーを利用して、弾力性と無限のストレージ拡張を可能にする。マイクロパーティション分割を使用し、バックグラウンドでデータのクラスタリングと配置を行うことで、データアクセス時に最高のパフォーマンスを提供する。
コンピュート・レイヤー
Snowflakeのエラスティック・マルチクラスター・コンピュートレイヤーは、単にコンピュートレイヤーとも呼ばれ、すべてのデータプロセスが行われるコアレイヤーである。 クエリの実行を担う。ストレージレイヤーと分離されている最大の利点は、リソースの分離である。ストレージレイヤーと同様に、コンピュートレイヤーもクラウドリソースを使用して無限拡張することができる。データのプロセスにはSnowflakeウェアハウスを使用する。
クラウドサービス層
クラウドサービス層は、アカウント全体のメタデータを管理する層だ。 また、アクセス制御、セキュリティ、インフラ管理、クエリの最適化も提供する。クエリが実行されると、クラウド・サービス・レイヤーはそのクエリの解析、最適化、クエリ・プランの生成、セキュリティとアクセスのチェックを行い、コンピュート・レイヤーに渡して実行させる。
クラウドに依存しないレイヤー
Cloud-Agnosticレイヤーは、Snowflakeインスタンスを好みのクラウドプロバイダー上で実行できるようにするベースとなるSnowflakeレイヤーである。 Amazon Web Services(AWS) 、Google Cloud Platform(GCP)、Microsoft Azureから選択できる。 これにより、複数の環境を管理し、セキュリティを確保する手間を省くことができる。その結果、ネイティブアプリケーションを含め、Snowflakeで構築されたものはすべてクラウドに依存しない。
図2-1. Snowflakeの多層アーキテクチャ(出典:Snowflake)
最適化ストレージレイヤーの機能
最適化ストレージレイヤーについてはすでに少し学んだだろう。次に、このレイヤーのさまざまな機能を簡単に見てみよう。
圧縮とマイクロパーティション
Snowflakeはすべてのデータをマイクロパーティション分割でストアする。静的なテーブルパーティションに依存する従来のウェアハウスとは異なり、Snowflakeではマイクロパーティションを使用する。マイクロパーティションは、50MB~500MBの非圧縮データを含む連続したストレージ単位である。このデータはカラムナー形式でストアされ、マイクロパーティションのデータはSnowflakeによって自動的に管理される。このようなパーティション分割の最大の利点は、クラウドサービス層によって行われるクエリの最適化中に起こるデータの刈り込みである。 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access