譯者 | 晶顏
審校 | 重樓
據Gartner數據顯示,不良數據每年給企業造成1290萬美元的損失。因此,數據領導者幾十年來一直在為他們的商業智能(BI)和分析尋找單一的事實來源,以確保每個人都基于相同的數據和定義做出業務決策。
為了使數據保持一致性,BI提供商引入了語義層的概念,即在用行、列和字段名描述的原始數據之間的抽象層,只有數據專家才能理解,并為業務用戶提供見解。語義層隱藏了數據的復雜性,并將其映射到業務定義、邏輯和關系。它允許業務用戶使用收入和利潤等標準術語進行自助分析。
語義層激增
如今,BI工具及其相關的語義層激增,證實了語義層是一個備受歡迎的發展趨勢。上世紀90年代,BusinessObjects在SAP BusinessObjects中構建了第一個輕量級語義層。問題在于,早期的BI套件(如businessojects)是單一的,且用戶界面不是特別友好。失望的用戶轉而采用了Tableau、Power BI和Looker,因為它們的易用性得到了提高。今天的問題是,這些工具已經在組織中不斷發展和演變,粉碎了所有關于單一真相來源的希望。
現在,組織的不同部分使用不同的BI、分析和數據科學工具,創建獨特的數據定義、維度、度量、邏輯和上下文。獨立的團隊也分別管理他們自己的語義層。這將導致用戶組之間在數據解釋、業務邏輯和定義方面的差異,從而對來自數據的報告和情報產生不信任情緒。
此外,這種不一致性也經常導致團隊之間的混亂。例如,活躍客戶是否為您的服務購買了持續付費訂閱?或者是最近七天內登錄過的人?或者有人已經注冊了七天免費試用?不一致的定義會影響財務團隊的計費目的,影響續訂團隊的客戶識別,影響處理和準確報告銷售產品的操作。
數據倉庫中語義層的興起
或許是覺得數據環境還不夠復雜,數據架構師開始在數據倉庫中也實現了語義層。架構師可能會認為他們管理的數據資產是所有用例的唯一真實來源。然而,通常情況并非如此,因為數以百萬計的非規范化表結構通常不是“業務就緒”(business-ready)的。當語義層嵌入到各種倉庫中時,數據工程師必須通過設計和維護數據管道來將分析用例與數據連接起來,通過轉換生成“分析就緒”(analytics-ready)的數據。
如果沒有一致的語義層,數據工程師就會在他們專門構建的管道中硬編碼語義,以支持他們的數據消費者。語義含義(定義)將很快變得靜態和不靈活,使得集中式架構團隊難以跟上不同工作組特定領域的需求。隨著規模的擴大,代碼會變得難以管理和不一致。這種方法會導致延遲和依賴,從而阻礙基于數據的決策。
本地化的語義層進一步擴展
更大的挑戰是,隨著數據倉庫遷移至云端,用戶查詢可能變得非常緩慢。緩慢的性能迫使業務用戶提取數據并將其加載到他們首選的分析平臺中,以便實現更輕松地操作和更快地查詢,從而在本地化的語義層中進一步擴展語義。
在今天的大多數情況下,在數據堆棧周圍都有一些語義層——云數據倉庫中有一些,轉換管道中有一些,每個BI工具中都有一些。由于數據工程師每次設計新的數據管道時都要重新創建常見的業務概念(例如,逐年預測或貨幣轉換),這種語義蔓延造成了極大的效率低下。每當需要回答涉及不同數據定義或業務邏輯的新業務問題時,數據團隊都需要不斷地重新創建散布在各種語義層中的公共業務概念,這種重復性的工作不僅浪費時間和資源,還會導致數據團隊產生倦怠情緒。
創建通用語義層
我們需要的是一個通用的語義層,為所有可能的數據體驗定義所有指標和元數據:可視化工具、面向客戶的分析、嵌入式分析和人工智能代理。使用通用語義層,業務中的每個人都同意“客戶”和“潛在客戶”等術語的標準定義集,以及數據之間的標準關系(標準業務邏輯和定義),因此數據團隊可以構建一個一致的語義數據模型。
通用語義層位于數據倉庫之上,為各種數據應用程序提供數據語義(上下文)。它可以與轉換工具無縫協作,允許企業定義指標、準備數據模型,并將其公開給不同的BI和分析工具。
為了構建通用語義層,數據團隊必須首先建立業務邏輯、運算和上下文,這些都將進入語義數據模型。他們首先要了解業務需要解決的實際問題,收集必要的數據,然后對數據之間的關系進行編碼,并定義治理和安全策略,以啟用可信訪問。之后,他們使用元數據在數據上構建抽象層,以便向下游數據消費者一致地公開維度、層次結構和運算。
一旦建立了底層數據和語義,通用語義層必須與數據消費者集成,例如生成式AI、BI、電子表格和嵌入式分析。Cube Cloud是一個通用的語義層平臺,提供了大量預構建的集成和強大的API套件,因此企業可以一次建模數據并將其交付到任何地方。它還提供了大量開發人員工具,使協作和構建數據模型、設置緩存和預聚合以及維護數據訪問控制變得更加容易。
通用語義層的好處
有了通用語義層,數據團隊就有了更多的治理和控制權,如果實施得當,終端用戶可以從數據中獲得更多價值,減少團隊之間的誤解。這提高了效率,并確保所有數據消費場所都使用相同的、準確的數據。因此,無論數據是由查看儀表板的人使用,還是由向某人提供問題答案的大型語言模型使用,數據都是一致的。
所有這些都使得數據團隊可以更輕松地將數據快速交付給他們在內部和外部工作的各種消費者。數據團隊可以輕松地更新或定義新的度量標準,設計特定于領域的數據視圖,并合并新的原始數據源。他們還可以執行治理策略,包括訪問控制、定義和性能。
另一個好處是:隨著數據量的激增,云計算的成本也在飆升。通用語義層通過預處理或預聚合數據、存儲常用的業務指標并將其用作分析的基礎來解決這個問題,從而降低了云數據費用。通用語義層還在企業范圍的數據上提供了異常高的性能和低延遲,加快了用戶查詢的速度。
結語
我們需要一個通用的語義層來支持下一代數據驅動的應用程序,并接受這樣一個現實:將有許多不同的工具來可視化和使用這些數據,以及存儲這些數據的許多不同數據源。最后,通用語義層可以為企業指標創建一個單一的事實來源,為決策者提供他們需要的數據,以獲得一致、快速和準確的答案。
原文標題:Overcoming data inconsistency with a universal semantic layer,作者:Artyom Keydunov