本文是七篇系列文章中的第三篇,提供從 Oracle 移轉至 Azure Synapse Analytics 的指引。 本文的重點在於安全性存取作業的最佳做法。
安全性考量
Oracle 環境提供多種存取與驗證方法,您可能需要在將風險與對使用者的影響降到最低的情況下,將這些方法移轉至 Azure Synapse。 本文假設您希望依原樣移轉現有的連線方法,以及使用者、角色與權限結構。 如果情況並非如此,請使用 Azure 入口網站 建立並管理新的安全性機制。
如需 Azure Synapse 安全性選項的詳細資訊,請參閱 Azure Synapse Analytics 安全性。
連線與驗證
驗證是驗證電腦系統中使用者、裝置或其他實體身分的程序,通常是授與系統中資源存取權的先決條件。
秘訣
Oracle 與 Azure Synapse 中的驗證都可以是在資料庫內,或透過外部方法進行。
Oracle 授權選項
Oracle 系統為資料庫使用者提供下列驗證方法:
資料庫驗證:使用資料庫驗證時,Oracle 資料庫會管理使用者帳戶並驗證使用者。 為了讓 Oracle 資料庫執行驗證,系統會為新使用者產生密碼,並以加密格式儲存密碼。 使用者可隨時變更其密碼。 Oracle 建議透過帳戶鎖定、密碼使用期限與到期、密碼歷程記錄,以及密碼複雜度驗證來管理密碼。 資料庫驗證常見於較舊的 Oracle 安裝環境。
外部驗證:使用外部驗證時,Oracle 資料庫會維護使用者帳戶,並由外部服務執行密碼管理與使用者驗證。 外部服務可以是作業系統,或像是 Oracle Net 的網路服務。 資料庫會依賴底層作業系統或網路驗證服務來限制資料庫帳戶的存取。 此類型的登入不會使用資料庫密碼。 外部驗證有兩種選項:
作業系統驗證:根據預設,Oracle 會要求作業系統所驗證的登入使用安全連線,以防止遠端使用者透過網路連線冒充作業系統使用者。 此需求會排除使用 Oracle Net 與共用伺服器組態。
網路驗證:可使用多種網路驗證機制,例如智慧卡、指紋、Kerberos 以及作業系統。 許多網路驗證服務 (例如 Kerberos) 支援單一登入,讓使用者需要記住的密碼更少。
全域驗證與授權:使用全域驗證與授權時,您可以在以 LDAP 為基礎的目錄服務中,集中管理與使用者相關的資訊,包括授權。 系統會將使用者在資料庫中識別為全域使用者,這表示系統會透過 TLS/SSL 驗證使用者,且使用者管理會在資料庫外進行。 集中式目錄服務會執行使用者管理。 此方法會使用 TLS/SSL、Kerberos 或 Windows 原生驗證提供強式驗證,並可在整個企業中集中管理使用者與特殊權限。 由於不需要在企業中的每個資料庫為每位使用者建立結構描述,因此管理會更容易。 同時也支援單一登入,因此使用者只需登入一次即可存取多個資料庫與服務。
重要事項
Azure 將自 2024 年 11 月起開始淘汰較舊的 TLS 版本 (TLS 1.0 和 TLS 1.1)。 請使用 TLS 1.2 或 (含) 以上版本。 在 2025 年 3 月 31 日之後,您將無法再將 Azure Synapse Analytics 用戶端連線的最低 TLS 版本設為低於 TLS 1.2。 在此日期之後,使用低於 TLS 1.2 版本的連線所進行的登入嘗試將會失敗。 如需詳細資訊,請參閱公告:Azure 對 TLS 1.0 與 TLS 1.1 的支援即將結束。
Proxy 驗證與授權:您可以指定中介層伺服器,以安全的方式為用戶端進行 Proxy。 Oracle 提供多種 Proxy 驗證選項,例如:
中介層伺服器可以向資料庫伺服器驗證自身身分。 用戶端 (在此情況下為應用程式使用者或另一個應用程式) 會向中介層伺服器驗證自身身分。 用戶端身分可以一路維持到資料庫層級。
用戶端 (在此情況下為資料庫使用者) 不會由中介層伺服器進行驗證。 用戶端的身分與資料庫密碼會透過中介層伺服器傳遞至資料庫伺服器進行驗證。
用戶端 (在此情況下為全域使用者) 會由中介層伺服器進行驗證,並透過中介層傳遞可辨別名稱 (DN) 或憑證,以取得用戶端的使用者名稱。
Azure Synapse 授權選項
Azure Synapse 支援兩種基本的連線與授權選項:
SQL 驗證:SQL 驗證會使用包含資料庫識別碼、使用者 ID 與密碼的資料庫連線,並可包含其他選用參數。 此驗證方法在功能上等同於 Oracle 的資料庫驗證。
Microsoft Entra 驗證:使用 Microsoft Entra 驗證時,您可以在單一位置集中管理資料庫使用者與 Microsoft 服務的身分。 集中式管理可提供單一位置來管理 Azure Synapse 使用者,並簡化權限管理。 Microsoft Entra 驗證支援連線至 LDAP 與 Kerberos 服務。 例如,如果資料庫移轉後仍需保留現有的 LDAP 目錄,您可以使用 Microsoft Entra 驗證來連線至這些目錄。
使用者、角色與權限
Oracle 與 Azure Synapse 都會透過使用者、角色與權限的組合來實作資料庫存取控制。 您可以使用標準 SQL 陳述式 CREATE USER 與 CREATE ROLE/GROUP 來定義使用者與角色。
GRANT 與 REVOKE 陳述式可用來指派或移除使用者及/或角色的權限。
秘訣
成功的移轉專案必須進行完善的規劃。 請從高階方法的決策開始。
在概念上,Oracle 與 Azure Synapse 資料庫相似,在某種程度上可以自動化移轉現有的使用者 ID、群組與權限。 請先從 Oracle 系統目錄資料表擷取舊版使用者與群組資訊,接著產生對應且等效的 CREATE USER 與 CREATE ROLE 陳述式。 在 Azure Synapse 中執行這些陳述式,以重新建立相同的使用者/角色階層。
秘訣
如果可行,請自動化移轉流程,以縮短經過時間並降低錯誤風險。
在資料擷取之後,請使用 Oracle 系統目錄資料表產生等效的 GRANT 陳述式,以在存在等效項目時指派權限。
使用者與角色
Oracle 系統中目前的使用者與群組資訊會儲存在系統目錄檢視中,例如 ALL_USERS 與 DBA_USERS。 您可以透過 Oracle SQL*Plus 或 Oracle SQL Developer,以一般方式查詢這些檢視。 下列查詢為基本範例:
--List of users
select * from dba_users order by username;
--List of roles
select * from dba_roles order by role;
--List of users and their associated roles
select * from user_role_privs order by username, granted_role;
Oracle SQL Developer 具有內建選項,可在報告窗格中顯示使用者與角色資訊,如下列螢幕擷取畫面所示。
您可以修改範例 SELECT 陳述式,以產生一組由 CREATE USER 與 CREATE GROUP 陳述式所組成的結果集。 若要這樣做,請在 SELECT 陳述式中將適當的文字納入為常值。
由於無法擷取現有的 Oracle 密碼,因此您需要實作一個配置機制,在 Azure Synapse 上指派新的初始密碼。
秘訣
資料倉儲的移轉不僅需要移轉資料表、檢視與 SQL 陳述式。
權限
在 Oracle 系統中,DBA_ROLE_PRIVS 系統檢視會保存使用者與角色的存取權限。 如果您具有 SELECT 存取權,便可查詢該檢視以取得系統中目前定義的存取權限清單。 下列 Oracle SQL Developer 螢幕擷取畫面顯示一個存取權限清單的範例。
您也可以建立查詢,以根據現有的 Oracle 特殊權限,產生用於 Azure Synapse 的指令碼,此指令碼是一系列的 CREATE 與 GRANT 陳述式。 下列 Oracle SQL Developer 螢幕擷取畫面顯示該指令碼的範例。
此資料表列出並描述檢視使用者、角色與特殊權限資訊所需的資料字典檢視。
| 檢視 | 描述 |
|---|---|
| DBA_COL_PRIVS ALL_COL_PRIVS USER_COL_PRIVS |
DBA 檢視會描述資料庫中所有資料行物件授與。 ALL 檢視會描述目前使用者或 PUBLIC 為物件擁有者、授與者或受授與者的所有資料行物件授與。 USER 檢視會描述目前使用者為物件擁有者、授與者或受授與者的資料行物件授與。 |
| ALL_COL_PRIVS_MADE USER_COL_PRIVS_MADE |
ALL 檢視會列出目前使用者為物件擁有者或授與者的資料行物件授與。 USER 檢視會描述目前使用者為授與者的資料行物件授與。 |
| ALL_COL_PRIVS_RECD USER_COL_PRIVS_RECD |
ALL 檢視會描述目前使用者或 PUBLIC 為受授與者的資料行物件授與。 USER 檢視會描述目前使用者為受授與者的資料行物件授與。 |
| DBA_TAB_PRIVS ALL_TAB_PRIVS USER_TAB_PRIVS |
DBA 檢視會列出資料庫中所有物件上的所有授與。 ALL 檢視會列出使用者或 PUBLIC 為受授與者之物件上的授與。 USER 檢視會列出目前使用者為受授與者之所有物件上的授與。 |
| ALL_TAB_PRIVS_MADE USER_TAB_PRIVS_MADE |
ALL 檢視會列出目前使用者所做的物件授與,或是在目前使用者所擁有物件上所做的物件授與。 USER 檢視會列出目前使用者所擁有之所有物件上的授與。 |
| ALL_TAB_PRIVS_RECD USER_TAB_PRIVS_RECD |
ALL 檢視會列出使用者或 PUBLIC 為受授與者的物件授與。 USER 檢視會列出目前使用者為受授與者的物件授與。 |
| DBA_ROLES | 此檢視會列出資料庫中存在的所有角色。 |
| DBA_ROLE_PRIVS USER_ROLE_PRIVS |
DBA 檢視會列出授與給使用者與角色的角色。 USER 檢視會列出授與給目前使用者的角色。 |
| DBA_SYS_PRIVS USER_SYS_PRIVS |
DBA 檢視會列出授與給使用者與角色的系統特殊權限。 USER 檢視會列出授與給目前使用者的系統特殊權限。 |
| ROLE_ROLE_PRIVS | 此檢視會描述授與給其他角色的角色。 僅提供使用者可存取之角色的相關資訊。 |
| ROLE_SYS_PRIVS | 此檢視會包含授與給角色的系統特殊權限資訊。 僅提供使用者可存取之角色的相關資訊。 |
| ROLE_TAB_PRIVS | 此檢視會包含授與給角色的物件特殊權限資訊。 僅提供使用者可存取之角色的相關資訊。 |
| 工作階段特殊權限 | 此檢視會列出目前為使用者啟用的特殊權限。 |
| SESSION_ROLES | 此檢視會列出目前為使用者啟用的角色。 |
Oracle 支援多種類型的特殊權限:
系統特殊權限:系統特殊權限可讓受授與者在資料庫中執行標準的系統管理工作。 通常只會將這些特殊權限限制給受信任的使用者。 許多系統特殊權限僅適用於 Oracle 作業。
物件特殊權限:每一種類型的物件都具有與其相關的特殊權限。
資料表特殊權限:資料表特殊權限可在資料操作語言 (DML) 或資料定義語言 (DDL) 層級啟用安全性。 您可以將資料表特殊權限直接對應至 Azure Synapse 中的對等項目。
檢視特殊權限:您可以將 DML 物件特殊權限套用至檢視,方式與資料表類似。 您可以將檢視特殊權限直接對應至 Azure Synapse 中的對等項目。
程序特殊權限:程序特殊權限可讓程序 (包括獨立程序與函式) 被授與
EXECUTE特殊權限。 您可以將程序特殊權限直接對應至 Azure Synapse 中的對等項目。型別特殊權限:您可以將系統特殊權限授與具名型別,例如物件型別、
VARRAYs以及巢狀資料表。 這些特殊權限通常僅適用於 Oracle,且在 Azure Synapse 中沒有對等項目。
秘訣
Azure Synapse 針對 DML 與 DDL 等基本資料庫作業提供對等的權限。
下表列出在 Azure Synapse 中具有直接對等項目的常見 Oracle 系統管理特殊權限。
| 系統管理特殊權限 | 描述 | Synapse 對等項目 |
|---|---|---|
| 建立資料庫 | 使用者可以建立資料庫。 對現有資料庫執行作業的權限會由物件特殊權限控管。 | 建立資料庫 |
| [建立]外部表格 | 使用者可以建立外部資料表。 對現有資料表執行作業的權限會由物件特殊權限控管。 | CREATE TABLE |
| [建立]功能 | 使用者可以建立使用者定義函式 (UDF)。 對現有 UDF 執行作業的權限會由物件特殊權限控管。 | CREATE FUNCTION |
| [建立] 角色 | 使用者可以建立群組。 對現有群組執行作業的權限會由物件特殊權限控管。 | 建立角色 |
| [創作]索引 | 僅供系統使用。 使用者無法建立索引。 | 建立索引 |
| [創作]具體化觀點 | 使用者可以建立具體化檢視。 | 建立檢視 |
| [建立]程序 | 使用者可以建立預存程序。 對現有預存程序執行作業的權限會由物件特殊權限控管。 | 建立程序 |
| [建立]架構 | 使用者可以建立結構描述。 對現有結構描述執行作業的權限會由物件特殊權限控管。 | 建立結構描述 |
| [創作]表格 | 使用者可以建立資料表。 對現有資料表執行作業的權限會由物件特殊權限控管。 | CREATE TABLE |
| 建立暫存資料表 | 使用者可以建立暫存資料表。 對現有資料表執行作業的權限會由物件特殊權限控管。 | CREATE TABLE |
| [建立] 使用者 | 使用者可以建立使用者。 對現有使用者執行作業的權限會由物件特殊權限控管。 | 創建使用者 |
| 建立檢視 | 使用者可以建立檢視。 對現有檢視執行作業的權限會由物件特殊權限控管。 | 建立檢視 |
您可以依照本節前述方式,從 Oracle 目錄資料表產生對等的 Azure Synapse 指令碼,以自動化移轉這些特殊權限。
下一個資料表列出在 Azure Synapse 中具有直接對等項目的常見 Oracle 物件特殊權限。
| 物件特殊權限 | 描述 | Synapse 對等項目 |
|---|---|---|
| 修改 | 使用者可以修改物件屬性。 適用於所有物件。 | 修改 |
| 刪除 | 使用者可以刪除資料表中的資料列。 僅適用於資料表。 | 刪除 |
| 卸除 | 使用者可以捨棄物件。 適用於所有物件類型。 | 卸除 |
| 執行 | 使用者可以執行使用者定義函式、使用者定義彙總或預存程序。 | 執行 |
| 插入 | 使用者可以將資料列插入資料表。 僅適用於資料表。 | 插入 |
| 清單 | 使用者可以顯示物件名稱,無論是以清單或其他方式。 適用於所有物件。 | 清單 |
| 選取 | 使用者可以選取 (或查詢) 資料表中的資料列。 適用於資料表與檢視。 | SELECT |
| Truncate | 使用者可以刪除資料表中的所有資料列。 僅適用於資料表。 | TRUNCATE |
| 更新 | 使用者可以修改資料表中的資料列。 僅適用於資料表。 | 更新 |
如需 Azure Synapse 權限的詳細資訊,請參閱資料庫引擎權限。
移轉使用者、角色與特殊權限
到目前為止,我們已說明一種常見方法,使用 CREATE USER、CREATE ROLE 與 GRANT SQL 命令,將使用者、角色與特殊權限移轉至 Azure Synapse。 不過,您不需要將所有具有可授與特殊權限的 Oracle 作業移轉至新環境。 例如,系統管理作業不適用於新環境,或其對等功能會自動執行,或在資料庫外部進行管理。 對於在 Azure Synapse 環境中具有直接對等項目的使用者、角色與部分特殊權限,下列步驟說明移轉程序:
將 Oracle 結構描述、資料表與檢視定義移轉至 Azure Synapse 環境。 此步驟只會移轉資料表定義,不會移轉資料。
從 Oracle 系統資料表擷取要移轉的現有使用者 ID,產生用於 Azure Synapse 的
CREATE USER陳述式指令碼,然後在 Azure Synapse 環境中執行該指令碼。 請找出建立新初始密碼的方法,因為無法從 Oracle 環境中擷取密碼。從 Oracle 系統資料表擷取現有角色,產生用於 Azure Synapse 的對等
CREATE ROLE陳述式指令碼,然後在 Azure Synapse 環境中執行該指令碼。從 Oracle 系統資料表擷取使用者/角色組合,產生在 Azure Synapse 中將角色
GRANT給使用者的指令碼,然後在 Azure Synapse 環境中執行該指令碼。從 Oracle 系統資料表擷取相關的特殊權限資訊,接著產生在 Azure Synapse 中將適當特殊權限
GRANT給使用者與角色的指令碼,然後在 Azure Synapse 環境中執行該指令碼。
操作考量
本節說明如何在將風險與對使用者的影響降到最低的情況下,在 Azure Synapse 中實作典型的 Oracle 作業工作。
如同所有投入生產環境的資料倉儲產品一樣,必須進行持續的管理工作,才能讓系統有效率地運作,並提供用於監視與稽核的資料。 其他作業考量包括資源使用率、未來成長的容量規劃,以及資料的備份與還原。
秘訣
作業工作對於維持任何資料倉儲的高效率運作都不可或缺。
Oracle 的系統管理工作通常分為兩大類:
系統管理:系統管理是對硬體、組態設定、系統狀態、存取、磁碟空間、使用情形、升級及其他工作的管理。
資料庫管理:資料庫管理是對使用者資料庫及其內容、資料載入、資料備份、資料復原,以及資料存取與權限的管理。
Oracle 提供多種方法與介面,供您執行系統與資料庫管理工作:
Oracle Enterprise Manager 是 Oracle 的內部部署管理平台。 它提供單一窗格,用於管理客戶的所有 Oracle 部署,無論是在其資料中心或 Oracle Cloud 中。 透過與 Oracle 產品堆疊的深度整合,Oracle Enterprise Manager 可為 Oracle 應用程式、資料庫、中介軟體、硬體與整合式系統提供管理與自動化支援。
Oracle Instance Manager 提供用於 Oracle 執行個體高階管理的 UI。 Oracle Instance Manager 可執行啟動、關閉與檢視記錄等工作。
Oracle Database Configuration Assistant 是一個 UI,可用來管理與設定各種資料庫功能與特性。
支援在 SQL 資料庫工作階段中執行管理工作與查詢的 SQL 命令。 您可以從 Oracle SQL*Plus 命令解譯器、Oracle SQL Developer UI,或透過 ODBC、JDBC 與 OLE DB Provider 等 SQL API 來執行 SQL 命令。 您必須具備資料庫使用者帳戶,才能執行 SQL 命令,且該帳戶需具備您所執行查詢與工作所需的適當權限。
雖然不同資料倉儲的管理與作業工作在概念上相似,但實際實作方式可能有所不同。 相較於 Oracle 等舊版環境較為手動的方式,Azure Synapse 等現代雲端型產品傾向採用更自動化且由系統管理的方式。
下列各節會比較 Oracle 與 Azure Synapse 在各種作業工作的選項。
清理工作
在大多數舊版資料倉儲環境中,定期的清理工作相當耗時。 您可以透過移除已更新或刪除之資料列的舊版本來回收磁碟儲存空間。 或者,您也可以透過重新組織資料、記錄檔與索引區塊來提升效率並回收磁碟儲存空間,例如在 Oracle 中執行 ALTER TABLE... SHRINK SPACE。
秘訣
清理工作可讓生產環境中的資料倉儲維持高效率運作,並最佳化儲存體與其他資源。
在大量資料擷取之後,必須收集統計資料,這是一項可能相當耗時的工作,其目的在於為查詢最佳化工具提供最新資料,以便產生查詢執行計畫。
Oracle 內建一項功能可協助分析統計資料品質,也就是 Optimizer Statistics Advisor。 此功能會依據一組代表最佳做法的 Oracle 規則來運作,這些規則用於最佳化工具的統計資料。 顧問會檢查每一項規則,並在必要時產生發現結果、建議與動作,這些動作會呼叫 DBMS_STATS 套件以採取修正措施。 使用者可以在 V$STATS_ADVISOR_RULES 檢視中查看規則清單,如下列螢幕擷取畫面所示。
Oracle 資料庫在資料字典中包含許多記錄資料表,這些資料表會自動或在啟用特定功能後累積資料。 由於記錄資料會隨時間成長,請清除較舊的資訊,以避免耗用永久空間。 Oracle 提供可將記錄維護作業自動化的選項。
Azure Synapse 可以自動建立統計資料,確保在需要時即可使用。 您可以手動、依排程,或自動地將索引與資料區塊進行重組。 透過使用 Azure 內建的原生功能,可降低移轉的工作量。
秘訣
請在 Azure 中將清理工作自動化並加以監視。
監視與稽核
Oracle Enterprise Manager 包含可監視一或多個 Oracle 系統各種層面的工具,例如活動、效能、佇列與資源使用率。 Oracle Enterprise Manager 提供互動式 UI,讓使用者可以向下鑽研任何圖表的低階詳細資料。
秘訣
Oracle Enterprise Manager 是 Oracle 系統中建議使用的監視與記錄方法。
下列圖表提供 Oracle 資料倉儲監視環境的概觀。
Azure Synapse 也會在 Azure 入口網站 中提供豐富的監視體驗,以針對資料倉儲工作負載提供深入解析。 Azure 入口網站 是建議用來監視資料倉儲的工具,因為它提供可設定的保留期間、警示、建議,以及可自訂的指標與記錄圖表和儀表板。
秘訣
Azure 入口網站 提供 UI,可用來管理所有 Azure 資料與處理程序的監視與稽核工作。
Azure 入口網站 也能提供效能改善建議,如下列螢幕擷取畫面所示。
入口網站 支援與其他 Azure 監視服務整合,例如 Operations Management Suite (OMS) 與 Azure 監視器,以提供涵蓋資料倉儲與整個 Azure 分析平台的整合式監視體驗。 如需詳細資訊,請參閱 Azure Synapse 作業與管理選項。
高可用性 (HA) 與災害復原 (DR)
自 1979 年首次發行以來,Oracle 環境已逐步演進,納入企業客戶所需的眾多功能,包括高可用性 (HA) 與災害復原 (DR) 的選項。 此領域中最新的公告是 Maximum Availability Architecture (MAA),其中包含四個層級的 HA 與 DR 參考架構:
- Bronze 層級:單一執行個體的 HA 架構
- Silver 層級:具備自動容錯移轉的 HA
- Gold 層級:完整的 HA 與 DR
- Platinum 層級:適用於白金等級應用程式的零中斷
Azure Synapse 會使用資料庫快照來提供資料倉儲的 HA。 資料倉儲快照會建立一個還原點,讓您可以將資料倉儲還原至先前的狀態。 由於 Azure Synapse 是分散式系統,資料倉儲快照會由儲存在 Azure 儲存體中的多個檔案所組成。 快照會擷取儲存在資料倉儲中的遞增變更。
秘訣
Azure Synapse 會自動建立快照,以確保快速的復原時間。
Azure Synapse 會在一天中自動建立快照,並建立可供七天使用的還原點。 您無法變更此保留期間。 Azure Synapse 支援八小時的復原點目標 (RPO)。 您可以使用過去七天內建立的任何一個快照,在主要區域中還原資料倉儲。
秘訣
您可以使用使用者定義的快照,在關鍵更新之前定義復原點。
Azure Synapse 支援使用者定義的還原點,這些還原點會從手動觸發的快照建立。 在大型資料倉儲修改之前與之後建立還原點,可確保還原點在邏輯上一致。 使用者定義的還原點可強化資料保護,並在發生工作負載中斷或使用者錯誤時縮短復原時間。
除了快照之外,Azure Synapse 每天還會執行一次標準的異地備份,將資料備份至配對的資料中心。 異地還原的 RPO 為 24 小時。 您可以將異地備份還原至任何支援 Azure Synapse 的區域中的伺服器。 異地備份可確保在主要區域中的還原點無法使用時,仍可還原資料倉儲。
秘訣
Microsoft Azure 會提供自動備份至不同的地理位置,以啟用災害復原 (DR)。
工作負載管理
Oracle 提供 Enterprise Manager 與 Database Resource Manager (DBRM) 等公用程式來管理工作負載。 這些公用程式包含在大型叢集之間進行負載平衡、平行查詢執行、效能量測與優先順序設定等功能。 其中許多功能可以自動化,使系統在某種程度上成為自我調校。
秘訣
典型的生產環境資料倉儲會同時執行具有不同資源使用特性的混合工作負載。
Azure Synapse 會自動記錄資源使用率統計資料。 指標包含每個查詢的 CPU、記憶體、快取、I/O 與暫存工作區使用量統計。 Azure Synapse 也會記錄連線資訊,例如失敗的連線嘗試。
秘訣
低階與全系統層級的指標會在 Azure 中自動記錄。
在 Azure Synapse 中,資源類別是預先定義的資源限制,用來控管查詢執行的計算資源與並行。 資源類別可透過設定可同時執行的查詢數量,以及指派給每個查詢的計算資源,協助您管理工作負載。 記憶體與並行之間存在取捨。
Azure Synapse 支援下列基本的工作負載管理概念:
工作負載分類:您可以將要求指派至工作負載群組,以設定重要性層級。
工作負載重要性:您可以影響要求取得資源的順序。 根據預設,當資源可用時,查詢會依先進先出順序從佇列中釋放。 工作負載重要性可讓高優先順序的查詢不受佇列限制,立即取得資源。
工作負載隔離:您可以為工作負載群組保留資源,為不同資源指派最大與最小使用量,限制一組要求可耗用的資源,並設定逾時值以自動終止失控的查詢。
在繁忙的系統上執行混合工作負載可能會帶來資源方面的挑戰。 成功的工作負載管理方案可有效管理資源,確保高度有效率的資源使用率,並將投資報酬率 (ROI) 最大化。 工作負載分類、工作負載重要性與工作負載隔離,可讓您更有效控管工作負載如何使用系統資源。
您可以使用 Azure Synapse 所收集的工作負載指標來進行容量規劃,例如用來判斷額外使用者或更大型應用程式工作負載所需的資源。 您也可以使用工作負載指標來規劃計算資源的擴展或縮減,以具成本效益的方式支援尖峰工作負載。
工作負載管理指南說明分析工作負載的技術、管理與監視工作負載重要性的方法](../../sql-data-warehouse/sql-data-warehouse-how-to-manage-and-monitor-workload-importance.md),以及將資源類別轉換為工作負載群組的步驟。 請使用 Azure 入口網站與 DMV 上的 T-SQL 查詢來監視工作負載,以確保適用的資源能夠有效率地使用。 Azure Synapse 提供一組動態管理檢視 (DMV),可用來監視工作負載管理的各個層面。 這些檢視在主動進行疑難排解與識別工作負載中的效能瓶頸時非常實用。
如需 Azure Synapse 中工作負載管理的詳細資訊,請參閱使用資源類別進行工作負載管理。
擴展計算資源
Azure Synapse 架構會將儲存體與計算分離,讓兩者可以獨立擴展。 因此,計算資源可以獨立於資料儲存體之外進行擴展,以符合效能需求。 您也可以暫停和繼續計算資源。 此架構的另一項優點是,計算與儲存體的計費是分開的。 如果資料倉儲未使用,您可以暫停計算以節省計算成本。
秘訣
Azure 的一大優勢在於能夠依需求獨立擴展或縮減計算資源,以具成本效益的方式處理尖峰工作負載。
您可以透過調整資料倉儲的 資料倉儲單位 (DWU) 設定,來擴展或縮減計算資源。 隨著配置更多 DWU,載入與查詢效能將會線性提升。
當您增加 DWU 時,計算節點數量會增加,進而提供更多計算能力並支援更多平行處理。 隨著計算節點數量增加,每個計算節點的發佈項目數量會減少,讓查詢能獲得更多計算能力與平行處理。 同樣地,當您降低 DWU 時,計算節點數量會減少,進而降低可供查詢使用的計算資源。
後續步驟
如需進一步了解視覺化與報表,請參閱本系列的下一篇文章:Oracle 移轉的視覺化與報表。