Snowflake

個々の企業などが自社サーバに展開するオンプレミス型データウェアハウスとは異なり、クラウドインフラ上に構築されたサービスとして提供される。利用者はインターネットを経由して操作する形態であり、WebブラウザやSQLクライアントから接続してデータの登録や分析を行うことができる。
内部的には、データ保存を担うストレージ層と、クエリ処理を担うコンピュート層が分離されたアーキテクチャを採用している。従来のシステムではデータの量が増えると計算能力も同時に増強する必要があったが、Snowflakeではそれぞれを独立に拡張することができ、大量のデータを安価に保存しつつ、必要な時だけ強力な計算資源を動員して分析するといった柔軟な運用が可能である。
データ形式としては、リレーショナルデータベース(RDB)のテーブルのような構造化データだけでなく、JSONなどの半構造化データも扱うことができる。業務システムのトランザクションデータやログデータ、外部サービスから取得したデータなど、多様な情報を一元的に蓄積できる。データの圧縮や暗号化も標準機能として備えており、分析基盤としてのセキュリティや可用性にも配慮されている。
マルチクラウド対応で、Amazon Web Services(AWS)、Microsoft Azure、Google Cloud Platform(GCP)といった主要なクラウドサービス上で動作する。利用者は特定のインフラに縛られることなく利用できる。運用管理の手間が少ないことも特徴で、データのバックアップやチューニングといった複雑な作業の多くが自動化され、利用者はデータの蓄積と分析に集中することができる。
複数の利用者や部門が同時に異なる分析処理を実行しても、処理系を分離することで性能への影響を抑える設計となっている。経営分析、マーケティング分析、機械学習用データ抽出など、異なる目的のワークロードを同一基盤上で運用できる。データ共有機能により、実際のデータをコピーして転送することなく、安全にアクセス権だけを付与するデータシェアリングが可能である。
まとめ
- Snowflakeは同名企業が提供するクラウド型データウェアハウスサービス。インターネット経由で利用し、大量データの蓄積と分析を行う基盤である。
- ストレージ層とコンピュート層を分離し、それぞれ独立に拡張可能。構造化データやJSONなどの半構造化データを扱い、圧縮や暗号化も標準対応する。
- Amazon Web Services、Microsoft Azure、Google Cloud Platformなどの主要クラウドで動作。処理系分離により同時分析の性能影響を抑え、安全なデータ共有も可能である。