0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Snowflake】公式ドキュメントを読み進めよう(Part 4)~Get started編④~

0
Posted at

はじめに

以下の記事の続きです。

■Part 1

■Part 2

■Part 3

このシリーズの制約

執筆(記事のたたきを含む)やまとめに生成AIは利用しません。
ただし、筆者が内容を理解するために生成AIを用いることがあります。
(まぁ普段から執筆に生成AIを使っていませんが……)

免責事項

本記事は執筆時点での情報をもとにまとめています。
そのため、読者の方が閲覧されるタイミングでは内容が変更されている可能性があります。

記事の内容と公式ドキュメントの記載に差異がある場合、または解釈にずれがある場合は、公式ドキュメントの記載を正とします。

今回読むドキュメント

【対象】
Get started for users

  • Data lifecycle

※ドキュメント中に登場するSQLの詳細については本記事では割愛します

データライフサイクルの概要

Snowflakeでは、データの操作や削除、管理に至るまで、データのライフサイクル全体で標準的なSQL操作をサポートしています。

ライフサイクル図

Snowflake内のデータはすべて論理的なテーブルとして表現されます。
Snowflake内のデータのほとんどは、標準SQLインターフェースを通じてクエリや変更を行うことができます。
image.png
(引用:https://docs.snowflake.com/ja/user-guide/data-lifecycle#lifecycle-diagram)

データの整理

データはデータベース > スキーマ > テーブルで整理をすることができます。
Snowflakeでは、作成できるデータベースの数やデータベース内のスキーマの数、スキーマ内のテーブルの数に制限はありません。

データに関する制限のがないというだけで、各機能単位で扱えるオブジェクト数に制限がないということではありません。

それぞれのオブジェクトの作成はSnowsightからでも可能です。
オブジェクトの変更を行う場合は、DDLを記述してを実行します。

SQL 処理概要
CREATE DATABASE データベースを作成する
ALTER DATABASE 作成済みのデータベースを変更する
CREATE SCHEMA スキーマを作成する
ALTER SCHEMA 作成済みのスキーマを変更する
CREATE TABLE テーブルを作成する
ALTER TABLE 作成済みのテーブルを変更する

データを保存する

データはテーブルに直接挿入することができます。
また、フォーマットされた外部のファイル(構造化データor半構造化データ)はSnowflakeのテーブルにロードすることができます。
ロードはSnowflakeが提供するDMLを使用します。

SQL 処理概要
INSERT データを直接テーブルに挿入する
COPY INTO ステージに配置されたデータをテーブルに挿入する

クエリデータ

データをテーブルに格納した後は、SELECT文を使ってデータを照合することができます。

データを扱う

Snowflakeでは、標準的なDML操作が可能です。
テーブルに格納されたデータに対して、クローン操作をサポートするDDL操作や、DML操作やなど行うことができます。

SQL 処理概要
UPDATE テーブル内の指定された行を新しい値で更新する
MERGE 2番目に指定されたテーブルorサブクエリで取得したデータに基づいて1番目に指定したテーブルのデータを更新(挿入、更新、削除)する
DELETE テーブル内の行を削除する
CREATE <New Object Name> CLONE クローン元のオブジェクトをクローンして新しいオブジェクトを作成する

データを削除する

DMLのDELETE文以外にもテーブル全体をクリアしたり、テーブル自体をドロップしたりすることができます。
テーブル以外にもスキーマやデータベース全体のドロップも可能です。

SQL 処理概要
TRUNCATE TABLE テーブルの全ての行とデータのロード履歴(メタデータ)をすべて削除する
DROP TABLE テーブルを削除する、ロード履歴(メタデータ)は保持する
DROP SCHEMA スキーマを削除する
DROP DATABASE データベースを削除する

おわりに

今回はSnowflake内のデータライフサイクルについてのドキュメントを確認しました。
ここには表現されていないテーブルの種類や、外部との連携など今後登場してくるため、このドキュメントとの違いも含めて押さえていきたいと思います。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?