【Snowflake】SnowflakeDBを使いこなそう!

【Snowflake】SnowflakeDBを使いこなそう! | Tableau-id Press -タブロイド-
Snowflake

0.はじめに

Merry Christmas EveChinenです。

皆さん、いかがお過ごしですか?

知念家は、自我が芽生えてはじめてのクリスマスを迎える2歳の娘の明日の朝の反応を楽しみに、わくわく気分です!

 

truestarアドベントカレンダー企画、本日は24日目。

SnowflakeのSnowflakeDBは皆さんご存知or使いこなしていますか?

いくつか具体的な事例をまじえながらご紹介していきたいと思います。

 

1.SnowflakeのSnowflakeDBとは?

「SnowflakeのSnowflakeDBって何ヨ?」と思われた方、正直、もったいないです!

Snowflakeには、全てのアカウントにデフォルトで“Snowflake”というDBがあります。

SnowflakeDBには、組織およびアカウント内のオブジェクトに関するメタデータと使用状況の履歴データが含まれています。

公式ドキュメントはこちら⇒Snowflakeデータベース | Snowflake Documentation

 

2.活用事例

今回はまず最初にSnowflakeDBの活用事例を2つ紹介したいと思います。

 

活用事例1:組織内の全てのアカウントのコストモニタリングをしよう!

使用するスキーマ:ORGANIZATION_USAGE

使用するビュー:USAGE_IN_CURRENCY_DAILY

毎月初めにSnowflakeから前月分のコスト表が送られてきますよね。「逐次確認できたらもっとありがたいな」なんてお悩みの方、もったいないです!実はSnowflakeDBを使えば、常時コストモニタリングすることが可能です。

最近は下図のようなダッシュボードをTableauで作成してモニタリングしています。組織内の各主要アカウントの使用状況がTableauを開くたびに確認できます。

他にも、ウェアハウス毎のクレジット使用状況、各DBのストレージコストなど、様々な観点からブレークダウンしたコストモニタリングが可能です。もしも図を確認しながら「あれ、今月はこのアカウントちょっとクレジット消費ペースが速いのでは?」と感じたら、必要に応じて確認しています。

 

活用事例2Marketplaceのお客様情報を活用しよう!

使用するスキーマ:DATA_SHARING_USAGE

使用するビュー;LISTING_EVENTS_DAILY

Marketplaceで提供するデータセットをFree Listingにしたのは良いけど、どんなユーザーがデータを取りに来たのか分からないな…。」なんてお悩みの方、もったいないです!

実は、各ユーザーのメールアドレスやデータセットの取得日時などは、DATA_SHARING_USAGEを使いこなせば一発で取り出せます。個人情報も含まれますので取り扱いには注意が必要ですが、これらの情報を活用すれば十分にマーケティングすら可能でしょうし(まだやってない汗)、Prepper Open Data Bankでもユーザー情報を活用してメーリングリストの作成を試み中です(お楽しみに)!

公式ドキュメントはこちら⇒LISTING_EVENTS_DAILY ビュー | Snowflake Documentation

 

いかがですか?知ってさえいれば、難しいSQLを書く必要もなく、有益な情報が盛りだくさんですよね。

 

3.DB内のオブジェクト紹介

SnowflakeDBすごい便利じゃん!」と感じていただけたところで、今度はSnowflakeDB内の各スキーマの紹介をしてきたいと思います。

以下、公式ドキュメントのテキストとBingAIの要約機能を使用しています。すごく長いですが辞書的に使用していただければと思います。

※オブジェクトにより、ACCOUNTADMINからの明示的なアクセス許可が必要です。

SnowflakeDBに情報が反映されるのには時間を要す場合があります。90分、3時間など、Viewにより待機時間は異なります。公式ドキュメントをご確認ください。

※公式ドキュメントを参照している箇所以外はあくまでAIの解釈であることをご了承ください。

 

ACCOUNT_USAGE

アカウントのオブジェクトメタデータと使用状況を表示するビュー。(公式ドキュメントより)

ビューの概要ページはこちら⇒Account Usage | Snowflake Documentation

以下はBingAIと私の手作りです。

ビュー名 ビューの説明 代表的なカラム
ACCESS_HISTORY アカウントのオブジェクトに対するアクセス権限の変更履歴を表示するビュー。オブジェクトの種類、名前、所有者、権限の付与者、受領者、権限の種類、付与または取り消しの日時などの情報が含まれる。 OBJECT_TYPE, OBJECT_NAME, OBJECT_OWNER, GRANTED_BY, GRANTEE_NAME, PRIVILEGE, GRANT_OPTION, GRANT_TIME
AGGREGATE_QUERY_HISTORY アカウントで実行されたクエリの集計統計を表示するビュー。クエリの種類、実行時間、実行回数、使用したウェアハウス、消費したクレジット、データベース、スキーマ、ユーザーなどの情報が含まれる。 QUERY_TYPE, EXECUTION_TIME, EXECUTION_COUNT, WAREHOUSE_NAME, CREDITS_USED, DATABASE_NAME, SCHEMA_NAME, USER_NAME
ALERT_HISTORY アカウントで発生したアラートの履歴を表示するビュー。アラートの種類、発生日時、対象のオブジェクト、アラートの詳細、アラートの状態、アラートの解決日時などの情報が含まれる。 ALERT_TYPE, ALERT_TIME, OBJECT_TYPE, OBJECT_NAME, ALERT_DETAILS, ALERT_STATE, RESOLVED_TIME
AUTOMATIC_CLUSTERING_HISTORY アカウントで実行された自動クラスタリングの履歴を表示するビュー。自動クラスタリングの開始日時、終了日時、対象のテーブル、使用したウェアハウス、消費したクレジット、処理した行数、クラスタリングの結果などの情報が含まれる。 START_TIME, END_TIME, TABLE_NAME, WAREHOUSE_NAME, CREDITS_USED, ROWS_PROCESSED, CLUSTERING_RESULT
CLASSES アカウントで定義されたSnowflakeクラスのメタデータを表示するビュー。Snowflakeクラスとは、Snowflakeのオブジェクトやデータ型を抽象化したもので、クラスのインスタンスやフィールドを持つことができる。ビューには、クラスの名前、説明、種類、スーパークラス、サブクラスなどの情報が含まれる。 CLASS_NAME, CLASS_DESCRIPTION, CLASS_TYPE, SUPER_CLASS_NAME, SUB_CLASS_NAME
CLASS_INSTANCES アカウントで定義されたSnowflakeクラスのインスタンスのメタデータを表示するビュー。Snowflakeクラスのインスタンスとは、Snowflakeのオブジェクトやデータ型の具体的な実体で、クラスのフィールドに値を持つことができる。ビューには、インスタンスの名前、クラスの名前、インスタンスの作成日時、インスタンスの所有者などの情報が含まれる。 INSTANCE_NAME, CLASS_NAME, INSTANCE_CREATED, INSTANCE_OWNER
COLUMNS アカウントで定義されたテーブルやビューのカラムのメタデータを表示するビュー。カラムの名前、データ型、長さ、精度、スケール、ヌル可能性、デフォルト値、コメントなどの情報が含まれる。 TABLE_CATALOG, TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME, DATA_TYPE, CHARACTER_MAXIMUM_LENGTH, NUMERIC_PRECISION, NUMERIC_SCALE, IS_NULLABLE, COLUMN_DEFAULT, COMMENT
COMPLETE_TASK_GRAPHS アカウントで定義されたタスクの依存関係を表示するビュー。タスクとは、定期的に実行されるSQL文やストアドプロシージャのことで、他のタスクに依存することができる。ビューには、タスクの名前、ステータス、スケジュール、最終実行日時、依存するタスクの名前などの情報が含まれる。 TASK_NAME, TASK_STATUS, SCHEDULE, LAST_EXECUTION, DEPENDENCY_TASK_NAME
COPY_HISTORY アカウントで実行されたCOPYコマンドの履歴を表示するビュー。COPYコマンドとは、外部のステージやパイプからデータをテーブルにロードするコマンドである。ビューには、COPYコマンドの開始日時、終了日時、対象のテーブル、使用したウェアハウス、消費したクレジット、ロードしたファイル数、ロードした行数、エラー数などの情報が含まれる。 START_TIME, END_TIME, TABLE_NAME, WAREHOUSE_NAME, CREDITS_USED, FILES_LOADED, ROWS_LOADED, ERRORS
DATABASES アカウントで定義されたデータベースのメタデータを表示するビュー。データベースとは、スキーマやテーブルなどのオブジェクトを格納する論理的なコンテナである。ビューには、データベースの名前、作成日時、所有者、コメント、共有されているかどうかなどの情報が含まれる。 DATABASE_NAME, CREATED, OWNER, COMMENT, IS_SHARED
DATABASE_REPLICATION_USAGE_HISTORY アカウントで実行されたデータベースのレプリケーションの履歴を表示するビュー。データベースのレプリケーションとは、データベースの内容を別のリージョンやアカウントにコピーする機能である。ビューには、レプリケーションの開始日時、終了日時、対象のデータベース、レプリケーション先のリージョンやアカウント、レプリケーションの状態などの情報が含まれる。 START_TIME, END_TIME, DATABASE_NAME, REPLICATION_TARGET_REGION, REPLICATION_TARGET_ACCOUNT, REPLICATION_STATE
DATABASE_STORAGE_USAGE_HISTORY アカウントで使用されたデータベースのストレージ容量の履歴を表示するビュー。ビューには、データベースの名前、日付、使用したストレージ容量(バイト単位)、使用したフェイルセーフ容量(バイト単位)などの情報が含まれる。 DATABASE_NAME, DATE, AVERAGE_DATABASE_BYTES, AVERAGE_FAILSAFE_BYTES
DATA_CLASSIFICATION_LATEST アカウントで定義されたテーブルやビューのカラムのデータ分類の最新情報を表示するビュー。データ分類とは、カラムのデータの種類や機密度を自動的に判定する機能である。ビューには、カラムの名前、データ型、データカテゴリ、データセンシティビティ、データ分類の日時などの情報が含まれる。 TABLE_CATALOG, TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME, DATA_TYPE, DATA_CATEGORY, DATA_SENSITIVITY, CLASSIFICATION_TIME
DATA_TRANSFER_HISTORY アカウントで実行されたデータの転送の履歴を表示するビュー。データの転送とは、Snowflakeの外部のサービスやパートナーとの間でデータをやり取りする機能である。ビューには、データの転送の開始日時、終了日時、転送の種類、転送先のサービスやパートナー、転送したデータベースやテーブル、転送した行数やバイト数などの情報が含まれる。 START_TIME, END_TIME, TRANSFER_TYPE, TRANSFER_TARGET, DATABASE_NAME, TABLE_NAME, ROWS_TRANSFERRED, BYTES_TRANSFERRED
ELEMENT_TYPES アカウントで定義されたSnowflakeクラスのフィールドの要素型のメタデータを表示するビュー。要素型とは、Snowflakeクラスのフィールドの値の型のことで、プリミティブ型やオブジェクト型などがある。ビューには、要素型の名前、説明、種類、スーパー型、サブ型などの情報が含まれる。 ELEMENT_TYPE_NAME, ELEMENT_TYPE_DESCRIPTION, ELEMENT_TYPE_TYPE, SUPER_ELEMENT_TYPE_NAME, SUB_ELEMENT_TYPE_NAME
EVENT_USAGE_HISTORY アカウントで発生したイベントの履歴を表示するビュー。イベントとは、Snowflakeのオブジェクトや機能に関連する特定のアクションや状態の変化のことで、例えばテーブルの作成やウェアハウスの起動などがある。ビューには、イベントの種類、発生日時、対象のオブジェクト、イベントの詳細、イベントの状態などの情報が含まれる。 EVENT_TYPE, EVENT_TIME, OBJECT_TYPE, OBJECT_NAME, EVENT_DETAILS, EVENT_STATE
FIELDS アカウントで定義されたSnowflakeクラスのフィールドのメタデータを表示するビュー。フィールドとは、Snowflakeクラスのインスタンスの属性や関数のことで、名前や値や要素型を持つことができる。ビューには、フィールドの名前、クラスの名前、フィールドの種類、要素型の名前、フィールドの説明などの情報が含まれる。 FIELD_NAME, CLASS_NAME, FIELD_TYPE, ELEMENT_TYPE_NAME, FIELD_DESCRIPTION
FILE_FORMATS アカウントで定義されたファイルフォーマットのメタデータを表示するビュー。ファイルフォーマットとは、外部のステージやパイプからデータをロードする際に使用するデータファイルの形式や設定のことである。ビューには、ファイルフォーマットの名前、作成日時、所有者、コメント、ファイルの種類、区切り文字、エンコーディング、圧縮などの情報が含まれる。 FILE_FORMAT_NAME, CREATED, OWNER, COMMENT, TYPE, FIELD_DELIMITER, ENCODING, COMPRESSION
FUNCTIONS アカウントで定義されたユーザー定義関数のメタデータを表示するビュー。ユーザー定義関数とは、SQL文やストアドプロシージャで使用できるカスタムの関数のことで、入力パラメータと戻り値を持つことができる。ビューには、関数の名前、作成日時、所有者、コメント、関数の種類、関数の言語、関数の本体、パラメータの名前と型、戻り値の型などの情報が含まれる。 FUNCTION_NAME, CREATED, OWNER, COMMENT, FUNCTION_TYPE, FUNCTION_LANGUAGE, FUNCTION_BODY, PARAMETER_NAME, PARAMETER_TYPE, RETURN_TYPE
GRANTS_TO_ROLES アカウントのロールに付与された権限の履歴を表示するビュー。権限とは、Snowflakeのオブジェクトや機能に対するアクセスや操作を許可するもので、ロールに付与することでユーザーに間接的に適用される。ビューには、権限の種類、付与されたロール、付与したロール、付与された日時、付与されたオブジェクトの種類と名前などの情報が含まれる。 PRIVILEGE, GRANTED_TO, GRANTED_BY, GRANT_TIME, GRANTED_ON, NAME
GRANTS_TO_USERS アカウントのユーザーに付与された権限の履歴を表示するビュー。権限とは、Snowflakeのオブジェクトや機能に対するアクセスや操作を許可するもので、ユーザーに直接付与することで適用される。ビューには、権限の種類、付与されたユーザー、付与したロール、付与された日時、付与されたオブジェクトの種類と名前などの情報が含まれる。 PRIVILEGE, GRANTED_TO, GRANTED_BY, GRANT_TIME, GRANTED_ON, NAME
LOAD_HISTORY アカウントで実行されたLOADコマンドの履歴を表示するビュー。LOADコマンドとは、Snowflakeのテーブルにデータを挿入するコマンドである。ビューには、LOADコマンドの開始日時、終了日時、対象のテーブル、使用したウェアハウス、消費したクレジット、挿入した行数、エラー数などの情報が含まれる。 START_TIME, END_TIME, TABLE_NAME, WAREHOUSE_NAME, CREDITS_USED, ROWS_INSERTED, ERRORS
LOCK_WAIT_HISTORY アカウントで発生したロック待ちの履歴を表示するビュー。ロック待ちとは、同じオブジェクトに対する同時アクセスを制御するために、一方のセッションが他方のセッションの終了を待つことである。ビューには、ロック待ちの開始日時、終了日時、待っているセッションのIDとクエリID、待たせているセッションのIDとクエリID、ロックされているオブジェクトの種類と名前などの情報が含まれる。 START_TIME, END_TIME, WAITING_SESSION_ID, WAITING_QUERY_ID, BLOCKING_SESSION_ID, BLOCKING_QUERY_ID, LOCKED_OBJECT_TYPE, LOCKED_OBJECT_NAME
LOGIN_HISTORY アカウントへのログインの履歴を表示するビュー。ビューには、ログインの日時、ログインしたユーザー、ログインしたロール、ログインしたIPアドレス、ログインの結果(成功か失敗か)、ログインの詳細(エラーメッセージなど)などの情報が含まれる。 LOGIN_TIME, USER_NAME, ROLE_NAME, CLIENT_IP, LOGIN_RESULT, LOGIN_DETAILS
MASKING_POLICIES アカウントで定義されたマスキングポリシーのメタデータを表示するビュー。マスキングポリシーとは、テーブルやビューのカラムのデータを特定のロールに対して隠すためのルールのことである。ビューには、マスキングポリシーの名前、作成日時、所有者、コメント、マスキングポリシーの本体などの情報が含まれる。 MASKING_POLICY_NAME, CREATED, OWNER, COMMENT, MASKING_POLICY_BODY
MATERIALIZED_VIEW_REFRESH_HISTORY アカウントで実行されたマテリアライズドビューのリフレッシュの履歴を表示するビュー。マテリアライズドビューとは、ベーステーブルのデータを事前に計算して保存するビューのことで、リフレッシュとは、ベーステーブルのデータが変更されたときにマテリアライズドビューのデータを更新することである。ビューには、リフレッシュの開始日時、終了日時、対象のマテリアライズドビュー、使用したウェアハウス、消費したクレジット、リフレッシュの結果などの情報が含まれる。 START_TIME, END_TIME, MATERIALIZED_VIEW_NAME, WAREHOUSE_NAME, CREDITS_USED, REFRESH_RESULT
METERING_DAILY_HISTORY アカウントで使用されたウェアハウスのメータリング情報の日次履歴を表示するビュー。メータリング情報とは、ウェアハウスのサイズ、稼働時間、消費したクレジットなどの情報である。ビューには、日付、ウェアハウスの名前、ウェアハウスのサイズ、稼働時間、消費したクレジットなどの情報が含まれる。 DATE, WAREHOUSE_NAME, WAREHOUSE_SIZE, RUNNING_TIME, CREDITS_USED
METERING_HISTORY アカウントで使用されたウェアハウスのメータリング情報の履歴を表示するビュー。メータリング情報とは、ウェアハウスのサイズ、稼働時間、消費したクレジットなどの情報である。ビューには、ウェアハウスの名前、ウェアハウスのサイズ、稼働開始日時、稼働終了日時、消費したクレジットなどの情報が含まれる。 WAREHOUSE_NAME, WAREHOUSE_SIZE, START_TIME, END_TIME, CREDITS_USED
OBJECT_DEPENDENCIES アカウントで定義されたオブジェクトの依存関係を表示するビュー。オブジェクトの依存関係とは、あるオブジェクトが他のオブジェクトに影響を与えるか、または他のオブジェクトから影響を受けるかという関係のことである。ビューには、オブジェクトの種類、名前、依存するオブジェクトの種類と名前、依存されるオブジェクトの種類と名前などの情報が含まれる。 OBJECT_TYPE, OBJECT_NAME, DEPENDENT_OBJECT_TYPE, DEPENDENT_OBJECT_NAME, REFERENCED_OBJECT_TYPE, REFERENCED_OBJECT_NAME
PASSWORD_POLICIES アカウントで定義されたパスワードポリシーのメタデータを表示するビュー。パスワードポリシーとは、ユーザーのパスワードの強度や有効期限などを設定するルールのことである。ビューには、パスワードポリシーの名前、作成日時、所有者、コメント、パスワードの最小長、パスワードの有効期限、パスワードの履歴などの情報が含まれる。 PASSWORD_POLICY_NAME, CREATED, OWNER, COMMENT, MIN_PASSWORD_LENGTH, PASSWORD_EXPIRY_DAYS, PASSWORD_HISTORY
PIPES アカウントで定義されたパイプのメタデータを表示するビュー。パイプとは、外部のステージやストリームからデータをテーブルに自動的にロードするオブジェクトのことである。ビューには、パイプの名前、作成日時、所有者、コメント、パイプの本体、対象のテーブル、使用するファイルフォーマット、使用するコピー構成などの情報が含まれる。 PIPE_NAME, CREATED, OWNER, COMMENT, PIPE_BODY, TABLE_NAME, FILE_FORMAT_NAME, COPY_OPTIONS
PIPE_USAGE_HISTORY アカウントで実行されたパイプの使用状況の履歴を表示するビュー。パイプの使用状況とは、パイプがロードしたデータの量や頻度などの情報である。ビューには、日付、パイプの名前、ロードしたファイル数、ロードした行数、ロードしたバイト数などの情報が含まれる。 DATE, PIPE_NAME, FILES_LOADED, ROWS_LOADED, BYTES_LOADED
POLICY_REFERENCES アカウントで定義されたマスキングポリシーとロックポリシーの参照関係を表示するビュー。マスキングポリシーとは、テーブルやビューのカラムのデータを特定のロールに対して隠すためのルールのことである。ロックポリシーとは、テーブルやビューのカラムのデータを特定のロールに対して変更できないようにするためのルールのことである。ビューには、ポリシーの種類、名前、参照されているオブジェクトの種類と名前、参照されているカラ POLICY_KIND, REF_ENTITY_NAME, REF_COLUMN_NAME,

TAG_NAME,POLICY_STATUS

PROCEDURES アカウントで定義されたストアドプロシージャのメタデータを表示するビュー。ストアドプロシージャとは、SQL文やJavaScriptコードで記述された複雑なロジックや操作のことで、入力パラメータと戻り値を持つことができる。ビューには、ストアドプロシージャの名前、作成日時、所有者、コメント、ストアドプロシージャの種類、ストアドプロシージャの言語、ストアドプロシージャの本体、パラメータの名前と型、戻り値の型などの情報が含まれる。 PROCEDURE_NAME, CREATED, OWNER, COMMENT, PROCEDURE_TYPE, PROCEDURE_LANGUAGE, PROCEDURE_BODY, PARAMETER_NAME, PARAMETER_TYPE, RETURN_TYPE
QUERY_ACCELERATION_ELIGIBLE アカウントで実行されたクエリのうち、クエリアクセラレーションの対象となるものを表示するビュー。クエリアクセラレーションとは、クエリの結果をキャッシュして再利用することで、クエリのパフォーマンスを向上させる機能である。ビューには、クエリのID、開始日時、終了日時、実行時間、使用したウェアハウス、対象のデータベース、対象のテーブル、クエリのテキストなどの情報が含まれる。 QUERY_ID, START_TIME, END_TIME, EXECUTION_TIME, WAREHOUSE_NAME, DATABASE_NAME, TABLE_NAME, QUERY_TEXT
QUERY_HISTORY アカウントで実行されたクエリの履歴を表示するビュー。ビューには、クエリのID、開始日時、終了日時、実行時間、使用したウェアハウス、消費したクレジット、対象のデータベース、対象のスキーマ、実行したユーザー、クエリのテキスト、クエリのステータス、クエリのエラーなどの情報が含まれる。 QUERY_ID, START_TIME, END_TIME, EXECUTION_TIME, WAREHOUSE_NAME, CREDITS_USED, DATABASE_NAME, SCHEMA_NAME, user, QUERY_TEXT, QUERY_STATUS, ERROR_MESSAGE
REFERENTIAL_CONSTRAINTS アカウントで定義された外部キー制約のメタデータを表示するビュー。外部キー制約とは、あるテーブルのカラムが他のテーブルのカラムを参照することで、データの整合性を保つためのルールのことである。ビューには、外部キー制約の名前、制約の種類、制約を持つテーブルとカラム、制約を参照するテーブルとカラム、制約の更新ルールと削除ルールなどの情報が含まれる。 CONSTRAINT_NAME, CONSTRAINT_TYPE, TABLE_CATALOG, TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME, REFERENCED_TABLE_CATALOG, REFERENCED_TABLE_SCHEMA, REFERENCED_TABLE_NAME, REFERENCED_COLUMN_NAME, UPDATE_RULE, DELETE_RULE
REPLICATION_GROUP_REFRESH_HISTORY アカウントで実行されたレプリケーショングループのリフレッシュの履歴を表示するビュー。レプリケーショングループとは、複数のデータベースをまとめてレプリケーションするためのグループのことである。レプリケーションとは、データベースの内容を別のリージョンやアカウントにコピーする機能である。リフレッシュとは、レプリケーション元のデータベースの変更をレプリケーション先のデータベースに反映することである。ビューには、リフレッシュの開始日時、終了日時、対象のレプリケーショングループ、レプリケーション先のリージョンやアカウント、リフレッシュの状態などの情報が含まれる。 START_TIME, END_TIME, REPLICATION_GROUP_NAME, REPLICATION_TARGET_REGION, REPLICATION_TARGET_ACCOUNT, REFRESH_STATE
REPLICATION_GROUP_USAGE_HISTORY アカウントで使用されたレプリケーショングループの使用状況の履歴を表示するビュー。レプリケーショングループとは、複数のデータベースをまとめてレプリケーションするためのグループのことである。レプリケーションとは、データベースの内容を別のリージョンやアカウントにコピーする機能である。ビューには、日付、レプリケーショングループの名前、レプリケーション先のリージョンやアカウント、レプリケーションされたデータベースの数、レプリケーションされたストレージ容量(バイト単位)などの情報が含まれる。 DATE, REPLICATION_GROUP_NAME, REPLICATION_TARGET_REGION, REPLICATION_TARGET_ACCOUNT, DATABASES_REPLICATED, BYTES_REPLICATED
REPLICATION_USAGE_HISTORY アカウントで使用されたレプリケーションの使用状況の履歴を表示するビュー。レプリケーションとは、データベースの内容を別のリージョンやアカウントにコピーする機能である。ビューには、日付、レプリケーション元のデータベース、レプリケーション先のリージョンやアカウント、レプリケーションされたストレージ容量(バイト単位)などの情報が含まれる。 DATE, SOURCE_DATABASE_NAME, REPLICATION_TARGET_REGION, REPLICATION_TARGET_ACCOUNT, BYTES_REPLICATED
ROLES アカウントで定義されたロールのメタデータを表示するビュー。ロールとは、ユーザーに付与することで、Snowflakeのオブジェクトや機能に対するアクセスや操作を許可するものである。ビューには、ロールの名前、作成日時、所有者、コメント、ロールの種類、ロールの状態などの情報が含まれる。 ROLE_NAME, CREATED, OWNER, COMMENT, ROLE_TYPE, ROLE_STATE
ROW_ACCESS_POLICIES アカウントで定義された行アクセスポリシーのメタデータを表示するビュー。行アクセスポリシーとは、テーブルやビューの行のデータを特定のロールに対してフィルターするためのルールのことである。ビューには、行アクセスポリシーの名前、作成日時、所有者、コメント、行アクセスポリシーの本体などの情報が含まれる。 ROW_ACCESS_POLICY_NAME, CREATED, OWNER, COMMENT, ROW_ACCESS_POLICY_BODY
SCHEMATA アカウントで定義されたスキーマのメタデータを表示するビュー。スキーマとは、テーブルやビューなどのオブジェクトを格納する論理的なコンテナである。ビューには、スキーマの名前、作成日時、所有者、コメント、所属するデータベースなどの情報が含まれる。 SCHEMA_NAME, CREATED, OWNER, COMMENT, DATABASE_NAME
SEARCH_OPTIMIZATION_HISTORY アカウントで実行された検索最適化の履歴を表示するビュー。検索最適化とは、テーブルやビューのカラムに対してインデックスを作成することで、クエリのパフォーマンスを向上させる機能である。ビューには、検索最適化の開始日時、終了日時、対象のテーブルやビュー、使用したウェアハウス、消費したクレジット、検索最適化の結果などの情報が含まれる。 START_TIME, END_TIME, TABLE_NAME, VIEW_NAME, WAREHOUSE_NAME, CREDITS_USED, SEARCH_OPTIMIZATION_RESULT
SEQUENCES アカウントで定義されたシーケンスのメタデータを表示するビュー。シーケンスとは、一意の数値を自動的に生成するオブジェクトのことである。ビューには、シーケンスの名前、作成日時、所有者、コメント、シーケンスの開始値、終了値、増分値、最大値、最小値、サイクルするかどうかなどの情報が含まれる。 SEQUENCE_NAME, CREATED, OWNER, COMMENT, START_VALUE, END_VALUE, INCREMENT, MAX_VALUE, MIN_VALUE, CYCLE
SERVERLESS_TASK_HISTORY アカウントで実行されたサーバーレスタスクの履歴を表示するビュー。サーバーレスタスクとは、Snowpark APIを使用して作成されたタスクのことで、ウェアハウスを必要とせずに実行できる。ビューには、サーバーレスタスクの名前、開始日時、終了日時、実行時間、消費したクレジット、サーバーレスタスクのステータス、サーバーレスタスクのエラーなどの情報が含まれる。 TASK_NAME, START_TIME, END_TIME, EXECUTION_TIME, CREDITS_USED, TASK_STATUS, ERROR_MESSAGE
SERVICES アカウントで使用されたサービスのメタデータを表示するビュー。サービスとは、Snowflakeの機能や機械学習モデルなどのことである。ビューには、サービスの名前、サービスの種類、サービスの説明、サービスの作成日時、サービスの所有者などの情報が含まれる。 SERVICE_NAME, SERVICE_TYPE, SERVICE_DESCRIPTION, CREATED, OWNER
SESSIONS アカウントで発生したセッションの履歴を表示するビュー。セッションとは、ユーザーがSnowflakeに接続するときに開始されるコンテキストのことである。ビューには、セッションのID、開始日時、終了日時、接続したユーザー、接続したロール、接続したIPアドレス、接続したクライアントなどの情報が含まれる。 SESSION_ID, START_TIME, END_TIME, user, ROLE_NAME, CLIENT_IP, CLIENT
SESSION_POLICIES アカウントで定義されたセッションポリシーのメタデータを表示するビュー。セッションポリシーとは、ユーザーのセッションに対して適用される設定や制限のことである。ビューには、セッションポリシーの名前、作成日時、所有者、コメント、セッションポリシーの本体などの情報が含まれる。 SESSION_POLICY_NAME, CREATED, OWNER, COMMENT, SESSION_POLICY_BODY
SNOWPARK_CONTAINER_SERVICES_HISTORY アカウントで使用されたSnowparkコンテナサービスの使用状況の履歴を表示するビュー。Snowparkコンテナサービスとは、Snowpark APIを使用して作成されたタスクやユーザー定義関数を実行するためのサービスである。ビューには、日付、使用したコンテナサービスの名前、稼働時間、消費したクレジットなどの情報が含まれる。 DATE, CONTAINER_SERVICE_NAME, RUNNING_TIME, CREDITS_USED
SNOWPIPE_STREAMING_CLIENT_HISTORY アカウントで使用されたSnowpipeストリーミングクライアントの使用状況の履歴を表示するビュー。Snowpipeストリーミングクライアントとは、Snowflakeの外部のストリーミングプラットフォームからデータをパイプに送るためのクライアントである。ビューには、日付、使用したストリーミングクライアントの名前、送信したメッセージ数、送信したバイト数などの情報が含まれる。 DATE, STREAMING_CLIENT_NAME, MESSAGES_SENT, BYTES_SENT
SNOWPIPE_STREAMING_FILE_MIGRATION_HISTORY アカウントで実行されたSnowpipeストリーミングファイル移行の履歴を表示するビュー。Snowpipeストリーミングファイル移行とは、Snowflakeの外部のストリーミングプラットフォームからデータファイルをステージに移動することである。ビューには、移行の開始日時、終了日時、使用したストリーミングクライアントの名前、移動したファイル数、移動したバイト数などの情報が含まれる。 START_TIME, END_TIME, STREAMING_CLIENT_NAME, FILES_MIGRATED, BYTES_MIGRATED
STAGES アカウントで定義されたステージのメタデータを表示するビュー。ステージとは、外部のデータファイルをSnowflakeにロードするための一時的な場所のことである。ビューには、ステージの名前、作成日時、所有者、コメント、ステージの種類、ステージのURLなどの情報が含まれる。 STAGE_NAME, CREATED, OWNER, COMMENT, STAGE_TYPE, STAGE_URL
STAGE_STORAGE_USAGE_HISTORY アカウントで使用されたステージのストレージ容量の履歴を表示するビュー。ステージとは、外部のデータファイルをSnowflakeにロードするための一時的な場所のことである。ビューには、日付、ステージの名前、ステージの種類、ステージのURL、使用したストレージ容量(バイト単位)などの情報が含まれる。 DATE, STAGE_NAME, STAGE_TYPE, STAGE_URL, BYTES_USED
STORAGE_USAGE アカウントで使用されたストレージ容量の履歴を表示するビュー。ストレージ容量とは、テーブルやビューなどのオブジェクトのデータを保存するために必要な容量のことである。ビューには、日付、オブジェクトの種類と名前、使用したストレージ容量(バイト単位)などの情報が含まれる。 DATE, OBJECT_TYPE, OBJECT_NAME, BYTES_USED
TABLES アカウントで定義されたテーブルのメタデータを表示するビュー。ビューには、テーブルの名前、作成日時、所有者、コメント、所属するデータベースとスキーマ、テーブルの種類、テーブルの状態などの情報が含まれる。 TABLE_NAME, CREATED, OWNER, COMMENT, DATABASE_NAME, SCHEMA_NAME, TABLE_TYPE, TABLE_STATE
TABLE_CONSTRAINTS アカウントで定義されたテーブルの制約のメタデータを表示するビュー。制約とは、テーブルのカラムや行に対して適用されるルールのことで、主キー制約や外部キー制約などがある。ビューには、制約の名前、制約の種類、制約を持つテーブルとカラム、制約を参照するテーブルとカラム、制約の状態などの情報が含まれる。 CONSTRAINT_NAME, CONSTRAINT_TYPE, TABLE_CATALOG, TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME, REFERENCED_TABLE_CATALOG, REFERENCED_TABLE_SCHEMA, REFERENCED_TABLE_NAME, REFERENCED_COLUMN_NAME, CONSTRAINT_STATE
TABLE_STORAGE_METRICS アカウントで使用されたテーブルのストレージメトリックを表示するビュー。ストレージメトリックとは、テーブルのデータの量や品質などの情報である。ビューには、テーブルの名前、テーブルのサイズ(バイト単位)、テーブルの行数、テーブルのクラスタリングキー、テーブルのクラスタリング深度、テーブルのクラスタリング品質などの情報が含まれる。 TABLE_NAME, TABLE_SIZE, ROW_COUNT, CLUSTERING_KEY, CLUSTERING_DEPTH, CLUSTERING_INFORMATION
TAGS アカウントで定義されたタグのメタデータを表示するビュー。タグとは、オブジェクトに付与することで、分類や検索を容易にするためのラベルのことである。ビューには、タグの名前、タグの値、タグの作成日時、タグの所有者などの情報が含まれる。 TAG_NAME, TAG_VALUE, CREATED, OWNER
TAG_REFERENCES アカウントで定義されたタグの参照関係を表示するビュー。タグとは、オブジェクトに付与することで、分類や検索を容易にするためのラベルのことである。ビューには、タグの名前、タグの値、参照されているオブジェクトの種類と名前などの情報が含まれる。 TAG_NAME, TAG_VALUE, REFERENCED_OBJECT_TYPE, REFERENCED_OBJECT_NAME
TASK_HISTORY アカウントで実行されたタスクの履歴を表示するビュー。タスクとは、定期的にSQL文やストアドプロシージャを実行するオブジェクトのことである。ビューには、タスクの名前、実行日時、実行時間、使用したウェアハウス、消費したクレジット、タスクのステータス、タスクのエラーなどの情報が含まれる。 TASK_NAME, EXECUTION_TIME, RUN_TIME, WAREHOUSE_NAME, CREDITS_USED, TASK_STATUS, ERROR_MESSAGE
TASK_VERSIONS アカウントで定義されたタスクのバージョンのメタデータを表示するビュー。タスクのバージョンとは、タスクの定義が変更されたときに作成されるタスクのスナップショットのことである。ビューには、タスクの名前、バージョンの番号、バージョンの作成日時、タスクの本体、タスクのスケジュールなどの情報が含まれる。 TASK_NAME, VERSION_NUMBER, VERSION_TIME, TASK_BODY, TASK_SCHEDULE
USERS アカウントで定義されたユーザーのメタデータを表示するビュー。ビューには、ユーザーの名前、作成日時、所有者、コメント、ユーザーのロール、ユーザーのパスワードポリシー、ユーザーのログイン名、ユーザーのメールアドレス、ユーザーの状態などの情報が含まれる。 user, CREATED, OWNER, COMMENT, ROLE_NAME, PASSWORD_POLICY_NAME, LOGIN_NAME, EMAIL, user_STATE
VIEWS アカウントで定義されたビューのメタデータを表示するビュー。ビューとは、テーブルや他のビューから派生した仮想的なテーブルのことである。ビューには、ビューの名前、作成日時、所有者、コメント、所属するデータベースとスキーマ、ビューの種類、ビューの本体などの情報が含まれる。 VIEW_NAME, CREATED, OWNER, COMMENT, DATABASE_NAME, SCHEMA_NAME, VIEW_TYPE, VIEW_BODY
WAREHOUSE_EVENTS_HISTORY アカウントで発生したウェアハウスのイベントの履歴を表示するビュー。ウェアハウスのイベントとは、ウェアハウスの起動や停止などのアクションや状態の変化のことである。ビューには、イベントの種類、発生日時、対象のウェアハウス、イベントの詳細、イベントの状態などの情報が含まれる。 EVENT_TYPE, EVENT_TIME, WAREHOUSE_NAME, EVENT_DETAILS, EVENT_STATE
WAREHOUSE_LOAD_HISTORY アカウントで使用されたウェアハウスの負荷履歴を表示するビュー。ウェアハウスの負荷とは、ウェアハウスが実行するクエリの量や難易度などの指標である。ビューには、日付、ウェアハウスの名前、ウェアハウスのサイズ、実行したクエリ数、平均実行時間、最大実行時間、平均負荷、最大負荷などの情報が含まれる。 DATE, WAREHOUSE_NAME, WAREHOUSE_SIZE, QUERIES_EXECUTED, AVERAGE_EXECUTION_TIME, MAX_EXECUTION_TIME, AVERAGE_LOAD, MAX_LOAD
WAREHOUSE_METERING_HISTORY アカウントで使用されたウェアハウスのメータリング情報の履歴を表示するビュー。メータリング情報とは、ウェアハウスのサイズ、稼働時間、消費したクレジットなどの情報である。ビューには、ウェアハウスの名前、ウェアハウスのサイズ、稼働開始日時、稼働終了日時、消費したクレジットなどの情報が含まれる。 WAREHOUSE_NAME, WAREHOUSE_SIZE, START_TIME, END_TIME, CREDITS_USED

ALERT

アラートオブジェクトで使用するための関数。(公式ドキュメントより)

以下はBingAIと私の手作りです。

Function名 説明
GET_CONDITION_QUERY_UUID アラートの条件を評価するために実行されたクエリのUUIDを返します。このUUIDを使用して、クエリの詳細を確認したり、クエリの結果を取得したりできます。
LAST_SUCCESSFUL_SCHEDULED_TIME アラートの条件が正常に評価された最後の時刻を返します。この時刻は、アラートのスケジュールに基づいて決まります。この時刻を使用して、アラートの履歴を確認したり、アラートの条件を定義する際に参照したりできます。
SCHEDULED_TIME アラートの条件がスケジュールされた時刻を返します。この時刻は、アラートのスケジュールに基づいて決まります。この時刻を使用して、アラートの履歴を確認したり、アラートの実行を手動で実行したりできます。

BCR_ROLLOUT

※私のSnowflake画面にはあるのですが、公式ドキュメントに記載が無いので、BingAIに聞いた回答です。

SnowflakeのSnowflakeDBのBCR_ROLLOUTスキーマとは、Snowflakeの動作変更バンドルに関する情報を提供するスキーマです。動作変更バンドルとは、Snowflakeが定期的にリリースする、Snowflake内のデータに影響を与える変更の集合です。
BCR_ROLLOUTスキーマには、動作変更バンドルの名前、ステータス、有効化、無効化などの情報を含むビューがあります。これらのビューをクエリすることで、動作変更バンドルがアカウントにどのように影響するかを確認したり、動作変更バンドルを有効化または無効化したりすることができます。

CORE

一部のSnowflake機能で使用されるビュー、およびその他のスキーマオブジェクトが含まれます。現在、スキーマにはデータ分類で使用されるシステムタグのみが含まれています。追加のビューとスキーマオブジェクトは、将来のリリースで導入される予定です。(公式ドキュメントより)

CORTEX

※私のSnowflake画面にはあるのですが、公式ドキュメントに記載が無いので、BingAIに聞いた回答です。

SnowflakeのSnowflakeDBのCORTEXスキーマとは、Snowflake内でAIを使用できるようにするスキーマです。Snowflake Cortexというサービスが提供するサーバーレス関数やLLMモデルを利用できます。これらの機能は、データ分析やアプリ開発に役立ちます。また、Snowflake Copilotやユニバーサル検索などのSnowflakeのユーザーエクスペリエンスを改善する機能もCORTEXスキーマに含まれています。

DATA_SHARING_USAGE

Snowflake Marketplaceまたはデータ交換で公開されたリストに関連する、オブジェクトメタデータと使用状況メトリックを表示するビュー。(公式ドキュメントより)

ビューの概要ページはこちら⇒Data Sharing Usage | Snowflake Documentation

以下はBingAIと私の手作りです。

ビュー名 ビューの説明 代表的なカラム
APPLICATION_STATE 現在の状態を表示するビュー。リスティングの公開状態や自動充足の有効化などの情報が含まれる。 LISTING_ID, LISTING_NAME, LISTING_PUBLISHED, AUTO_FULFILLMENT_ENABLED
LISTING_ACCESS_HISTORY リスティングにアクセスしたコンシューマの履歴を表示するビュー。アクセス日時やコンシューマ名、アカウントIDなどの情報が含まれる。 LISTING_ID, LISTING_NAME, CONSUMER_NAME, CONSUMER_ACCOUNT_ID, ACCESS_TIME
LISTING_AUTO_FULFILLMENT_DATABASE_STORAGE_DAILY リスティングの自動充足によるデータベースのストレージ使用量を日次で表示するビュー。データベース名や使用量、料金などの情報が含まれる。 LISTING_ID, LISTING_NAME, DATABASE_NAME, STORAGE_BYTES, STORAGE_COST
LISTING_AUTO_FULFILLMENT_REFRESH_DAILY リスティングの自動充足によるデータの更新状況を日次で表示するビュー。更新日時や更新回数、更新時間などの情報が含まれる。 LISTING_ID, LISTING_NAME, REFRESH_DATE, REFRESH_COUNT, REFRESH_TIME
LISTING_CONSUMPTION_DAILY リスティングのデータを消費したコンシューマのクエリ情報を日次で表示するビュー。クエリ数や実行時間、料金などの情報が含まれる。 LISTING_ID, LISTING_NAME, CONSUMER_NAME, CONSUMER_ACCOUNT_ID, QUERY_COUNT, EXECUTION_TIME, QUERY_COST
LISTING_EVENTS_DAILY リスティングに関するイベントの情報を日次で表示するビュー。イベントの種類や発生日時、コンシューマ名などの情報が含まれる。 LISTING_ID, LISTING_NAME, EVENT_TYPE, EVENT_TIME, CONSUMER_NAME, CONSUMER_ACCOUNT_ID
LISTING_TELEMETRY_DAILY リスティングのテレメトリデータを日次で表示するビュー。クリック数や表示数、コンバージョン率などの情報が含まれる。 LISTING_ID, LISTING_NAME, CLICKS, IMPRESSIONS, CONVERSION_RATE
MARKETPLACE_DISBURSEMENT_REPORT マーケットプレイスでのリスティングの売上と支払いの情報を表示するビュー。売上額や支払い額、支払い日などの情報が含まれる。 LISTING_ID, LISTING_NAME, REVENUE, DISBURSEMENT, DISBURSEMENT_DATE
MARKETPLACE_PAID_USAGE_DAILY マーケットプレイスでのリスティングの有料使用状況を日次で表示するビュー。使用量や単価、売上などの情報が含まれる。 LISTING_ID, LISTING_NAME, USAGE, UNIT_PRICE, REVENUE
MARKETPLACE_PURCHASE_EVENTS_DAILY マーケットプレイスでのリスティングの購入イベントの情報を日次で表示するビュー。購入日時や購入者名、購入価格などの情報が含まれる。※公式ドキュメントなし LISTING_ID, LISTING_NAME, PURCHASE_TIME, PURCHASER_NAME, PURCHASER_ACCOUNT_ID, PURCHASE_PRICE
MONETIZED_USAGE_DAILY リスティングの収益化された使用状況を日次で表示するビュー。使用量や単価、売上などの情報が含まれる。 LISTING_ID, LISTING_NAME, USAGE, UNIT_PRICE, REVENUE

INFORMATION_SCHEMA

このスキーマは、すべてのデータベースで自動的に作成されます。SNOWFLAKE などの共有データベースでは、このスキーマは目的を果たさず、無視できます。(公式ドキュメントより)

以下はBingAIと私の手作りです。

ビュー名 ビューの説明 代表的なカラム
APPLICABLE_ROLES 現在のユーザーに適用できるロールを表示します ROLE_NAME, GRANTED_BY
CLASSES 現在のユーザーが閲覧権限を持つBUNDLE CLASSを表示します CLASS_NAME, CLASS_TYPE, CLASS_OWNER
CLASS_INSTANCES 現在のユーザーが閲覧権限を持つBUNDLE INSTANCEを表示します CLASS_NAME, INSTANCE_NAME, INSTANCE_OWNER
CLASS_INSTANCE_FUNCTIONS バンドルで定義された関数で、現在のユーザーのロールがアクセスできるものを表示します CLASS_NAME, INSTANCE_NAME, FUNCTION_NAME, FUNCTION_TYPE
CLASS_INSTANCE_PROCEDURES バンドルで定義されたプロシージャで、現在のユーザーのロールがアクセスできるものを表示します CLASS_NAME, INSTANCE_NAME, PROCEDURE_NAME, PROCEDURE_TYPE
COLUMNS このデータベースで定義されたテーブルのカラムで、現在のユーザーのロールがアクセスできるものを表示します TABLE_CATALOG, TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME, DATA_TYPE
CURRENT_PACKAGES_POLICY 現在のアカウントに設定されたパッケージポリシーを表示します POLICY_NAME, POLICY_TYPE, POLICY_VALUE
DATABASES 現在のユーザーのロールがアクセスできるデータベースを表示します CATALOG_NAME, DATABASE_NAME, DATABASE_OWNER, CREATED, LAST_ALTERED
ELEMENT_TYPES このデータベースで定義された構造化配列型の要素型で、現在のユーザーのロールがアクセスできるものを表示します COLLECTION_CATALOG, COLLECTION_SCHEMA, COLLECTION_NAME, ELEMENT_NAME, DATA_TYPE
ENABLED_ROLES 現在のユーザーに有効になっているロールを表示します ROLE_NAME, GRANTED_BY
EVENT_TABLES このデータベースで定義されたイベントテーブルで、現在のユーザーのロールがアクセスできるものを表示します TABLE_CATALOG, TABLE_SCHEMA, TABLE_NAME, TABLE_OWNER, CREATED, LAST_ALTERED
EXTERNAL_TABLES このデータベースで定義された外部テーブルで、現在のユーザーのロールがアクセスできるものを表示します TABLE_CATALOG, TABLE_SCHEMA, TABLE_NAME, TABLE_OWNER, LOCATION, FILE_FORMAT
FIELDS このデータベースで定義された構造化オブジェクト型とマップ型のフィールドで、現在のユーザーのロールがアクセスできるものを表示します OBJECT_CATALOG, OBJECT_SCHEMA, OBJECT_NAME, FIELD_NAME, DATA_TYPE
FILE_FORMATS このデータベースで定義されたファイル形式で、現在のユーザーのロールがアクセスできるものを表示します CATALOG_NAME, SCHEMA_NAME, NAME, TYPE, OWNER
FUNCTIONS このデータベースで定義されたユーザー定義関数で、現在のユーザーのロールがアクセスできるものを表示します FUNCTION_CATALOG, FUNCTION_SCHEMA, FUNCTION_NAME, FUNCTION_TYPE, FUNCTION_LANGUAGE
INFORMATION_SCHEMA_CATALOG_NAME information_schemaを含むデータベース(またはSQL用語でのカタログ)を識別します CATALOG_NAME
LOAD_HISTORY copyコマンドのロード情報を表示します DATABASE_NAME, SCHEMA_NAME, TABLE_NAME, START_TIME, END_TIME, STATUS
OBJECT_PRIVILEGES このデータベースで定義されたすべてのオブジェクトに対する権限で、現在のユーザーのロールがアクセスできるものを表示します GRANTEE_NAME, GRANTED_BY, OBJECT_CATALOG, OBJECT_SCHEMA, OBJECT_NAME, OBJECT_TYPE, PRIVILEGE_TYPE
PACKAGES 現在のアカウントで利用可能なパッケージを表示します CATALOG_NAME, SCHEMA_NAME, PACKAGE_NAME, PACKAGE_OWNER, CREATED, LAST_ALTERED
PIPES このデータベースで定義されたパイプで、現在のユーザーのロールがアクセスできるものを表示します PIPE_CATALOG, PIPE_SCHEMA, PIPE_NAME, PIPE_OWNER, DEFINITION, COMMENT
PROCEDURES このデータベースで定義されたストアドプロシージャで、現在のユーザーのロールがアクセスできるものを表示します PROCEDURE_CATALOG, PROCEDURE_SCHEMA, PROCEDURE_NAME, PROCEDURE_TYPE, PROCEDURE_LANGUAGE
REFERENTIAL_CONSTRAINTS このデータベースでアクセスできる参照制約を表示します CONSTRAINT_CATALOG, CONSTRAINT_SCHEMA, CONSTRAINT_NAME, UNIQUE_CONSTRAINT_CATALOG, UNIQUE_CONSTRAINT_SCHEMA, UNIQUE_CONSTRAINT_NAME
REPLICATION_DATABASES 現在のユーザーのロールがアクセスできるレプリケーション用のデータベースを表示します DATABASE_NAME, REPLICATION_GROUP, REPLICATION_ROLE, REPLICATION_STATE
REPLICATION_GROUPS 現在のユーザーのロールがアクセスできるレプリケーショングループを表示します REPLICATION_GROUP, REPLICATION_GROUP_TYPE, REPLICATION_GROUP_STATE
SCHEMATA このデータベースで定義されたスキーマで、現在のユーザーのロールがアクセスできるものを表示します CATALOG_NAME, SCHEMA_NAME, SCHEMA_OWNER, CREATED, LAST_ALTERED
SEQUENCES このデータベースで定義されたシーケンスで、現在のユーザーのロールがアクセスできるものを表示します SEQUENCE_CATALOG, SEQUENCE_SCHEMA, SEQUENCE_NAME, SEQUENCE_OWNER, CREATED, LAST_ALTERED
STAGES このデータベースでアクセスできるステージを表示します CATALOG_NAME, SCHEMA_NAME, NAME, TYPE, OWNER, LOCATION, FILE_FORMAT
STREAMLITS このデータベースでアクセスできるストリームリットを表示します CATALOG_NAME, SCHEMA_NAME, NAME, TYPE, OWNER, SOURCE_TABLE, CREATED, LAST_ALTERED
TABLES このデータベースで定義されたテーブルで、現在のユーザーのロールがアクセスできるものを表示します TABLE_CATALOG, TABLE_SCHEMA, TABLE_NAME, TABLE_OWNER, TABLE_TYPE, CREATED, LAST_ALTERED
TABLE_CONSTRAINTS このデータベースでアクセスできるテーブルの制約を表示します CONSTRAINT_CATALOG, CONSTRAINT_SCHEMA, CONSTRAINT_NAME, CONSTRAINT_TYPE, TABLE_CATALOG, TABLE_SCHEMA, TABLE_NAME
TABLE_PRIVILEGES このデータベースでアクセスできるテーブルの権限を表示します GRANTEE_NAME, GRANTED_BY, TABLE_CATALOG, TABLE_SCHEMA, TABLE_NAME, PRIVILEGE_TYPE
TABLE_STORAGE_METRICS アカウント内のすべてのテーブルを表示します。期限切れのテーブルも含まれます TABLE_CATALOG, TABLE_SCHEMA, TABLE_NAME, ACTIVE_BYTES, TIME_TRAVEL_BYTES, FAILSAFE_BYTES, RETAINED_FOR_CLONE_BYTES
USAGE_PRIVILEGES このデータベースでアクセスできるシーケンスの使用権限を表示します GRANTEE_NAME, GRANTED_BY, SEQUENCE_CATALOG, SEQUENCE_SCHEMA, SEQUENCE_NAME, PRIVILEGE_TYPE
VIEWS このデータベースでアクセスできるビューを表示します TABLE_CATALOG, TABLE_SCHEMA, TABLE_NAME, TABLE_OWNER, VIEW_DEFINITION, IS_SECURE, CREATED, LAST_ALTERED

ORGANIZATION_USAGE

組織内にあるアカウントすべての過去の使用状況データを表示するビュー。(公式ドキュメントより)

ビューの概要ページはこちら⇒Organization Usage | Snowflake Documentation

以下はBingAIと私の手作りです。公式ドキュメントの無いビューはリンクがありません。

ビュー名 ビューの説明 代表的なカラム
ACCOUNTS 組織内のすべてのアカウントのメタデータを表示するオブジェクトビューです。アカウントの名前、ID、作成日、状態、ロール、リージョンなどの情報が含まれます。 ACCOUNT_NAME, ACCOUNT_ID, CREATED_ON, ACCOUNT_STATUS, ORGADMIN_ROLE, REGION
AUTOMATIC_CLUSTERING_HISTORY 組織内のすべてのアカウントで自動クラスタリングが実行された履歴を表示する履歴ビューです。自動クラスタリングは、テーブルやマテリアライズドビューのパフォーマンスを最適化するために、Snowflakeが自動的に行うメンテナンス操作です。このビューには、自動クラスタリングの開始日時、終了日時、実行時間、影響を受けたオブジェクトの数などの情報が含まれます。 ACCOUNT_NAME, START_TIME, END_TIME, DURATION, OBJECTS_AFFECTED, CREDITS_USED
CONTRACT_ITEMS 組織の契約項目の履歴を表示する履歴ビューです。契約項目とは、組織が購入したSnowflakeのサービスや機能のことです。このビューには、契約項目の名前、タイプ、開始日、終了日、価格、数量などの情報が含まれます。 ACCOUNT_NAME, ITEM_NAME, ITEM_TYPE, START_DATE, END_DATE, PRICE, QUANTITY
DATABASE_STORAGE_USAGE_HISTORY 組織内のすべてのアカウントで使用されたデータベースストレージの履歴を表示する履歴ビューです。データベースストレージとは、Snowflakeがデータを保存するために使用するストレージのことです。このビューには、データベースの名前、ID、サイズ、平均サイズ、最大サイズなどの情報が含まれます。 ACCOUNT_NAME, DATABASE_NAME, DATABASE_ID, AVERAGE_DATABASE_BYTES, MAX_DATABASE_BYTES, DATABASE_BYTES
DATA_TRANSFER_DAILY_HISTORY 組織内のすべてのアカウントで発生したデータ転送の日次履歴を表示する履歴ビューです。データ転送とは、Snowflakeの外部のデータソースやデータシェアとの間でデータをやり取りすることです。このビューには、データ転送の日付、方向、量、単位、コストなどの情報が含まれます。 ACCOUNT_NAME, TRANSFER_DATE, TRANSFER_DIRECTION, TRANSFER_SIZE, TRANSFER_UNIT, TRANSFER_COST
DATA_TRANSFER_HISTORY 組織内のすべてのアカウントで発生したデータ転送の履歴を表示する履歴ビューです。データ転送とは、Snowflakeの外部のデータソースやデータシェアとの間でデータをやり取りすることです。このビューには、データ転送の開始日時、終了日時、方向、量、単位、コストなどの情報が含まれます。 ACCOUNT_NAME, START_TIME, END_TIME, TRANSFER_DIRECTION, TRANSFER_SIZE, TRANSFER_UNIT, TRANSFER_COST
MARKETPLACE_DISBURSEMENT_REPORT 組織がSnowflakeマーケットプレイスでデータを販売した場合の支払いの履歴を表示する履歴ビューです。Snowflakeマーケットプレイスとは、Snowflakeのユーザーがデータを公開して共有できるプラットフォームです。このビューには、支払いの日付、金額、通貨、手数料、税金などの情報が含まれます。 ACCOUNT_NAME, PAYMENT_DATE, PAYMENT_AMOUNT, PAYMENT_CURRENCY, FEE_AMOUNT, TAX_AMOUNT
MARKETPLACE_PAID_USAGE_DAILY 組織がSnowflakeマーケットプレイスでデータを購入した場合の使用状況の日次履歴を表示する履歴ビューです。Snowflakeマーケットプレイスとは、Snowflakeのユーザーがデータを公開して共有できるプラットフォームです。このビューには、使用状況の日付、データの名前、ID、サイズ、単位、コストなどの情報が含まれます。 ACCOUNT_NAME, USAGE_DATE, DATA_NAME, DATA_ID, DATA_SIZE, DATA_UNIT, DATA_COST
MARKETPLACE_PURCHASE_EVENTS_DAILY 組織がSnowflakeマーケットプレイスでデータを購入した場合の購入イベントの日次履歴を表示する履歴ビューです。Snowflakeマーケットプレイスとは、Snowflakeのユーザーがデータを公開して共有できるプラットフォームです。このビューには、購入イベントの日付、データの名前、ID、価格、数量、通貨などの情報が含まれます。 ACCOUNT_NAME, PURCHASE_DATE, DATA_NAME, DATA_ID, DATA_PRICE, DATA_QUANTITY, DATA_CURRENCY
MATERIALIZED_VIEW_REFRESH_HISTORY 組織内のすべてのアカウントで実行されたマテリアライズドビューの更新の履歴を表示する履歴ビューです。マテリアライズドビューとは、クエリ結果をキャッシュして保存するビューのことです。このビューには、マテリアライズドビューの名前、ID、更新の開始日時、終了日時、実行時間、影響を受けた行数などの情報が含まれます。 ACCOUNT_NAME, VIEW_NAME, VIEW_ID, START_TIME, END_TIME, DURATION, ROWS_AFFECTED
METERING_DAILY_HISTORY 組織内のすべてのアカウントの日次の使用量を表示するビューです。使用量は、仮想ウェアハウス、ストレージ、データ転送、およびその他のサービスに関するメトリックで測定されます。このビューには、アカウントID、日付、サービスタイプ、使用量単位、使用量量などの情報が含まれます。 ACCOUNT_ID, DATE, SERVICE_TYPE, USAGE_UNIT, USAGE
MONETIZED_USAGE_DAILY 組織内のすべてのアカウントの日次の課金対象使用量を表示するビューです。課金対象使用量は、Snowflakeのマーケットプレイスやデータエクスチェンジで提供されるデータに対するアクセスやクエリの実行に関するメトリックで測定されます。このビューには、アカウントID、日付、リスティングID、リスティング名、使用量単位、使用量量などの情報が含まれます。 ACCOUNT_ID, DATE, LISTING_ID, LISTING_NAME, USAGE_UNIT, USAGE
PIPE_USAGE_HISTORY 組織内のすべてのアカウントでパイプが実行された履歴を表示するビューです。パイプとは、外部のデータソースからSnowflakeにデータを連続的にロードするためのオブジェクトです。このビューには、パイプの作成日時、最終実行日時、実行回数、ロードされたファイル数、ロードされたバイト数などの情報が含まれます。 ACCOUNT_ID, PIPE_ID, PIPE_NAME, CREATED_ON, LAST_EXECUTION_TIME, EXECUTION_COUNT, FILES_LOADED, BYTES_LOADED
PREVIEW_CONTRACT_ITEMS 組織の契約項目のプレビューを表示するビューです。契約項目とは、Snowflakeとの契約で定義された、使用可能なリソースやサービスの種類と量を表すものです。このビューには、契約項目の名前、タイプ、開始日、終了日、単価、数量などの情報が含まれます。 CONTRACT_ITEM_NAME, CONTRACT_ITEM_TYPE, START_DATE, END_DATE, UNIT_PRICE, QUANTITY
PREVIEW_DATA_TRANSFER_DAILY_HISTORY 組織内のすべてのアカウントの日次のデータ転送量のプレビューを表示するビューです。データ転送量とは、Snowflakeのマーケットプレイスやデータエクスチェンジで提供されるデータに対するアクセスやクエリの実行によって発生するネットワークトラフィックの量です。このビューには、アカウントID、日付、リスティングID、リスティング名、データ転送単位、データ転送量などの情報が含まれます。 ACCOUNT_ID, DATE, LISTING_ID, LISTING_NAME, DATA_TRANSFER_UNIT, DATA_TRANSFER
PREVIEW_METERING_DAILY_HISTORY 組織内のすべてのアカウントの日次の使用量のプレビューを表示するビューです。使用量は、仮想ウェアハウス、ストレージ、データ転送、およびその他のサービスに関するメトリックで測定されます。このビューには、アカウントID、日付、サービスタイプ、使用量単位、使用量量などの情報が含まれます。 ACCOUNT_ID, DATE, SERVICE_TYPE, USAGE_UNIT, USAGE
PREVIEW_RATE_SHEET_DAILY 組織のレートシートのプレビューを表示するビューです。レートシートとは、Snowflakeとの契約で定義された、使用量に対する単価の一覧です。このビューには、日付、サービスタイプ、使用量単位、単価などの情報が含まれます。 DATE, SERVICE_TYPE, USAGE_UNIT, UNIT_PRICE
PREVIEW_REMAINING_BALANCE_DAILY 組織の残高のプレビューを表示するビューです。残高とは、Snowflakeとの契約で定義された、使用可能なクレジットの量です。このビューには、日付、残高単位、残高量などの情報が含まれます。 DATE, BALANCE_UNIT, BALANCE
PREVIEW_STORAGE_DAILY_HISTORY 組織内のすべてのアカウントの日次のストレージ使用量のプレビューを表示するビューです。ストレージ使用量とは、Snowflakeに保存されたデータの量です。このビューには、アカウントID、日付、ストレージタイプ、ストレージ単位、ストレージ量などの情報が含まれます。 ACCOUNT_ID, DATE, STORAGE_TYPE, STORAGE_UNIT, STORAGE
PREVIEW_USAGE_IN_CURRENCY_DAILY 組織内のすべてのアカウントの日次の使用量に対する金額のプレビューを表示するビューです。金額とは、使用量に対する単価を掛けたもので、契約で定義された通貨で表示されます。このビューには、アカウントID、日付、サービスタイプ、通貨、金額などの情報が含まれます。 ACCOUNT_ID, DATE, SERVICE_TYPE, CURRENCY, AMOUNT
PREVIEW_WAREHOUSE_METERING_HISTORY 組織内のすべてのアカウントで仮想ウェアハウスが実行された履歴のプレビューを表示するビューです。仮想ウェアハウスとは、Snowflakeでクエリを実行するためのコンピューティングリソースです。このビューには、アカウントID、ウェアハウスID、ウェアハウス名、開始日時、終了日時、継続時間、クレジット消費量などの情報が含まれます。 ACCOUNT_ID, WAREHOUSE_ID, WAREHOUSE_NAME, START_TIME, END_TIME, DURATION, CREDITS_USED
QUERY_ACCELERATION_HISTORY 組織内のすべてのアカウントでクエリアクセラレーションが実行された履歴を表示するビューです。クエリアクセラレーションとは、Snowflakeが自動的に行うパフォーマンス最適化の一種で、クエリの実行時間を短縮するために、データの一部をメモリにキャッシュすることです。このビューには、クエリID、クエリテキスト、クエリの実行日時、キャッシュされたバイト数、キャッシュされたデータの割合などの情報が含まれます。 ACCOUNT_ID, QUERY_ID, QUERY_TEXT, EXECUTION_TIME, BYTES_CACHED, CACHED_DATA_PERCENTAGE
RATE_SHEET_DAILY 組織のレートシートの履歴を表示するビューです。レートシートとは、Snowflakeとの契約で定義された、使用量に対する単価の一覧です。このビューには、日付、サービスタイプ、使用量単位、単価などの情報が含まれます。 DATE, SERVICE_TYPE, USAGE_UNIT, UNIT_PRICE
REMAINING_BALANCE_DAILY 組織の残高の履歴を表示するビューです。残高とは、Snowflakeとの契約で定義された、使用可能なクレジットの量です。このビューには、日付、残高単位、残高量などの情報が含まれます。 DATE, BALANCE_UNIT, BALANCE
REPLICATION_GROUP_USAGE_HISTORY 組織内のすべてのアカウントでレプリケーショングループが実行された履歴を表示するビューです。レプリケーショングループとは、Snowflakeでデータベースやスキーマを別のリージョンに複製するためのオブジェクトです。このビューには、レプリケーショングループの作成日時、最終実行日時、実行回数、複製されたファイル数、複製されたバイト数などの情報が含まれます。 ACCOUNT_ID, REPLICATION_GROUP_ID, REPLICATION_GROUP_NAME, CREATED_ON, LAST_EXECUTION_TIME, EXECUTION_COUNT, FILES_REPLICATED, BYTES_REPLICATED
REPLICATION_USAGE_HISTORY 組織内のすべてのアカウントでレプリケーションが実行された履歴を表示するビューです。レプリケーションとは、Snowflakeでデータベースやスキーマを別のアカウントに複製するためのオブジェクトです。このビューには、レプリケーションの作成日時、最終実行日時、実行回数、複製されたファイル数、複製されたバイト数などの情報が含まれます。 ACCOUNT_ID, REPLICATION_ID, REPLICATION_NAME, CREATED_ON, LAST_EXECUTION_TIME, EXECUTION_COUNT, FILES_REPLICATED, BYTES_REPLICATED
SEARCH_OPTIMIZATION_HISTORY 組織内のすべてのアカウントで検索最適化が実行された履歴を表示するビューです。検索最適化とは、Snowflakeが自動的に行うパフォーマンス最適化の一種で、クエリの実行時間を短縮するために、データの一部をメモリにインデックス化することです。このビューには、クエリID、クエリテキスト、クエリの実行日時、インデックス化されたバイト数、インデックス化されたデータの割合などの情報が含まれます。 ACCOUNT_ID, QUERY_ID, QUERY_TEXT, EXECUTION_TIME, BYTES_INDEXED, INDEXED_DATA_PERCENTAGE
STAGE_STORAGE_USAGE_HISTORY 組織内のすべてのアカウントのステージストレージ使用量の履歴を表示するビューです。ステージストレージ使用量とは、Snowflakeに保存された外部ファイルの量です。このビューには、アカウントID、ステージID、ステージ名、ステージタイプ、ステージ単位、ステージ量などの情報が含まれます。 ACCOUNT_ID, STAGE_ID, STAGE_NAME, STAGE_TYPE, STAGE_UNIT, STAGE
STORAGE_DAILY_HISTORY 組織内のすべてのアカウントの日次のストレージ使用量を表示するビューです。ストレージ使用量とは、Snowflakeに保存されたデータの量です。このビューには、アカウントID、日付、ストレージタイプ、ストレージ単位、ストレージ量などの情報が含まれます。 ACCOUNT_ID, DATE, STORAGE_TYPE, STORAGE_UNIT, STORAGE
USAGE_IN_CURRENCY_DAILY 組織内のすべてのアカウントの日次の使用量に対する金額を表示するビューです。金額とは、使用量に対する単価を掛けたもので、契約で定義された通貨で表示されます。このビューには、アカウントID、日付、サービスタイプ、通貨、金額などの情報が含まれます。 ACCOUNT_ID, DATE, SERVICE_TYPE, CURRENCY, AMOUNT
WAREHOUSE_METERING_HISTORY 組織内のすべてのアカウントで仮想ウェアハウスが実行された履歴を表示するビューです。仮想ウェアハウスとは、Snowflakeでクエリを実行するためのコンピューティングリソースです。このビューには、アカウントID、ウェアハウスID、ウェアハウス名、開始日時、終了日時、継続時間、クレジット消費量などの情報が含まれます。 ACCOUNT_ID, WAREHOUSE_ID, WAREHOUSE_NAME, START_TIME, END_TIME, DURATION, CREDITS_USED

READER_ACCOUNT_USAGE

ACCOUNT_USAGE に似ていますが、アカウントにプロビジョニングされたリーダーアカウント(存在する場合)に関連するビューのみが含まれます。(公式ドキュメントより)

以下はBingAIと私の手作りです。

ビュー名 ビューの説明 代表的なカラム
LOGIN_HISTORY リーダーアカウントのログイン履歴を表示するビュー。ログインしたユーザー、ログイン日時、ログイン方法、ログイン結果などの情報が含まれる。 READER_ACCOUNT_NAME, USER_NAME, EVENT_TIMESTAMP, AUTHENTICATION_METHOD, LOGIN_STATUS
QUERY_HISTORY リーダーアカウントで実行されたクエリの履歴を表示するビュー。クエリID、クエリテキスト、実行時間、実行状態、エラーメッセージなどの情報が含まれる。 READER_ACCOUNT_NAME, QUERY_ID, QUERY_TEXT, EXECUTION_TIME, QUERY_STATUS, ERROR_MESSAGE
RESOURCE_MONITORS リーダーアカウントに関連付けられたリソースモニターの使用状況を表示するビュー。リソースモニターは、ウェアハウスやパイプの使用量を制限するために使用される。リソースモニター名、使用量、制限値、アクションなどの情報が含まれる。 READER_ACCOUNT_NAME, RESOURCE_MONITOR_NAME, USAGE, LIMIT_VALUE, ACTION
STORAGE_USAGE リーダーアカウントで使用されるストレージの使用状況を表示するビュー。データベース、スキーマ、テーブル、ステージなどのオブジェクトごとのストレージサイズ、平均サイズ、最大サイズなどの情報が含まれる。 READER_ACCOUNT_NAME, DATABASE_NAME, SCHEMA_NAME, TABLE_NAME, STAGE_NAME, AVERAGE_SIZE, MAX_SIZE
WAREHOUSE_METERING_HISTORY リーダーアカウントで使用されるウェアハウスの使用状況を表示するビュー。ウェアハウス名、サイズ、状態、開始時間、終了時間、使用時間などの情報が含まれる。 READER_ACCOUNT_NAME, WAREHOUSE_NAME, WAREHOUSE_SIZE, WAREHOUSE_STATE, START_TIME, END_TIME, CREDITS_USED

ML

Snowflakeによって構築された分析ツールスイートである ML 駆動型関数 が含まれます。(公式ドキュメントより)

Snowpark

Snowflakeの画面にはあるのですが、何か分かりませんでした…。これから出るのかな!

4.おわりに

いかがでしたか?ちなみに今回はアイキャッチ画像もBingAiに作ってもらいましたよ~。

truestarではSnowflakeの検討、導入支援や環境構築からアプリ開発まで幅広くサポート可能です。

Snowflakeに゙興味がある、導入済みだけどもっとうまく活用したい等々ありましたら、ぜひこちらからご相談ください。

また次回!