解構現代資料棧之資料整合

danny_2018發表於2022-11-23

現代資料棧是雲原生應用程式的集合,它們作為企業資料基礎架構的基礎,成為組織處理資料的事實標準。就像工業價值鏈一樣,現代資料棧包含不同的元件,所有元件都相互關聯。在之前的部落格中對現代資料棧進行了高階概述,但每個元件都值得詳細關注。讓我們從頭開始:資料整合。這篇部落格將透過回答以下問題來總結資料整合的主要方面:

• 什麼是資料整合?

• 資料整合的例子有哪些?

• 將資料整合到統一目的地有什麼好處?

• 如何整合資料?ETL 與 ELT

• 資料整合有哪些不同的儲存選項?

• 為什麼資料可觀測性在資料整合階段至關重要

什麼是資料整合?

隨著企業生成和收集的資料量繼續呈指數級增長,公司需要整合這些資料以使其有意義。有效的資料整合意味著從不同來源(如基於雲的應用程式、生產資料庫、實時資料饋送等)提取資料,並建立一個集中、統一的資訊檢視。

資料整合技術:ETL 與 ELT

我已經在這篇部落格[1]中討論了這兩種技術之間的區別。ETL(提取、轉換、載入)和 ELT(提取、載入、轉換)是兩種最流行的資料整合技術,用於將資料傳輸到統一的目標,如資料庫、資料倉儲、資料湖或資料倉儲.

正如我在之前的部落格[2]中提到的,由於本地儲存解決方案的成本很高,因此首選 ETL 方法。將未轉換的資料載入到這些倉庫的成本太高,導致組織在提取資料後立即進行所需的資料轉換。然而隨著雲端計算的興起,儲存變得便宜得多。因此無需在將資料載入到倉庫之前執行更改。讓我們更詳細地介紹這兩種不同的技術。

ETL 資料整合

ETL 是一種資料整合技術,其中資料從源系統中提取、轉換並載入到統一的目標中。在雲資料倉儲興起之前,ETL 是首選方法。然而由於 ETL 的多重缺點,ETL 很快被放棄並被 ELT 取代。ETL 的缺點可能如下:

• 由於只有轉換後的資料儲存在目的地,因此組織需要事先知道他們將如何使用資料來進行適當的修改。修改這些要求可能非常耗時且成本高昂。

• 在過去幾年中,資料量和資料需求急劇增長。不幸的是許多 ETL 流程無法擴充套件以適當匹配這些重負載。在處理大量資料時,一些常見的錯誤是載入不相關的資料和由於 CPU 不足和序列資料處理而不是並行資料處理而導致的瓶頸。

• 在 ETL 中,管道一次提取和轉換資料,一旦資料來源中的模式發生變化,就會中斷。例如當一個欄位被刪除時。這會損害轉換資料所需的程式碼,並且必須由資料工程師重新編寫。

• 將大量原始資料載入到儲存中時,資料安全性可能會成為一個問題。管理使用者對儲存在資料倉儲中的原始資料的訪問對於應對這一挑戰至關重要。

• 由於資料以最少的處理方式儲存,因此可能需要額外的步驟來確保您遵守領先的安全協議,包括 GDPR 和 HIPAA。

ELT 資料整合

ELT 是一種資料整合方法,其中資料從源系統中提取,載入到目標系統,然後根據組織的需要進行轉換。這種方法的核心特點是資料在整個提取和載入階段保持不變,使團隊始終可以訪問原始的原始資料。這種方法的主要優勢在於,隨著組織內資料的需求和用途發生變化,可以使用儲存系統中可用的可隨時訪問的原始資料相應地重新轉換資料。除了避免組織在將資料載入到倉庫之前瞭解資料需求的困難之外,ELT 還為資料工程師提供了更多的資料分析自主權,因為他們無需修改管道來重新轉換資料。

資料整合有哪些不同的儲存選項?

今天有多種資料儲存選項可用。資料整合的挑戰之一是評估選擇是什麼,請記住每種技術都是不同的,旨在滿足不同型別的資料儲存和處理要求。讓我們詳細介紹三種最常見的資料儲存選項。

• 資料倉儲。資料倉儲可以定義為用於儲存和分析來自不同來源的大量資訊的資料儲存庫。最重要的是,資料倉儲通常用於商業智慧和資料分析。這是因為資料倉儲已針對跨大型結構化資料集執行分析進行了最佳化。如果組織不需要管理非結構化資料,這是上上選。

• 資料湖。資料湖是用於儲存大量非結構化資料的系統,其中未定義資料的用途。該解決方案以較低的成本儲存大量資料。然而這是以進行有效和快速分析的可能性為代價的。因此如果目標是儲存大量未定義用途的非結構化資料,那麼將資料整合到資料湖中可能是上上選。

• Lakehouse。Lakehouse是一種新的儲存架構,它結合了資料倉儲的資料管理功能和資料湖的靈活性和較低的成本。如果組織將受益於資料倉儲和資料湖的功能,這將是上上選。

如何選擇資料整合工具?

市場上有幾種不同的資料整合工具。可能很複雜,並且可能取決於許多不同的變數。讓我們簡要介紹一下在選擇資料整合工具時需要考慮的一些事項:

• 資料聯結器質量

• 開源與專有:兩者之間的選擇可能很複雜。專有軟體是指公司擁有的軟體。另一方面開源是指任何人都可以訪問和修改的軟體。這意味著開源聯結器適用於更大範圍的資料來源,但專有聯結器通常質量更好。

• 標準化模式和規範化:來自 API 的資料未標準化。規範化可最大限度地減少重複資料、簡化查詢並避免資料修改問題。相反,標準化確保資料在內部是一致的。

• 支援來源和目的地。確保選擇的資料整合支援使用的源和目標非常重要。

• 自動化。一般來說,好的資料工具應該總是儘量減少人工干預。資料整合工具應具有自動架構遷移、自動調整 API 以及快速高效地攝取、複製和交付資料的功能。

• 安全性和合規性。如上所述,必須瞭解選擇的工具如何符合現行法規。

• 用例。需要使用資料整合工具完成哪些工作?資料整合工具可用於資料建立、資料管道、虛擬化、清理、發現、實時等。因此瞭解需求對於選擇正確的資料整合工具至關重要。

• 易用性。包含在資料棧中的任何工具都應該易於學習和直觀。

為什麼資料可觀測性在資料整合階段至關重要

將資料從源頭轉移到目的地是資料工程師工作的關鍵部分,它使公司能夠獲得一系列好處,例如:在組織中建立單一的事實來源,降低安全和運營風險,獲得轉變資料的能力資料具有相同的工具和方法等。但是資料質量問題可以並且經常在這個關鍵階段實現。當從外部系統提取資料時,團隊對這個外部系統在做什麼是視而不見的。因此無法控制這些外部系統何時更改 API 或模式。而且作為這些不同來源的消費者,必須知道什麼時候發生了變化,因此需要這種可見性,因為資料整合是起點。而且如果沒有足夠快地注意到一些異常情況,那麼不良資料最終會與其餘資料一起出現。因此從一開始到資料可觀測性,確保整個資料傳輸過程中的資料可靠性至關重要。

要採取預防性方法並在資料進入消費之前從源頭檢測問題,需要資料血緣。簡而言之,資料從一側到達,從另一側傳出。因此如果在資料生命週期的任何階段檢測到錯誤,需要知道問題出在哪裡。這是確保在遇到問題時能夠迅速做出反應的方法。

讓我們透過一個實際的例子。資料整合中非常常見的一個用例是嘗試全面瞭解客戶。組織與其客戶的每個接觸點都分佈在十多種不同的 SaaS 服務中——產品資料庫、支付資料庫、支付處理器等等,需要集中所有資料來源。但是由於有很多來源,因此出錯的可能性很高。如果沒有適當的資料可觀測性和血緣,那麼將看到異常而不知道它們來自哪裡。所以要解決這些問題,資料工程師需要花很多時間去排查問題出在哪裡,才能最終排除故障。對於資料工程師來說,這可能會浪費大量時間,他們大部分時間都忙於除錯,而不是從事創造價值的活動。因此訪問良好的資料血緣至關重要,因為它可以快速進入上游並檢查哪裡出了問題,從而使團隊能夠立即恢復。

結論

資料整合工具使企業能夠透過打破資料孤島來充分發揮其潛力。透過資料整合,公司能夠將最重要的資訊整合到一個地方,從而提高效率和生產力。資料整合對於組織建立單一事實來源、降低安全和運營風險以及保持資料一致性至關重要。雖然整合來自多個不同來源的資料可以使組織能夠做出成功的業務決策,但它也可能導致資料質量不佳。如果從資料整合階段開始的資料問題沒有得到迅速解決,它們將使組織的所有資料變得不可靠。出於這個原因,在現代資料棧的這個階段已經擁有良好的資料可觀測性實踐是至關重要的。

來自 “ ApacheHudi ”, 原文作者:小漫;原文連結:https://mp.weixin.qq.com/s/GJ86FNA2ye7ZbID4bN_t1Q,如有侵權,請聯絡管理員刪除。

相關文章