Upgrade to Pro — share decks privately, control downloads, hide ads and more …

第6回Snowflake Rookies Camp

第6回Snowflake Rookies Camp

Avatar for Snowflake Rookies Camp

Snowflake Rookies Camp

July 12, 2026

Transcript

  1. Snowflake初心者が 一歩ずつ一緒に成長する場を提供しています! Frosty Fridayなど、EasyやBasicの問題をピックアップし、学 びやすいようにカスタマイズしてイベントを開催しています。 参 加 者 同 士

    の 悩 み 共 有 実 用 的 な T i p s の 紹 介 小 さ な 成 功 体 験 の 積 み 重 ね Snowflake Rookies Camp Snowflake Rookies Camp とは! とは! Snowflake Rookies Camp とは!
  2. そんな皆さんを そんな皆さんを 心から歓迎します! 心から歓迎します! 小さな疑問も大歓迎! 小さな疑問も大歓迎! #snowflake-rookies-camp でも受け付けています #snowflake-rookies-camp でも受け付けています

    みんなで助け合いながら、 みんなで助け合いながら、 新しい学びを一緒に始めましょう! 新しい学びを一緒に始めましょう! そんな皆さんを 心から歓迎します! 小さな疑問も大歓迎! #snowflake-rookies-camp でも受け付けています みんなで助け合いながら、 新しい学びを一緒に始めましょう!
  3. 特に重要なアーキテクチャ 特に重要なアーキテクチャ 特に重要なアーキテクチャ 出典:FORM S-1 Snowflake Inc. p.84    https://docs.snowflake.com/ja/user-guide/intro-key-concepts Snowflakeの機能を理解する

    にあたって大切な3層です。 この場では、簡潔にご説明し ます。 ・クラウドサービス層 - 認証、権限制御、クエリ最適化、     メタデータ管理など ・コンピュート層(クエリ処理層) - 仮想ウェアハウスで処理毎に  処理を実施 ・ストレージ層 - 物理データを列指向で格納 - マイクロパーティションで分割
  4. FROSTYFRIDAY FROSTYFRIDAY をやってみよう! をやってみよう! FROSTYFRIDAY をやってみよう! Frosty_Fridayとは 1.金曜日に更新されるSnowflakeのスキルアップ ウィークリーチャレンジです 2.レベルは

     Easy Basic Intermediate Hard  ※この勉強会ではEasyかBasicのみ 3.回答は(公式には)ありません!  ※先人たちの回答はGitHubにあります Snowflakeの機能を学びつつTipsが学べます! https://frostyfriday.org/ 解説動画があります Snowvillage(Snowflakeのコミュニティー) でご活躍中の    tomoさん がくさん あれさん がSnowflakeを得意とするゲストを招いて 隔週で解説動画をYouTubeにUPしてくれています。 わからなければこの解説動画を見ながら学べます! https://www.youtube.com/watch? v=0T8P_bw6GgE&list =PLVj4iIZgzTAq2FzaBB gqFOtZaJTcoG3JR
  5. Snowflakeのデータ保護を支える3つの機能 Snowflakeには、データを守り、活用するための強力な標準機能が備わっています。 1. Time Travel (タイムトラベル) 2. Zero-Copy Clone (ゼロコピークローン)

    3. Fail-safe (フェイルセーフ) ・ 過去のデータにアクセ ス。間違った操作を「なか ったこと」に。 ・ データの実体をコピー せず、一瞬でテーブルやデ ータベースを複製。 ・ Time Travel期間終了後 の、最後の砦(災害復 旧用) 。 今日は特に Time Travel と Clone にフォーカスします!
  6. Time Travel : データの「Ctrl + Z(元に戻す) 」 過去の任意の時点の状態を参照したり、テーブルを復元したりできます。 できること 保持期間

    (DATA_RETENTION_TIME_IN_DAYS) 「◦分前」や「特定のクエ リ実行前」のデータを SELECTする。 間違って消した(DROP) テーブルをUNDROPで復 活させる。 Standard Edition Enterprise Edition以上 最大 90日 ※デフォルトは1日のことが多い。 設定で変更可能。 最大 1日
  7. Time Travel を含むクエリ https://docs.snowflake.com/ja/user-guide/data-time-travel#querying-historical-data 特定の時点 SELECT * FROM my_table AT(TIMESTAMP

    => 'Wed, 26 Jun 2024 09:20:00 -0700'::timestamp_tz); オフセット時点 SELECT * FROM my_table AT(OFFSET => -60 * 5); ※5分前 特定のクエリ時点 SELECT * FROM my_table BEFORE(STATEMENT => '8e5d0ca9-005e-44e6-b858-a8f5b37c5726');
  8. 魔法のタネ明かし:データは「上書き」されない? Time Travel とClone を実現する、Snowflake のアーキテクチャの核心。 マイクロパーティション 従来のDB(上書き更新) データ変更時 →

    元のファイルを書き換える (上書き) Snowflake(不変性 Immutable) データ変更時 → 元のファイルはそのままで、 新しいバージョンのファイルを追加する。 VS 「過去のファイルがそのまま残っている」から、過去に戻れる!
  9. Zero-Copy Clone: 一瞬でデータ複製 データの実体をコピーせず、 「メタデータ(参照情報) 」のみを複製します。 特徴 仕組みと利用シーン 高速:TBクラスの巨大な テーブルでも数秒で複製完

    了。 ストレージ費用節約:作成 直後は追加のストレージ料 金がかからない。 元テーブルA クローン テーブルB メタデータ ファイル1 ファイル2 メタデータ ファイル1 ファイル2 ※データの実体は増えていない!「ファイル1,ファ イル2,ファイル3」へのリンク情報だけをコピー。 利用シーン:開発・テスト環境の構築、 分析用のサンドボックス作成など。 実データ マイクロ パーティション
  10. 最後の砦 Fail-safe と コストの考え方 データ保護にはコストがかかります。適切なテーブルタイプを選びましょう。 Fail-safe(フェイルセーフ) テーブルタイプとデータ保護期間・コストの関係 Time Travel期間 (0-90日)

    Fail-safe領域 (7日間固定) ユーザー操作不可。 Snowflakeサポートへの 依頼が必要 (有償・時間かかる) ※あくまで災害復旧用。 普段はTime Travelで対応を! Time Travel期間 Fail-safe期間 コストの目安 Permanent (標準) Transient (一時的) Temporary (セッション 内) 0-90日 0-1日 セッション 中のみ 7日 なし なし 高 (継続的に発生) 中 (一時的) 低 (セッション 終了で解放) なんでもPermanentにするとストレージコスト がかさむ可能性も。用途に合わせて選択!
  11. Week103の内容を図解 Week103の内容を図解 Week103の内容を図解 Snowflake データベース DB_WEEK103 スキーマ SALES ウェアハウス COMPUTE_WH

    ①使用ロール・ウェアハウス決定 ②データベース作成 ③スキーマ作成 ④テーブル作成 ⑤Salesデータにレコードを登録 ⑥Salesの一部行を削除・更新 ⑦更新時のデータをタイムトラベルで 検索 ⑧初期状態のデータベースをクローン テーブル TRANSACTIONS データベース DB_WEEK103_CLONE スキーマ SALES テーブル TRANSACTIONS
  12. 勉強会で 勉強会で 分からないことがあれば・・ 分からないことがあれば・・   Slackの#snowflake-rookies-camp   Slackの#snowflake-rookies-camp チャンネル チャンネル   で是非質問してください!!   で是非質問してください!!

      初歩的な質問でもなんでも聞けるチャンネルに   初歩的な質問でもなんでも聞けるチャンネルに   したいと思っています!   したいと思っています! 勉強会で 分からないことがあれば・・   Slackの#snowflake-rookies-camp チャンネル   で是非質問してください!!   初歩的な質問でもなんでも聞けるチャンネルに   したいと思っています!