Leo Yeh's Blog

SAS Viya (42)

教學目標

初步了解 SAS Viya 中有關資料傳輸的基本概念。

重點概念

首先在 SAS Viya 3.4 平台中主要是以 SASHDAT 檔案格式進行高效能的資料存取,主要儲存在 HDFS 和 DNFS 中,以及在 SAS Viya 3.4 平台中所設定 CAS_CACHE_DISK 目錄中所有資料的儲存皆是以 SASHDAT 檔案格式進行儲存。其中 CAS_DISK_CACHE 主要會考慮 CAS 中的總記憶體空間,以利協助確認 CAS 能夠有效處理大量的資料,我們將會在每台 CAS 主機設定 CAS_DISK_CACHE,而 CAS Worker 則使用 Memory-mapping 設定 CAS_DISK_CACHE 當成暫時返回儲存的空間,以利達到 Failover 的機制。

接著在作業系統直接關聯記憶體空間至磁碟位置的處理程序我們稱為 Memory-mapping,請注意所有在記憶體中的資料皆為 SASHDAT 檔案格式,並且 CAS 將會確保任何 In-memory 資料皆是可用以利返回儲存至記憶體中,因此 CAS 主要依賴 Memory-mapping 記憶體管理程序確保記憶體中的 SASHDAT 資料可從磁碟中進行存取,至於當資料從記憶體移至磁碟中則是作業系統所負責的工作。而在 In-memory 空間中儲存資料表、存取控制清單和資料來源資訊,則是 CAS 函式庫,也就是 CASLIBS,所有可用的資料主要會透過 CASLIBS 載入至 CAS 中。

再來 CAS 提供非常有彈性的架構能夠直接存取不同類型的資料,其中移動資料至 CAS 中主要有三種類型,分別為:

  1. CAS Platform Data
  2. SAS Data Connectors
  3. SAS Data Connectors Accelerators

所謂 CAS Platform Data 主要是直接存取在 CAS 資料來源中的資料,無須其它 SAS 軟體產品,而是以第三方資料來源客戶端軟體為主,像是 Path、DNFS、HDFS、SAS LASR Analytic Server、Amazon S3 等。所謂 SAS Data Connectors 主要提供 CAS 有能力直接以序列或多節點的方式存取資料,像是 Hadoop、Oracle、Microsoft SQL Server、SAP HANA、Teradata、ODBC、JDBC、… 等。所謂 SAS Data Connect Accelerators 主要提供 CAS 有能力與 SAS In-Database Embededed Process 以平行的方式存取資料,像是 Hadoop、Teradata、Spark、…等。

最後 SAS/CONNECT 主要是提供 SAS Viya 與 SAS 9.4 之間進行資料傳輸服務、運算服務和遠端函式庫服務,請注意在 SAS 9.4M5 中則提供 CAS LIBNAME 引擎將能夠允許我們直接在 Base SAS 與 CAS 之間移動資料,而不需要依賴 SAS/CONNECT 了。請注意若是沒有 SAS/CONNECT 授權,則 SAS Enterprise Guide 僅能以撰寫 CAS LIBNAME 程式的方式存取 CAS 中的資料,而無法使用介面操作進行設定。

相關資源

⬅️ Go back