Leo Yeh's Blog

SAS Viya (41)

教學目標

初步了解 SAS Viya 中有關快取資料磁碟配置的基本概念。

重點概念

首先當企業中的資料量越來越多時,如何有效率增加載入 In-memory 分析伺服器將會變的非常重要,因此在 SAS Viya 3.4 中特別被設計於高效能的資料存取的資料檔案格式 SASHDAT ,其主要以 .sashdat 的副檔名儲存在兩大類型的儲存空間中,分別為:

  1. HDFS:每個 SASHDAT 資料檔案區塊主要被放置 HDFS 中,以利 CAS Server 能夠以 remote 或 co-located 的方式進行直接存取 HDFS 中的 SASHDAT 資料檔案。
  2. POSIX: 每個 SASHDAT 資料檔案區塊主要被放置標準檔案儲存空間中,以利 CAS Server 能夠進行直接存取標準檔案儲存空間中的 SASHDAT 資料檔案,在 SAS 中又稱 DNFS。

所謂 HDFS 主要是的 Fault Tolerant 檔案系統以利部署在相對便宜的硬體上,資料複製在 HDFS 中將會被複製至不同區塊,預設每個將會複製三個分散至 HDFS 的機器中,以利我們透過 HDFS 平行處理資料之外,並且當其中一台主機損毀時,仍然有二個複製的資料區塊能夠被存取處理。所謂 DNFS 主要是分散式網路檔案系統,請注意 DNFS 並非產業標準或技術,而是在 SAS 中的專有技術名詞,主要統一描述掛載在所有 CAS 主機中的共享檔案系統,藉由 DNFS 的概念,以利系統管理者方便使用共享檔案系統的技術執行平行載入資料至 CAS 中取代特定資料庫。

接著我們的主要透過 CAS_DISK_CACHE 參數設定 CAS 總共的記憶體空間以利確保 CAS 能夠有效率的處理大量資料,請注意每個 CAS 主機皆必須指定 CAS_DISK_CACHE 的空間,而 CAS Worker 會依賴 CAS_DISK_CACHE 當為暫存區塊儲存,以利達到 Failover 的資料處理。此外在 SAS Viya 3.4 中主要會以 CAS_CONTROLLER_TEMP 取代 Controller 主機中的 CAS_DISK_CACHE 目錄,其主要功能為暫時儲存在分散至 Worker 之前依序載入的資料。

再來 SASHDAT 主要被設計於平行和分散的資料架構,當我們採用 SASHDAT 格式時將能夠有效且快速的重新載入資料至 CAS 中,其主要可以分為 SAS 9 平台的 LASR 和 SAS Viya 平台的 CAS 兩種類型的檔案格式,請注意 SAS 9 平台 LASR 類型中主要僅能以 HDFS 儲存 .sashat,但是在 SAS Viya 平台的 CAS 類型,則主要有三種儲存 .sashdat 的方式,分別為 HDFS、DNFS/Path 和 CAS_DISK_CACHE。

最後 CAS 資料主要是以 HDAT (High-performance DATa) 格式進行呈現,並且由 CAS 資料組成遵循列和變數的 CAS 資料表,以 HDAT 區塊格式同時儲存在記憶體和磁碟中。請注意目前僅有 CAS 能夠讀取和載入 SASHDAT,因此不建議用於整合資料倉儲或資料市集,而適合用於有效且快速載入至 CAS 中的優化操作。至於需要規劃多少 CAS_DISK_CACHE 目錄數,則取決於 CPU 核心數乘以 2 倍,至於空間大小則是預期在記憶體中的 CAS 資料量大小乘以 1.5 倍做為基本的參考資訊。

相關資源

⬅️ Go back