本文是七部分系列的第四部分,提供如何從 Oracle 遷移至 Azure Synapse Analytics 的指引。 本文的重點在於視覺效果和報告的最佳作法。
使用Microsoft和第三方 BI 工具存取 Azure Synapse Analytics
組織會使用各種商業智慧 (BI) 工具和應用程式來存取數據倉儲和數據超市。 BI 產品的一些範例如下:
Microsoft BI 工具,例如 Power BI。
Office 應用程式,例如Microsoft Excel 電子表格。
來自不同廠商的第三方 BI 工具。
具有內嵌 BI 工具功能的自訂分析應用程式。
在 BI 平台上執行查詢和報表,進而查詢數據倉儲或數據超市中的數據,以支援隨選 BI 的作業應用程式。
互動式數據科學開發工具,例如 Azure Synapse Spark Notebook、Azure Machine Learning、RStudio 和 Jupyter Notebook。
如果您在數據倉儲移轉過程中移轉視覺效果和報告,BI 產品所產生的所有現有查詢、報表和儀錶板都必須在新環境中執行。 您的 BI 產品必須在 Azure Synapse 上產生與舊版數據倉儲環境中的結果相同。
若要在移轉之後取得一致的結果,所有 BI 工具和應用程式相依性都必須在將數據倉儲架構和數據遷移至 Azure Synapse 之後運作。 相依性包含較不可見的層面,例如存取和安全性。 當您處理存取和安全性時,請確保您進行移轉:
驗證可讓使用者登入 Azure Synapse 上的資料倉儲和數據超市資料庫。
所有使用者移至 Azure Synapse。
將所有使用者群組添加至 Azure Synapse。
所有角色到 Azure Synapse。
管轄 Azure Synapse 存取控制的所有授權權限。
在遷移之前,將依據您現有數據倉儲中的設定,對應使用者、角色和權限的指派。 例如:
- 指派給角色的資料庫物件許可權
- 指派給使用者群組的角色
- 屬於使用者群組和/或角色的使用者
存取和安全性是移轉系統中數據存取的重要考慮,在 Oracle 移轉的安全性、存取和作業中會更詳細地討論。
小提示
必須先移轉現有的使用者、使用者群組、角色和存取安全性許可權指派,才能成功移轉報表和視覺效果。
遷移所有必要的數據,以確保在舊版環境中查詢數據的報表和儀錶板在 Azure Synapse 中產生相同的結果。
商務使用者預期會順暢地進行移轉,且不會意外地破壞他們對 Azure Synapse 上已移轉系統的信心。 請小心消除您的使用者可能透過良好溝通而產生的任何恐懼。 您的使用者會預期:
直接在查詢中參考時,數據表結構會維持不變。
直接在查詢中參考時,數據表和數據行名稱會維持不變。 例如,BI 工具中的欄上定義的計算欄位在產生匯總報表時不應該失敗。
歷史分析保持不變。
可能的話,數據類型會維持不變。
查詢行為維持不變。
ODBC/JDBC 驅動程序已經過測試,以確保查詢行為維持不變。
小提示
通訊和商務用戶參與對於成功至關重要。
如果在基礎資料倉儲或資料集市資料庫中的 BI 工具查詢檢視,這些檢視在遷移後是否仍會運作? 如果有些檢視使用了您的舊版資料倉儲 DBMS 中特有的 SQL 擴充功能,而這些功能在 Azure Synapse 中沒有對應項目,則這些檢視可能無法正常運作。 如果是這樣,您需要知道這些不相容之處,並找到解決它們的方法。
小提示
使用專有 SQL 查詢擴充功能的檢視和 SQL 查詢可能會導致不相容性,並影響 BI 報表和儀表板。
其他問題,例如NULL 值的行為或跨資料庫管理系統的數據類型變化,必須進行測試,以確保計算結果中甚至沒有輕微的差異。 將這些問題降到最低,並採取所有必要的步驟,保護商務使用者不受其影響。 根據您的舊版數據倉儲環境,第 三方 工具可協助隱藏舊版和新環境之間的差異,讓 BI 工具和應用程式執行不變。
測試對於視覺效果和報表移轉至關重要。 您需要測試套件和已同意的測試數據,才能在這兩個環境中執行和重新執行測試。 測試工具也很有用,本指南中提及了幾個。 此外,請務必讓商務用戶參與移轉的測試階段,以保持信心,並保持他們的參與和投入。
小提示
使用可重複的測試來確保報表、儀錶板和其他視覺效果已成功移轉。
您可能會考慮切換 BI 工具,例如 移轉至 Power BI。 誘惑是在遷移架構、數據、ETL 處理等的同時,進行這類變更。 不過,若要將風險降到最低,最好先移轉至 Azure Synapse,並在進行進一步現代化之前讓一切正常運作。
如果您的現有 BI 工具在內部部署執行,請確定它們可以透過防火牆連線到 Azure Synapse,以便您可以針對這兩個環境執行比較。 或者,如果現有 BI 工具的廠商在其 Azure 上提供其產品,您可以在那裡試用。 同樣適用於執行內部部署的應用程式,這些應用程式會內嵌 BI 或視需要呼叫 BI 伺服器,例如透過使用 XML 或 JSON 資料要求「無前端報表」。
這裡有很多可想的,所以讓我們仔細看看。
使用數據虛擬化將移轉對 BI 工具和報表的影響降到最低
在移轉期間,您可能會想要滿足長期需求,例如開啟商務要求、新增遺漏數據或實作新功能。 不過,這類變更可能會影響 BI 工具對數據倉儲的存取,特別是當變更涉及數據模型的結構變更時。 如果您想要採用敏捷式數據模型化技術或實作結構變更,請在移轉 之後 執行此動作。
將架構變更或其他結構變更對 BI 工具的影響降到最低的方法之一,就是在 BI 工具與數據倉儲和數據超市之間引入數據虛擬化。 下圖顯示數據虛擬化如何隱藏使用者移轉。
資料虛擬化打破了業務用戶對使用自助 BI 工具時,與基礎資料倉儲及即將移轉的資料集市的實體架構之間的相依性。
小提示
數據虛擬化可讓您在移轉期間保護商務使用者免於結構變更,因此他們仍然不知道這些變更。 結構變更包括優化 Azure Synapse 中的數據模型的架構。
透過數據虛擬化,在移轉至 Azure Synapse 期間所做的任何架構變更,例如將效能優化,都可以從商務使用者隱藏,因為它們只能存取數據虛擬化層中的虛擬數據表。 而且,如果您進行結構變更,只需要更新資料倉庫或資料集市與任何虛擬資料表之間的對應即可。 透過數據虛擬化,使用者仍然不知道結構變更。 Microsoft合作夥伴 提供數據虛擬化軟體。
識別要先移轉的高優先順序報告
將現有的報表和儀錶板移轉至 Azure Synapse 時,有一個關鍵問題,就是要先移轉哪些報表和儀錶板。 數個因素可能會推動該決策,例如:
用法
商業價值
易於移轉
數據遷移策略
下列各節將討論這些因素。
無論您的決策為何,它都必須牽涉到您的商務使用者,因為它們會產生報表、儀錶板和其他視覺效果,並根據這些專案的深入解析做出商務決策。 每個人都能受益當您可以:
- 順暢地遷移報表和儀錶板
- 以最少的努力遷移報表和儀錶板。
- 將 BI 工具指向 Azure Synapse,而不是舊版數據倉儲系統,並取得類似報表、儀錶板和其他視覺效果。
根據使用量移轉報表
使用方式通常是商業價值指標。 未使用的報表和儀錶板顯然不會參與商務決策或提供目前的價值。 如果您沒有辦法找出哪些報表和儀錶板未使用,您可以使用提供使用量統計數據的數個 BI 工具之一。
如果您的舊版數據倉儲已運行多年,您很有可能有成百上千份報告已經存在。 值得編製報表和儀錶板的清單,並識別其商務用途及使用統計。
針對未使用的報告,判斷是否要將其退役,以減少您的遷移工作。 決定是否解除委任未使用報表的一個關鍵問題是報表是否未使用,因為人們不知道報表存在、因為它沒有商業價值,或是因為報表已被另一份報表取代。
根據業務價值遷移報表
單獨使用不一定是商業價值的良好指標。 您可能想要考慮報表見解對商業價值的貢獻程度。 其中一種方法是評估依賴報表的每個商務決策的獲利率,以及依賴程度。 不過,大部分組織中不太可能隨時提供該資訊。
評估商務價值的另一種方式是查看報表與商務策略的對齊方式。 您的主管所設定的商業策略通常會配置策略性商業目標(SBOs)、關鍵績效指標(KPIs)、需要達成的 KPI 目標,以及誰負責實現這些目標。 您可以根據報表所貢獻的戰略業務目標(如減少詐騙、改善客戶參與度和優化業務運作)進行分類。 然後,您可以優先移轉與高優先順序目標相關聯的報表和儀錶板。 如此一來,初始移轉就可以在策略區域中提供商業價值。
評估商務價值的另一種方式是將報表和儀錶板分類為作業、戰術或策略,來識別其所使用的商務層級。 小型企業主需要在所有這些層級上有所貢獻。 藉由了解使用哪些報表和儀表板、使用它們的層級,以及它們所關聯的目標,您可以將初始移轉專注於高優先級的商業價值。 您可以使用下列 商務策略目標 表格來評估報告和儀表板。
| 等級 | 報表/ 儀錶板名稱 | 商務用途 | 使用部門 | 使用頻率 | 商務優先順序 |
|---|---|---|---|---|---|
| 戰略的 | |||||
| 戰術的 | |||||
| 正常運行 |
Azure 資料目錄之類的元數據探索工具可讓商務用戶標記和評分數據源,以擴充這些數據源的元數據,以協助其探索和分類。 您可以使用報表或儀錶板的元數據來協助您瞭解其商業價值。 如果沒有這類工具,無論您是否要移轉,瞭解報表和儀錶板對商務價值的貢獻,都可能是一項耗時的工作。
根據數據遷移策略移轉報表
如果您的移轉策略是以先移轉數據超市為基礎,則數據超市移轉的順序會影響哪些報表和儀錶板會先移轉。 如果您的策略是以商業價值為基礎,您將數據超市移轉至 Azure Synapse 的順序將反映商務優先順序。 元數據探索工具可協助您執行策略,方法是顯示哪些資料集市中的數據表提供報表所需的數據。
小提示
您的數據遷移策略會影響哪些報表和視覺效果會先移轉。
可能會影響報表和視覺效果的移轉不相容問題
BI 工具會發出 SQL 查詢,以存取數據倉儲或數據超市中的實體數據表和/或檢視,以產生報表、儀錶板和其他視覺效果。 當您將舊版數據倉儲移轉至 Azure Synapse 時,有數個因素可能會影響報表、儀錶板和其他視覺效果的移轉便利性。 這些因素包括:
環境之間的架構不相容。
環境之間的 SQL 不相容。
架構不相容
在移轉期間,數據倉儲或提供報表、儀錶板和其他視覺效果數據的數據超市數據表中的架構不相容可以是:
舊版數據倉儲 DBMS 中的非標準表格類型在 Azure Synapse 中沒有對應的等價類型。
舊版資料倉儲 DBMS 中的資料類型在 Azure Synapse 中沒有對應。
在大部分情況下,對於不相容性有解決方法。 例如,您可以將不支援資料表類型中的數據遷移至具有適當數據類型的標準數據表,並在日期/時間數據行上編製索引或分割。 同樣地,在另一種數據行中代表不支持的數據類型,並在 Azure Synapse 中執行計算,以達到相同的結果。
小提示
架構不相容包括舊版倉儲 DBMS 數據表類型和 Azure Synapse 上不支援的數據類型。
若要識別受架構不相容影響的報表,請針對舊版數據倉儲的系統目錄執行查詢,以識別具有不支援數據類型的數據表。 然後,您可以使用 BI 工具中的元數據來識別存取這些數據表中數據的報表。 如需如何識別物件類型不相容的詳細資訊,請參閱 不支援的 Oracle 資料庫物件類型。
小提示
查詢舊版倉儲 DBMS 的系統目錄,以識別與 Azure Synapse 不相容的架構。
架構不相容對報表、儀錶板和其他視覺效果的影響可能比您想像的要少,因為許多 BI 工具不支援較不通用的數據類型。 因此,您的舊版數據倉儲可能已有將不支援的數據類型轉換為較泛型型別的檢視CAST。
SQL 不相容
在移轉期間,SQL 不相容可能會影響應用程式或工具中的任何報表、儀錶板或其他視覺效果:
存取舊版數據倉儲 DBMS 檢視,其中包含在 Azure Synapse 中沒有對等的專屬 SQL 函式。
發出包含專有的 SQL 函數的 SQL 查詢,這些函數特定於您舊版環境的 SQL 方言,而在 Azure Synapse 中沒有對應的功能。
評估 SQL 不相容性對報告組合的影響
您的報表組合可能包含內嵌查詢服務、報表、儀錶板和其他視覺效果。 請勿依賴與這些項目相關聯的文件來測量 SQL 不相容對將報表組合移轉至 Azure Synapse 的影響。 您必須使用更精確的方法來評估 SQL 不相容的影響。
使用 EXPLAIN 語句來尋找 SQL 不相容
您可以檢閱舊版 Oracle 數據倉儲中最近 SQL 活動的記錄,以尋找 SQL 不相容。 使用腳本將一組具代表性的 SQL 語句擷取至檔案。 然後,在每個 SQL 語句前面加上 語句 EXPLAIN ,然後在 Azure Synapse 中執行這些 EXPLAIN 語句。 執行 EXPLAIN 語句時,Azure Synapse 將會拒絕任何包含專屬不支援 SQL 延伸功能的 SQL 語句。 此方法可讓您評估 SQL 不相容的程度。
舊版數據倉儲 DBMS 的元數據也可以協助您識別不相容的檢視。 和之前一樣,從適用的記錄中擷取一組具代表性的 SQL 語句、在每一個 EXPLAIN SQL 語句前面加上語句,然後在 Azure Synapse 中執行這些 EXPLAIN 語句,以識別具有不相容 SQL 的檢視。
小提示
藉由收集 DBMS 記錄檔和執行 EXPLAIN 語句來測量 SQL 不相容的影響。
測試報表及儀錶板遷移至 Azure Synapse Analytics
數據倉儲移轉的關鍵元素是測試 Azure Synapse 中的報表和儀錶板,以確認移轉是否正常運作。 針對您將執行的每個測試定義一系列測試和一組必要結果,以驗證成功。 測試並比較現有和已移轉的數據倉儲系統中的報告和儀表板,以:
識別移轉期間所做的任何架構變更是否會影響報表執行、報表結果或對應的報表視覺效果的能力。 架構變更的範例是,如果您將不相容的數據類型對應至 Azure Synapse 中支援的對等數據類型。
確認所有使用者都已移轉。
確認已移轉所有角色,並將使用者指派給這些角色。
確認所有資料存取安全性許可權都已移轉,以確保存取控制清單 (ACL) 移轉。
確保所有已知查詢、報表和儀錶板的結果一致。
請確定資料和 ETL 移轉已完成且無錯誤。
請確定會維持數據隱私權。
測試效能和延展性。
測試分析功能。
小提示
測試和微調效能,以將計算成本降至最低。
如需如何移轉使用者、使用者群組、角色和許可權的相關信息,請參閱 Oracle 移轉的安全性、存取和作業。
盡可能自動化測試,讓每個測試可重複,並支援評估測試結果的一致方法。 自動化適用於已知的一般報告,並可透過 Azure Synapse 管線 或 Azure Data Factory 協調流程來管理。 如果您已經有一套用於回歸測試的測試查詢,您可以使用現有的測試工具來自動化移轉后測試。
小提示
最佳做法是建置自動化測試套件,讓測試可重複執行。
臨機作分析和報告更具挑戰性,需要編譯一組測試,以驗證移轉前後的相同報表和儀錶板是否一致。 如果您發現不一致,則在移轉測試期間比較元數據譜系與移轉系統的能力就變得至關重要。 當其他檢測方法難以奏效時,該比較可以彰顯出差異,並找出不一致之處的來源。
小提示
利用比較元數據譜系以驗證結果的工具。
分析譜系以瞭解報表、儀錶板和數據之間的相依性
您對譜系的理解是成功移轉報表和儀錶板的重要因素。 譜系是顯示已移轉數據旅程的元數據,讓您可以一路從報表或儀錶板追蹤其路徑回到數據源。 譜系顯示數據如何從點到點移動、數據倉儲和/或數據超市中的位置,以及哪些報表和儀錶板使用它。 譜系可協助您了解數據在經過不同數據存放區時會發生什麼情況,例如檔案和資料庫、不同的 ETL 管線,以及報表。 當商務用戶能夠存取數據譜系時,它會改善信任、灌輸信心,並支援明智的商務決策。
小提示
您從報表一路回到數據來源存取元數據和數據譜系的能力對於確認移轉的報表是否正常運作至關重要。
在多廠商數據倉儲環境中,BI 小組中的商務分析師可能會對應出數據譜系。 例如,如果您針對 ETL、數據倉儲和報告使用不同的廠商,而且每個廠商都有自己的元數據存放庫,則找出報表中特定數據元素的來源可能具有挑戰性且耗時。
小提示
自動化元數據集合,並在多廠商環境中顯示端對端譜系的工具在移轉期間很有價值。
若要順暢地從舊版數據倉儲移轉至 Azure Synapse,請在比較每個環境所產生的報表和儀錶板時,使用端對端數據譜系來證明類似移轉。 若要顯示端對端資料旅程圖,您必須從數個工具擷取和整合元數據。 能夠存取支援自動化元數據探索和數據譜系的工具,可協助您識別重複的報表或 ETL 程式,並尋找依賴過時、可疑或不存在數據源的報表。 您可以使用該資訊來減少您移轉的報表和 ETL 程式數目。
您也可以比較 Azure Synapse 中報表的端對端譜系與舊版環境中相同報表的端對端譜系,以檢查移轉期間可能發生的差異。 當您需要測試和驗證移轉成功時,這種類型的比較特別有用。
數據譜系視覺效果不僅可減少移轉程式中的時間、精力和錯誤,還能加快移轉速度。
使用自動化元數據探索和數據譜系工具比較數據譜系,您可以驗證在 Azure Synapse 中從移轉的資料產生的報表與您的舊版環境中產生的方式相同。 這項功能也可協助您判斷:
需要移轉哪些數據,以確保 Azure Synapse 中的報表和儀錶板執行成功。
應該執行哪些轉換,以確保在 Azure Synapse 中成功執行。
如何減少報表重複。
自動化元數據探索和數據譜系工具可大幅簡化移轉程式,因為它們可協助企業更瞭解其數據資產,並知道需要移轉至 Azure Synapse 什麼才能達成穩固的報告環境。
數個 ETL 工具提供端對端譜系功能,因此,如果您打算將它與 Azure Synapse 搭配使用,請檢查現有的 ETL 工具是否具有該功能。 Azure Synapse 管線和 Data Factory 都支援在映射流中檢視血統。 Microsoft合作夥伴 也提供自動化元數據探索、數據譜系和譜系比較工具。
將 BI 工具語意層遷移至 Azure Synapse Analytics
某些 BI 工具具有所謂的語意元數據層。 該層可簡化企業使用者存取數據倉儲或數據超市資料庫中的基礎實體數據結構。 語意元數據層藉由提供維度、量值、階層、匯出計量和聯結等高層級對象,簡化存取。 高階物件會使用商務分析師熟悉的商務詞彙,並對應至數據倉儲或數據超市中的實體數據結構。
小提示
某些 BI 工具具有語意層,可簡化企業使用者存取數據倉儲或數據超市中的實體數據結構。
在數據倉儲移轉中,您可能會被迫變更數據行或數據表名稱。 例如,Oracle 允許 # 數據表名稱中的字元,但 Azure Synapse 只允許 # 做為數據表名稱前置詞來表示臨時表。 在 Oracle 中,臨時表不一定在名稱中有 “#”,但在 Synapse 中,它們必須。 在某些情況下,您可能需要進行一些重新處理來變更數據表對應。
若要達到多個 BI 工具的一致性,請使用位於 BI 工具和應用程式和 Azure Synapse 之間的資料虛擬化伺服器來建立通用語意層。 在數據虛擬化伺服器中,針對維度、量值、階層和聯結等高階物件使用通用數據名稱。 如此一來,您只需設定一次所有配置,包括計算欄位、聯結和映射,而不是在每個工具中重複設定。 然後,將所有 BI 工具指向資料虛擬化伺服器。
小提示
使用數據虛擬化來建立通用語意層,以確保 Azure Synapse 環境中所有 BI 工具的一致性。
透過資料虛擬化,您會取得所有 BI 工具的一致性,並中斷 BI 工具和應用程式與 Azure Synapse 中基礎實體數據結構之間的相依性。 Microsoft合作夥伴 可協助您在 Azure 中達成一致性。 下圖顯示數據虛擬化伺服器中的一般詞彙如何讓多個 BI 工具查看常見的語意層。
結論
在 Lift and Shift 數據倉儲遷移中,大部分報表、儀錶板和其他視覺化都應該能輕鬆遷移。
從舊版環境移轉期間,您可能會發現舊版數據倉儲或數據超市數據表中的數據會儲存在不支援的數據類型中。 或者,您可能會發現舊版資料倉儲視圖,其中包含 Azure Synapse 中沒有對應的專有 SQL。 若是如此,您必須解決這些問題,以確保成功移轉至 Azure Synapse。
請勿依賴使用者維護的文件來識別問題所在位置。 相反地,請使用 EXPLAIN 語句,因為它們是識別 SQL 不相容的快速務實方式。 重新處理不相容的 SQL 語句,以在 Azure Synapse 中達成對等的功能。 此外,使用自動化元數據探索和譜系工具來瞭解相依性、尋找重複的報告,以及識別依賴過時、可疑或不存在數據源的無效報表。 使用譜系工具來比較譜系,以確認在舊版數據倉儲環境中執行的報表在 Azure Synapse 中產生的方式相同。
請勿移轉您不再使用的報表。 BI 工具使用方式數據可協助您判斷哪些報表未使用中。 針對您想要移轉的報表、儀錶板和其他視覺效果,移轉所有使用者、使用者群組、角色和許可權。 如果您使用商業價值來推動報表移轉策略,請將報表與策略商務目標和優先順序產生關聯,以協助識別報表深入解析對特定目標的貢獻。 如果您是逐個數據集市移轉,請使用元數據來確定哪些報表依賴於哪些數據表和檢視表,以便能夠明智地決定應該先移轉哪些數據集市。
小提示
儘早識別不相容,以測量移轉工作的程度。 移轉您的使用者、群組角色和許可權指派。 僅移轉那些正在使用且對商業價值有貢獻的報表和視覺化內容。
數據倉儲或數據超市的數據模型結構變更可能在移轉期間發生。 請考慮使用資料虛擬化來防護 BI 工具和應用程式免於結構變更。 透過資料虛擬化,您可以使用通用詞彙來定義通用語意層。 通用語意層保證在新的 Azure Synapse 環境中,跨所有 BI 工具和應用程式,一致的通用數據名稱、定義、計量、階層和聯結。
後續步驟
若要深入瞭解將 SQL 問題降至最低,請參閱本系列中的下一篇文章: 將 Oracle 移轉的 SQL 問題降至最低。