0.はじめに
Merry Christmas Eve♪Chinenです。
皆さん、いかがお過ごしですか?
知念家は、自我が芽生えてはじめてのクリスマスを迎える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のストレージコストなど、様々な観点からブレークダウンしたコストモニタリングが可能です。もしも図を確認しながら「あれ、今月はこのアカウントちょっとクレジット消費ペースが速いのでは?」と感じたら、必要に応じて確認しています。
活用事例2:Marketplaceのお客様情報を活用しよう!
使用するスキーマ: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に゙興味がある、導入済みだけどもっとうまく活用したい等々ありましたら、ぜひこちらからご相談ください。
また次回!