
- Snowflake 教程
- Snowflake - 首頁
- Snowflake - 簡介
- Snowflake - 資料架構
- Snowflake - 功能架構
- Snowflake - 如何訪問
- Snowflake - 版本
- Snowflake - 定價模型
- Snowflake - 物件
- Snowflake - 表和檢視型別
- Snowflake - 登入
- Snowflake - 倉庫
- Snowflake - 資料庫
- Snowflake - 模式
- Snowflake - 表和列
- Snowflake - 從檔案載入資料
- Snowflake - 有用的示例查詢
- Snowflake - 監控使用情況和儲存
- Snowflake - 快取
- 將資料從 Snowflake 解除安裝到本地
- 外部資料載入(從 AWS S3)
- 外部資料解除安裝(到 AWS S3)
- Snowflake 資源
- Snowflake - 快速指南
- Snowflake - 有用資源
- Snowflake - 討論
Snowflake - 表和檢視型別
表型別
Snowflake 根據表的用途和性質將其分為不同的型別。共有四種類型的表:
永久表
永久表在資料庫中建立。
這些表會一直存在,直到從資料庫中刪除或丟棄。
這些表旨在儲存需要最高級別資料保護和恢復的資料。
這些是預設的表型別。
這些表支援時間旅行,最長可達 90 天,即使用者可以獲取最多 90 天前的資料。
它是故障安全的,如果資料因故障丟失,可以恢復。
臨時表
顧名思義,臨時表的存在時間較短。
這些表在會話期間存在。
如果使用者希望為其後續查詢和分析建立一個臨時表,則在會話完成後,它會自動刪除該臨時表。
它主要用於瞬態資料,例如 ETL/ELT
臨時表支援時間旅行,但僅限於 0 到 1 天。
它不是故障安全的,這意味著資料無法自動恢復。
瞬態表
這些表會一直存在,直到使用者刪除或丟棄它們。
多個使用者可以訪問瞬態表。
它用於需要“資料永續性”但不需要長期“資料保留”的情況。例如,網站訪客的詳細資訊、訪問並註冊網站的使用者詳細資訊,因此註冊後,可能不需要將詳細資訊儲存在兩個不同的表中。
瞬態表支援時間旅行,但僅限於 0 到 1 天。
它也不是故障安全的。
外部表
這些表會一直存在,直到被移除。
這裡使用“移除”一詞,因為外部表類似於 Snowflake 之外的東西,它們無法刪除或丟棄。它應該被移除。
可以將其視為 Snowflake 在外部資料湖之上,即資料湖的主要來源指向 Snowflake 以根據使用者的需求利用資料。
無法直接訪問資料。可以透過外部階段在 Snowflake 中訪問它。
外部表僅用於讀取。
外部表不支援時間旅行。
它在 Snowflake 環境內部不是故障安全的。
檢視型別
Snowflake 中有三種主要的分類檢視:
標準檢視
這是預設的檢視型別。
選擇表以檢視資料的查詢。
使用者可以根據角色和許可權執行查詢。
任何有權訪問這些檢視的角色都可以訪問底層 DDL。
安全檢視
安全檢視意味著只能由授權使用者訪問。
授權使用者可以檢視定義和詳細資訊。
擁有適當角色的授權使用者可以訪問這些表並執行查詢。
在安全檢視中,Snowflake 查詢最佳化器會繞過用於常規檢視的最佳化。
物化檢視
物化檢視更像是一個表。
這些檢視使用篩選條件儲存來自主要來源的結果。例如,一家公司擁有從公司成立之初開始的所有活躍、不活躍或已故員工的記錄。現在,如果使用者只需要活躍員工的詳細資訊,則可以查詢主表並將其儲存為物化檢視以供進一步分析。
物化檢視會自動重新整理,即只要主表獲得額外的/新的員工記錄,它也會重新整理物化檢視。
Snowflake 也支援安全物化檢視。
物化檢視會自動維護,它可能會消耗大量的計算資源。
物化檢視的總成本基於“資料儲存+計算+無伺服器服務”。
每個物化檢視的計算費用根據資料變化量計算。