Snowflake とは
Snowflake とは、Snowflake 社の提供するクラウドベース SaaS 型データウェアハウス(DWH)です。AWS や Azure、GCP などのクラウドサービス上で動作します。
DWH 製品としては、Snowflake の他に Amazon Redshift や Google BigQuery も有名です。この記事では Snowflake 特有の機能について紹介します。
Snowpipe
Snowpipe とは、特定のステージから継続的にデータをロードする機能です。例えば、S3 や GCS に置かれたファイルを継続的に COPY することができます。
Snowpark
Snowpark とは開発者向けのフレームワークです。Snowflake はもともと SQL のみで操作が出来るプラットフォームでしたが、Snowpark を使用することで、Python、Java、Scala で Snowflake 上のデータを操作することが可能です。
Snowflake ではデータのロード時に自動的に gzip 形式で圧縮する仕組みとなっています。例えば CSV データをロードすると、圧縮に時間がかかる場合がありますが、圧縮により容量が 1/3 程度になり、ストレージ費用を削減することができます。
ゼロコピークローン
ゼロコピークローンとは、Snowflake 上のデータを物理的にコピーせずに複製することができる機能です。Snowflake は論理テーブル(メタ情報)と物理ストレージが分離されているアーキテクチャとなっており、クローンの場合はデータが物理的にはコピーされず、同じデータを参照することになります。そのため、数秒でデータベースを複製することができます。
また、以下のような特徴を持ちます。
- データを更新または変更するときにのみ新しいレコードを保存
- 100 個のデータベースクローンがある場合でも一意の各レコードの保存に対してのみ課金
- クローンに加えた変更を本番環境にプロモートすることも可能
注意点として、Snowflake では一時テーブル(Temporary Table)のクローンはサポートされていません。
タイムトラベル
タイムトラベル機能とは、テーブル、スキーマ、データベースについて、設定した期間の任意の時点で履歴データにアクセスできる機能です。対象のデータが変更もしくは削除されていてもアクセスして復元することができます。遡れる日数はエディションによって異なります。Standard と Premium では最大 1 日、Enterprise 以上では最大 90 日遡ることができます。
データエコシステム
マーケットプレース
Snowflake にはマーケットプレイスという機能があり、Snowflake 上にある他社のデータを購入したり、自社のデータを販売することができます。
Secure Data Sharing
Secure Data Sharing 機能により、アカウント内のデータベース内の選択したオブジェクトを他の Snowflake アカウントと共有することができます。この機能では、以下のの Snowflake データベースオブジェクトを共有することができます。
- Tables
- External tables
- Secure views
- Secure materialized views
- Secure UDFs
Secure Data Sharing 機能は以下の特徴があります。
参考

備考
Hakky では社内のデータ活用やサービスとしてデータ提供を行うためのソリューションを展開しております。
Snowflake など具体的な相談はもちろんのこと、「どんなことをお願いできるのか知りたい」や「こんなことをやりたい」など、ご検討段階でも構いませんので、ぜひお気軽にフォームよりお問い合わせくださいませ。